
Sommaire
Introduction
Après avoir vu comment installer et configurer Proxmox, nous allons voir comment sauvegarder nos machines virtuelles !
Proxmox dispose de sa propre solution de sauvegarde open source et elle se nomme Proxmox Backup Server. Elle permet entre autre de sauvegarder et restaurer des machines virtuelles, des conteneurs, des hôtes physiques. Il prend en charge également les sauvegardes incrémentielles, la déduplication, la compression et le chiffrement authentifié, l’exportation des sauvegardes sur bandes, la synchronisation à distance, etc.
Cette solution est utilisable de plusieurs façons, soit en bare-metal, en machine virtuelle sur un NAS par exemple ou même directement sur votre serveur Proxmox en tant que machine virtuelle. C’est la dernière solution que nous allons voir.
Configuration du NAS Synology
Je possède un NAS qui servira de datastore pour stocker les sauvegardes
Je vais donc créer un partage « Backup » sans activer la corbeille.

Comme je vais utiliser le protocole SMB (qui est déjà activé), je configure les permissions pour autoriser seulement un utilisateur spécifique à avoir accès. Vous pouvez configurez également le protocole NFS si vous le voulez.

Installation de Proxmox Backup Server
Nous devons nous procurez l’ISO pour l’envoyer dans Proxmox.
Voici le lien pour télécharger l’ISO de Proxmox Backup Server : https://www.proxmox.com/en/downloads/proxmox-backup-server/iso
La prochaine étape est donc la création de Proxmox Backup Server sur l’hyperviseur Proxmox.

On ajoute l’ISO à la machine virtuelle et le type Linux en Guest OS

Choix des configurations systèmes

Configuration du stockage

Configuration du CPU

Allocation de la mémoire

Choix des paramètres réseaux

Un ultime résumé avant la création

Et on peut démarrer la machine
Sur la console d’administration, on choisit « Install Proxmox Backup Server (Graphical) »

On accepte les CGU

Sélection du disque d’installation pour le système

Choix de la localisation et de la Timezone

Sélection d’un mot de passe administrateur

Configuration du réseau

Un récapitulatif est visualiser, puis on installe le serveur


On peut maintenant se connecter à l’interface graphique sous cette URL : https://votre-ip:8007

Configuration du partage « Backup » dans PBS
En CLI sur votre serveur psb, nous allons ajouter le partage « Backup » en tant que point de montage qui sera notre repository avec le protocole SMB.
Vous pouvez accéder à la CLI de votre serveur dans l’onglet Administration > Shell

Nous allons créer un dossier qui monter le partage
mkdir /mnt/backup
Pour monter le partage manuellement en ligne de commande :
mount -t cifs -o username=youruser //192.168.1.201/Backup /mnt/backup
On saisit le mot de passe et on vérifie que le périphérique est bien monté avec la commande suivante :
df -h

Le problème de cette solution est qu’à chaque redémarrage, le montage ne se fera pas automatiquement.
Nous allons donc devoir le rendre persistant en éditant le fichier /etc/fstab
Pour plus de sécurité nous allons créer un fichier qui ne comprend que les credentials, accessible uniquement par l’utilisateur root.
Pour créer et éditer le fichier
nano /home/root/.cred
Le contenu du fichier :
username=youruser
password=yourpassword
Pour ne donner les droits que à l’utilisateur root :
chmod 600 /home/root/.cred
On édite le fichier qui permet d’ajouter les lecteurs montés automatiquement :
nano /etc/fstab
Et on ajoute cette ligne (à adapté selon votre environnement)
//192.168.1.201/Backup /mnt/backup cifs credentials=/home/root/.cred 34 34
34 fait référence à l’UID et le GUID de l’utilisateur « backup » nécessaire pour réaliser les sauvegardes. Vous pouvez adaptez les ID suivant le retour de cette commande :
id backup

Ensuite, on redémarre systemctl et on monte le lecteur
systemctl daemmon-reload
Pour monter les partages dans le fichier fstab, il suffit d’exécuter la commande suivante :
mount -a
On peut toujours vérifier la bonne exécution avec la commande df -h

Ajout d’un datastore vers le NAS
Le lecteur « Backup » est dorénavant monté. Nous allons maintenant créer, sur l’interface graphique, le Datastore à la solution de sauvegarde.
On se rend dans l’onglet Datastore :

Puis on insère le point de montage du NAS

Et je saisi des options, dans ce cas je souhaite qu’il conserve le dernier instantané, les 3 dernières sauvegardes journalières et les 2 dernières sauvegardes mensuelles.

Voilà, notre Datastore est ajouté !
Nous avons plusieurs onglets qui permettent de suivre les statistiques, les jobs effectués, etc.

Création d’un compte dédié à la sauvegarde
Pour continuer dans les bonnes pratiques de sécurité, il est recommandé de ne pas utiliser le compte root pour effectuer les sauvegardes.
Dans Configuration > Access Control, je clique sur « Add » puis je crée un utilisateur, dans mon cas il se nommera « proxsave »

J’autorise cet utilisateur dans ma banque de données dans l’onglet Permissions en lui attribuant le rôle « DatastoreAdmin »

Dernière étape, on récupère le fingerprint qui nous sera utile pour se connecter au serveur de backup depuis l’hyperviseur.
On peut, sur la page « Dashboard », sélectionner « Show Fingerprint » pour avoir la valeur de ce dernier.

Configuration des sauvegardes
Connexion avec le serveur de sauvegarde
De retour sur l’hyperviseur Proxmox, nous allons faire une jonction avec le serveur de sauvegarde. Pour cela, nous allons nous rendre dans l’onglet « Datacenter » puis « Storage », sélectionner « Add » et enfin « Proxmox Backup Server »
On renseigne les différentes informations de connexion demandées

Le second onglet « Backup Retention » a déjà été configuré dans le PBS, et vous avez également la possibilité de chiffrer vos données dans l’onglet « Encryption » si vous le souhaitez

Le stockage pbs est ajouté !

Sauvegarde manuelle de machine virtuelle
Il est possible d’effectuer une sauvegarde manuelle d’une machine virtuelle, dans l’onglet « Backup » de cette dernière.
Je sélectionne « Backup now »

Je choisi mon storage « pbs »

L’événement TASK OK signifie que la sauvegarde s’est correctement déroulée

Création des jobs automatisés de sauvegarde
Afin d’éviter à avoir à faire les sauvegardes manuellement pour chaque machine virtuelle, je vais créer des jobs de backup qui travailleront automatiquement.
Cela se configure dans l’onglet « Datacenter » puis « Backup » et je sélectionne « Add »

Ensuite, j’ajoute plusieurs jobs :
- 1 hebdomaire
- 1 mensuel
- 1 annuel

Voici un exemple pour le job hebdomadaire :

Votre environnement est désormais protégé !
Restauration des sauvegardes
Pour restaurer les sauvegardes, c’est très simple.
Vous pouvez consulter le volume de donnée dans l’onglet à votre gauche et sélectionner « Backup » ensuite. Les sauvegardes existantes seront affichées.

Dans mon exemple, je n’ai que celle que j’ai effectué tous à l’heure.
Je peux décider de faire de la restauration de fichier uniquement, ou restaurer entièrement la machine virtuelle à l’aide de l’option proposée en haut.
Je sélectionne « Restore » pour restaurer l’entièreté de la VM. Je sélectionne le volume de stockage, et je peux modifier à mon aisance certains paramètres tels que le nom, le CPU, etc.

Une fois la restauration terminée, une fenêtre de confirmation d’état s’affiche.

Je peux constater que la VM « pfsense-restored » a bien été créé.

Conclusion
Grâce à ce tutoriel, nous avons vu comment mettre en place Proxmox Backup Server pour sauvegarder et restaurer facilement vos machines virtuelles, conteneurs et hôtes physiques Proxmox. En configurant un NAS Synology comme repository final et en créant des jobs de sauvegarde automatisés, nous disposons désormais d’une solution de sauvegarde robuste et complète. En cas de perte de données, vous pouvez facilement restaurer vos machines virtuelles à partir des sauvegardes stockées sur votre NAS.