TrueNAS et backup sur Scaleway S3

TrueNAS et backup sur Scaleway S3
Photo by Taylor Vick / Unsplash

Cela faisait un moment que je cherchais une solution pour faire un backup de mes données en externe.

L'idée de cold storage chez Amazon ou autre me tentait bien, mais je voulais quelque chose de bon marché et assez local (c'est relatif sur internet on est d'accord, mais supportons les hébergeurs de chez nous!). Je regardais donc Infomaniak et Scaleway qui les deux sont en Europe et pas hors de prix.

Mon but est de faire du cold storage (S3 glacier ou deep glacier) car je ne prévois pas de lire ces données (sauf en cas de dernier recours). Du coup le stockage longue durée le moins cher est parfait pour mon utilisation.

Scaleway étant le moins cher pour ça, il a gagné pour ce round! Maintenant il ne restait plus qu'à tout configurer et pas désespérer.
J'avais déjà expérimenté avec unraid et quelques paquets faits pour, mais l'expérience était très décevante pour plein de raisons. J'avais donc abandonné l'idée. Étant repassé sous TrueNAS il y a quelques mois, j'ai décidé de retenter l'expérience. Et vous allez voir, c'est très simple!

Scaleway et les seaux

Première étape: aller sur la console Scaleway et créer un bucket sous Object Storage.

Puis créez votre nouveau bucket:

Donnez-lui un nom, choisissez votre région de prédilection et laissez la visibilité en privé.

Une fois ce bucket instancié, allez dans vos paramètres de compte sous Identifiants.

Sous Clés API générez une nouvelle clé et notez la clé et le secret. On va en avoir besoin plus tard.

Voilà pour la partie Scaleway. On peut maintenant passer à TrueNAS.

TrueNAS

Dans TrueNAS nous allons effectuer 2 tâches. La première consiste à enregistrer vos identifiants de Scaleway, et la seconde à créer les tâches de backup.

Création des accréditations cloud

Connectez vous à votre interface TrueNAS puis allez dans System-> Cloud Credentials

Cliquez ensuite sur Add en haut à droite. Vous allez avoir l'interface suivante:

Cochez directement Advanced Settings vous allez en avoir besoin.
Le provider sera Amazon S3 car on va utiliser le protocole S3. Les Access Key et Secret Access Key sont les Clé d'accès et Clé secrète que l'on a généré dans Scaleway. Dans Endpoint URL et Region vous devez choisir les urls suivantes en fonction du lieu de votre bucket:

Pour finir: ne cochez PAS les deux options Disable Endpoint Region, et Use Signature Version 2. Celles-ci vos donneront une erreur 403 lors de l'upload.

Cliquez sur Submit pour enregistrer la configuration.

Maintenant, on va créer la(les) tâche(s) de copie.

Cloud Sync Tasks

Dernière étape: la création de vos tâches de backup.

Allez dans Cloud Sync Tasks et appuyez sur le bouton Add. L'interface suivante sera affichée. (J'ai déjà prérempli pour vous donner un exemple, mais je vais vous expliquer ce qui est quoi).

Commençons par le haut. Il vous faut remplir la description (que vous sachiez ce que cette tache sauvegarde), puis définir la Direction que l'on va mettre à push dans notre cas pour sauvegarder ce NAS sur l'instance S3. Le mode de transfert défini comment le système va se comporter. Par défaut il est en mode COPY qui écrase les fichiers déjà existants, mais ne supprime pas les fichier qui n'existent plus. Ensuit vous devez sélectionner le dossier a copier. Pour l'exemple, j'ai pris /mnt/Backups2m/urBackup/clients.
Passons à la partie REMOTE. Ici vous allez selectionner les credentials que nous avons enregistrés précédemment, et si tout fonctionne, dans le menu déroulant Bucket vous verrez le bucket que vous avez créé au début (ici tuto-ghost). Pour finir, vous pouvez sélectionner le dossier du bucket dans lequel vous allez écrire votre sauvegarde (j'ai pris /tuto_ghost).

Pour résumer pour l'instant: Nous avons défini une nouvelle tâche, qui va copier les fichiers de /mnt/Backups2m/urBackup/clients vers le dossier /tuto_ghost du bucket tuto-ghost que l'on a créé chez Scaleway.

La suite n'est pas très compliquée: le menu Schedule permet de définir une répétition de cette tâche (tout les jours ou tout les mois ou...) et le bouton enable permet d'activer la répétition.

Pour finir les Advances Options. Ici je vous laisserai au soins de la documentation pour les options avancées. Mais quelques options sont nécessaires pour nous: Premièrement l'option Storage Class va nous permettre de définir le type de stockage S3 de notre sauvegarde: GLACIER. Cela va donc mettre nos fichiers dans un S3 de type GLACIER qui est du stockage longue durée en général bon marché.

Pour finir, option qui est importante, car on va stocker des fichiers pas chez nous: le chiffrement. Pour ma part, je chiffre tout: le nom du fichier et son contenu. (Remote Encryption et Filename Encryption). Définissez un mot de passe et un salt (gardez les dans un endroit sûr, il vous les faudra pour récupérer vos données. Ne les laissez pas sur le NAS, en cas de catastrophe il ne vous restera plus rien!! Mettez les dans Bitwarden ou une solution concurente ou dans un coffre a la banque. Bref, c'est important!)

Et voilà, il ne vous reste plus qu'à appuyer sur submit pour sauvegarder vos réglages.

Ouvrez en suite votre configuration en appuyant sur la flèche de droite, puis appuyez sur Run Now pour lancer la copie. Si tout est paramètré correctement, une icone verte s'affichera.

Et voilà. Un moyen de mettre vos données à l'abri à l'extérieur de votre système et de votre maison. Ceci n'est qu'une sauvegarde parmis d'autres que vous devriez faire. Vous n'avez par exemple pas de moyen de récupérer un fichier modifié par ce moyen. Le but ici est de ne pas utiliser trop de stockage mais d'avoir une copie complète de vos données.

Si vous avez des remarques, ou des question sur la solution, n'hésitez pas a commenter ci-dessous.

Merci pour votre lecture, et bonnes sauvegardes!