people space apple industry

Sauvegarde Proxmox sur stockage S3 Scaleway

Si vous souhaitez mettre en place un espace de stockage pour vos sauvegardes de machines virtuelles (sous Proxmox), il n’est pas obligatoire de passer par un Proxmox Backup Server ou de configurer une nouvelle machine pour y faire un serveur NFS par exemple.

(Proxmox Backup Server est d’ailleurs un très bon outils que je vous recommande si vous avez la possibilité d’en mettre un en place)

La solution choisie est d’utiliser un stockage S3 (ici chez Scaleway). Vous pouvez d’ailleurs utiliser cette méthode avec d’autres fournisseurs compatibles S3 et effectuer vos sauvegardes sur différentes plateformes #multicloud. Le logiciel S3fs va être utilisé ici comme client S3.

Création et configuration du Bucket

Rendez-vous dans la console Scaleway puis cliquer sur Object Storage dans la section Stockage. Cliquez ensuite sur Créer un bucket. Indiquez les éléments suivant (exemple) :

  • Nom : pve-s3-scw
  • Région : Paris
  • Visibilité du bucket : privé

Vous obtenez ensuite votre bucket :

Il faut maintenant créer une clef API depuis le menu Identifiants (sous votre nom d’utilisateur). Cliquez sur Générer une nouvelle clé API puis indiqué un nom (pve-s3-scw) et validez.

Notez bien la clé d’accès et la clé secrète générées.

 

Configuration sur Proxmox VE

Les étapes suivantes sont à faire sur chacune des nodes de votre cluster Proxmox. Si vous n’avez qu’un seul serveur sans cluster, cela fonctionne de la même manière.

Installation S3fs

L’installation est classique et S3fs est disponible dans les paquets officiels de Debian :

# apt install s3fs

Configuration et montage du bucket

Pour pouvoir monter le bucket il faut créer un fichier (passwd-s3fs) dans lequel placer les identifients API (en remplaçant ACCESS_KEY_ID et SECRET_ACCESS_KEY par vos clés ) et lui donner des droits restreints :

echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > /etc/passwd-s3fs
chmod 600 /etc/passwd-s3fs

Il faut ensuite créer le point de montage sur le serveur :

mkdir /mnt/pve-s3-scw

Le montage se fait via la commande s3fs suivi de différentes options pour spécifier le serveur Scaleway et le fichier d’identifiants (rajoutez les options -o dbglevel=info -f -o curldbg si vous rencontrez des problèmes).

s3fs pve-s3-scw /mnt/pve-s3-scw -o passwd_file=/etc/passwd-s3fs -o url=https://s3.fr-par.scw.cloud/

On peut vérifier la présence du point de montage de type s3fs avec la commande pydf

Filesystem       Size Used Avail Use%            Mounted on         
rpool/ROOT/pve-1 321G 169G  152G 52.6 [####....] /                  
/dev/fuse         30M  60k   30M  0.2 [........] /etc/pve           
s3fs             256T    0  256T  0.0 [........] /mnt/pve-s3-scw
rpool            152G 128k  152G  0.0 [........] /rpool             
rpool/ROOT       152G 128k  152G  0.0 [........] /rpool/ROOT        
rpool/data       152G 128k  152G  0.0 [........] /rpool/data   

Configuration du stockage Proxmox

Une fois que toutes les nodes ont le point de montage configuré de la même manière, il faut se rendre dans la GUI de Poxmox pour configurer le nouveau stockage. Il faut aller dans la partie Datacenter, puis Storage, cliquer sur Add et choisir Directory.

Indiquez un nom (S3-scw), spécifiez le point de montage (/mnt/pve-s3-scw) précédemment créé dans le champs Directory, choisissez VZDump backup file dans la partie Content et cochez l’option Shared.

Vous avez maintenant un nouveau stockage disponible sur votre cluster.

Vous pouvez y placer vos Sauvegardes en configurant un Backup Job comme ceci :

Conclusion

Voici une solution qui vous permet de mettre en place des sauvegardes externalisées de façon simple et rapide. Cette solution de stockage S3 n’est pour l’instant pas compatible avec Proxmox Backup Server (problème d’exclusivité sur les points de montage).

Comme expliqué dans l’introduction, il est possible de monter d’autres stockages de type S3 chez d’autres fournisseurs afin d’avoir des sauvegardes dans différents lieux et pouvoir les restaurer en toute circonstance.

Un exemple de sauvegarde pour une machine virtuelle avec un disque virtuel de 32 Go (6.46 Go le fichier de sauvegarde) en mode stop en 17 minutes :

Voici la vue côté console Scaleway de vos différentes sauvegardes :

La suite ici :

8 réflexions sur « Sauvegarde Proxmox sur stockage S3 Scaleway »

  1. Pas mal, j’ai testé ça marche impecable merci !
    Question cependant : savez-vous comment stocker directement dans glacier plustôt qu’en standard (pour baisser les coûts) ?
    Je voit comment le faire à la main mais en auto avec s3fs ?

  2. Extra votre tutoriel, merci !
    J’utilise la passerelle S3 pour stocker sur Storj, mais l’opération de renommage du fichier de sauvegarde échoue tout à la fin de l’opération. Je suppose que c’est lié à l’implémentation de S3 pour Storj.
    Quelqu’un aurait-il le même souci et trouvé une solution ? (j’ai essayé de connecter via S3FS avec d’autres options (telles que norenameapi), mais sans succès
    Merci !

  3. Hello,

    Super ton article, j’étais super content hier en pouvant backup mes VM dessus 🙂

    Aujourd’hui j’ai voulu faire ça « plus propre » donc j’ai tout supprimé et refait (juste avec des noms différents) et ça ne fonctionne plus 😀
    J’ai testé avec les mêmes noms qu’hier et pareil.

    La partition est bien mount : #pydf
    s3fs 16Z 0 16Z 0.0 [……………………] /mnt/scaleway-bucket

    Mais je ne peux plus écrire dedans : # touch test
    touch: failed to close ‘test’: Input/output error

    Si je trouve la solution, je reviendrais ici ajouter une solution à mon problème 🙂

  4. Comme promis je reviens ici donner ma solution 🙂

    il faut entré un argument supplémentaire pour préciser le endpoint : -o endpoint=fr-par

    Cela donne :
    s3fs pve-s3-scw /mnt/pve-s3-scw -o passwd_file=/etc/passwd-s3fs -o url=https://s3.fr-par.scw.cloud/ -o endpoint=fr-par

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.