Sauvegardes de données sur une Storage box chez Scaleway

J'ai enfin réalisé le rêve de toute une vie d'administrateur-système-du-Dimanche-pluvieux-encore-en-pyjama-pendant-midi : j'ai fait une sauvegarde extérieure 🎉

États des lieux

J'ai un serveur à la maison auquel est relié un disque dur externe où sont stockées les données d'un Nextcloud. Les données sont sauvegardées de façon incrémentielle une fois par semaine sur le nuc qui me sert de serveur.

Parfois je fais des sauvegardes sur un autre disque dur externe.

Ajoutez à ça une sauvegarde (normalement) sur les PC des utilisateurs et utilisatrices des comptes Nextcloud.

Mais depuis longtemps (le début ?!) je ne suis pas serein. En cas de soucis chez moi, je peux perdre tout d'un coup. Et c'est quand même pas mal l'angoisse.

meme pas de système de sauvegardes externes

Travaux

Étant déjà chez scaleway pour des serveurs, je suis allé voir ce qu'il y avait comme solutions de stockage. J'utilise donc Scaleway Object Storage.

J'ai commencé par créer une storage box en allant dans mon espace, puis Object Storage (sous Storage ; c'est bien fait quand même) et j'ai cliqué sur le gros + Create a bucket.

De là, je lui ai donné un petit nom (qui doit être unique, en minuscules etc), j'ai choisi l'endroit (Paris) et j'ai laissé en visibilité privée.

Maintenant que c'est créé, il faut paramétrer.

Pour utiliser la storage box depuis un serveur vous devez créer un jeton d'API. Pour ce faire, dans votre espace perso scaleway :

Gardez les bien sous le clavier pour le moment car vous allez en avoir besoin mais vous n'aurez plus accès à la clé secrète si vous fermez la fenêtre.

Pour utiliser le stockage depuis mon serveur debian j'utilise s3cmd (apt install s3cmd ; vérifiez à avoir au moins la version 2.0).

La configuration est assez sommaire. Vous devez créer le ficher .s3cfg dans votre home et y insérer :

[default]
# Object Storage Region FR-PAR
host_base = s3.fr-par.scw.cloud
host_bucket = %(bucket)s.s3.fr-par.scw.cloud
bucket_location = fr-par
use_https = True

# Jeton API
access_key = <la clé d'accès API générée plus tôt>
secret_key = <la clé secrète API générée plus tôt>

Emménagement

Il ne reste plus qu'à envoyer les fichiers/dossiers depuis votre serveur avec la commande s3cmd vers votre storage box.

s3cmd put slip.zip s3://ma-storagebox

ma-storagebox étant le nom unique que vous avez attribué plus tôt à votre storage box.

L'envoi de plus de 1000 morceaux ne fonctionne pas. Vous devez donc faire attention à faire des envois plus gros en utilisant la commande --multipart-chunk-size-mb=SIZE : s3cmd --multipart-chunk-size-mb=500 put slip.zip s3://ma-storagebox pour des envois de 500mb (par défaut la valeur est de 100mb).

meme envoi super lent

Vous pourrez alors avoir la satisfaction d'avoir vos données sauvegardées une fois de plus, mais cette fois-ci, dans un lieu loin de chez vous. Et vous pouvez aller prendre une douche. Et sortir.

Sources (en anglais) :


Retour maison