Home Assistant / Proxmox : Sauvegarde automatique et snapshot

Suite à l’article Installer Home Assistant avec Proxmox, vous avez une installation fonctionnelle. Vous avez surement ajouté des modules, des plugins ou toute autre personnalisation pour avoir un Home Assistant à votre gout. Il faut savoir que parfois, les choses peuvent mal tourner et rendre votre installation HA inopérante. Dans certains cas, il faudra mettre les mains dans du code YAML pour effectuer des personnalisations, ce qui pourrait rendre votre système domotique instable. C’est là que le fait de faire fonctionner Home Assistant sur une machine virtuelle prend tout son sens.Sauvegarde Home Assistant

Sauvegarde HA ou Snapshot ?

Il y a bien une différence entre ses 2 termes. La sauvegarde va compresser tous les fichiers de votre machine virtuelle et elle permettra de la restaurer complètement, même si la machine virtuelle est supprimée de votre serveur. Le snapshot (instantané en français) n’est pas une sauvegarde. Ce dernier va « figer » votre machine virtuelle. Les données ne sont pas compressées et il ajoute également le contenu de la mémoire ram. La différence et que si votre machine virtuelle est supprimée les snaptshots le sont aussi. Un snapshot peut uniquement être restauré sur la machine virtuelle. Il est aussi recommandé de ne pas garder un snapshot plus de 3/4 jours, car sa taille va grandir.

Quand faire une sauvegarde ou un snapshot ?

Nous allons traiter 2 types de sauvegarde : Home Assistant et VM. Votre système domotique est utile tous les jours. Nous ne sommes pas à l’abri d’un crash système et donc je recommande de faire une sauvegarde tous les jours. Pour les snapshots, c’est différent. Il faut en une faire avant toute mise à jour ou modification importante dans votre Home Assistant. Si c’est juste la création d’un nouveau dashboard Lovelace avec des entités déjà existantes, ce n’est pas forcément utile.

Sauvegarder son Home Assistant vers son NAS

Par défaut Home Assistant possède un système de sauvegarde. Les sauvegardes sont stockées dans HA. Pour moi, ce n’est pas une sauvegarde, car elle n’est pas externalisée. Nous allons devoir installer un module supplémentaire capable de sauvegarder à la fois sur HA et vers votre NAS. Ce module se nomme Samba Backup.
Allez sur Paramètres puis sur Modules complémentaires.

Cliquez maintenant sur Boutique des modules. Sur la nouvelle page, allez tout en haut à droite et cliquez sur les 3 points. Dans le menu, cliquez sur Dépôts.

Dans la fenêtre qui s’affiche, copiez le lien suivant : https://github.com/thomasmauerer/hassio-addons puis sur Ajouter.

Le module ne sera pas tout de suite visible, il faut relancer Home Assistant. Dans le menu de gauche allez sur Outil de développement puis sur le bouton Redémarrer et choisir Redémarrer Home Assistant.

Retournez dans le menu Paramètres puis Module complémentaire. Allez de nouveau sur Boutique des modules complémentaires. En bas de page vous devriez avoir le module Samba Backup.

Nous n’allons pas l’installer maintenant. Nous allons avoir besoin d’un compte sur le NAS pour envoyer la sauvegarde vers celui-ci. La bonne pratique est de créer un compte de service dédié qui servira à cela avec un accès limité à un dossier. C’est ce dossier qui contiendra vos sauvegardes. Si vous en avez déjà un, il vous suffira de créer un nouveau sous-dossier et de mettre les droits en écriture sur celui-ci pour le compte de service.
Je ne vais pas expliquer la création d’un compte ou du dossier, si vous êtes lecteur de Cachem je pense que vous savez déjà faire cela. Voici un exemple de ma structure pour le dossier.

Retournez dans Paramètres puis sur Modules complémentaires et Boutique des modules. Allez sur Samba Backup et cliquez sur installer. Une fois l’installation effectuée, ne démarrer pas tout de suite le plugin, allez sur le menu Configuration.

Dans cette zone, nous allons indiquer dans Host l’IP de notre NAS, pour Share le dossier partagé ou vous souhaitez mettre votre sauvegarde, à Targer directory le sous-dossier. On continue avec l’Username et le Password qui est le compte de service que vous avez créé. Pour Keep local nous allons indiquer le nombre de sauvegardes que l’on souhaite laisser sur le stockage de Home Assistant et pour Keep Remote c’est le nombre de sauvegardes que l’on va garder sur le NAS. On termine par Trigger Time qui est l’heure de la sauvegarde. Vous pouvez aussi choisir les jours.

Vous pouvez activer plus d’options comme changer le nom, ajouter un mot de passe… de votre sauvegarde.


Maintenant que tout est prêt, retournez sur le menu Info. Cliquez sur Démarrer et assurez-vous que le service a bien démarré, depuis le menu aller sur Journal.

Faire un snapshot

Ce mode va être utile, avant de faire une mise à jour de Home assistant, l’installation d’un plugin voire une modification un peu risquée. Comme nous sommes avec Promox, nous allons voir comme le faire avec celui-ci. Allez sur votre interface Proxmox, sélectionnez votre VM. Dans le menu allez sur Instantanés.Cliquez maintenant sur Créer un instantané, indiquez un nom puis cliquez de nouveau sur Créer un instantané.

Le processus démarre, vous pouvez remarquer que la tâche prend moins de 30 secondes. Une fois l’indication TASK OK votre snapshot (instantané) est terminé.Si vous avez besoin de restaurer cet instantané, ou comme on dit dans le milieu de faire un « Rollback« , sélectionnez votre instantané puis cliquer sur Retour en arrière.

Sauvegarder sa machine virtuelle

Il est important de sauvegarder toute la machine virtuelle. En cas de crash système, il sera possible de remettre en place rapidement votre Home Assistant, même sur une autre machine qui hébergerait Proxmox. À noter, que nous n’aborderons pas ici Proxmox Backup Server, mais ce dernier peut également être installé sur un NAS, grâce à VMM, s’il est compatible.

Configuration du NAS

La première étape va être de créer un nouveau dossier partagé sur votre NAS. Je vous conseille de ne pas faire cela dans le même dossier (vu précédemment pour les sauvegardes de Home Assistant). En effet, Proxmox va créer plusieurs sous-dossiers pour lui et ce dossier a besoin d’une option supplémentaire, le NFS. Durant la création du dossier partagé une fois à la dernière étape, cliquez sur Autorisation NFS puis sur Créer.
Indiquez l’IP de votre serveur Promox, laissez les privilèges sur Lecture / Écriture. Pour Squash, on va remplacer par Mapper le root sur admin. On pourrait mettre l’option pas de mappage cela fonctionnerait pour une VM classique, mais si dans l’avenir vous ajoutez des conteneurs LXC avec cette option, vous aurez une erreur et la sauvegarde ne fonctionnera pas. Donc, autant prévoir cela tout de suite. Cochez ensuite les 2 cases puis OK.

Configuration du serveur Proxmox

Sur la vue serveur aller sur Centre de données, dans le menu allez ensuite sur Stockage. Cliquez ensuite sur Ajouter puis NFS.

Indiquez un nom pour votre stockage, puis l’adresse IP de votre NAS, cliquez sur Export. Votre NAS va vous remonter les dossiers partagés qui possède la configuration NFS. Sélectionnez celui que vous souhaitez (celui configuré précédemment). Dans Contenu, sélectionnez ce que l’on va faire avec ce stockage. Vous pouvez en sélectionner plusieurs :
Image disque permet de stocker votre machine sur votre NAS, votre serveur proxmox servira uniquement pour la partie puissance CPU / Ram ;
Image ISO permet de stocker vos ISO de système d’exploitation, par exemple pourbooter dessus lors de l’installation d’un Windows ou d’un Linux ;
Fichier de sauvegarde VZDump c’est ce qui nous intéresse ici, c’est la sauvegarde complète de votre machine virtuelle ;
Conteneur permet de stocker vos LXC.

Allez sur l’onglet Rétention des sauvegardes et définissez le nombre de sauvegarde à garder et combien de temps puis cliquer sur Ajouter.

Votre stockage apparait maintenant dans le menu et les infos de celui remonté dans la vue de droite. Dans le menu vous pouvez visualiser tout ce qui est stocké sur votre dossier partagé.

Nous allons maintenant programmer l’heure de la sauvegarde de nos machines virtuelles. Retournez sur le menu Centre de données, dans le menu allez sur Sauvegarde puis sur Ajouter. Dans Stockage indiquez votre NAS puis dans Programmer, sélectionnez parmi la liste le moment à laquelle sera faite la sauvegarde. Il est dommage de ne pas pouvoir faire une sélection manuelle.

Dans le bas de la fenêtre, sélectionnez les machines virtuelles que vous souhaitez sauvegarder et cliquez sur Créer.Allez maintenant sur la VM que vous voulez sauvegarder. Dans le menu, on sélectionne Sauvegarder et vous aurez un bouton Sauvegarder maintenant. Cela va permettre de faire notre première sauvegarde afin de contrôler le bon fonctionnement.

Restaurer une sauvegarde

Pour la restauration, il faudra que votre machine virtuelle soit éteinte. Dans le même menu (ci-dessus), cliquez sur la sauvegarde que vous voulez restaurer et cliquez sur Restaurer.

Restaurer ses machines virtuelles en cas de crash total de proxmox

Le but des sauvegardes c’est aussi de pouvoir les utiliser en cas de plantage total de notre serveur.

  1. Commencez par installer Proxmox comme nous l’avons vu dans cet article ;
  2. Remettre en place le stockage NFS comme nous l’avons vu précédemment ;
  3. Dans le menu Centre de données puis proxmox cliquez sur votre NAS. Dans le menu allez sur Sauvegardes, puis dans la liste sélectionnez la machine virtuelle désirée et cliquez sur Restaurer. Proxmox va recréer la machine virtuelle et remettre votre sauvegarde ;
  4. Si vous aviez des clés USB sur votre machine virtuelle, il faudra les remettre dans la configuration de celle-ci

  1. Pourquoi ne pas avoir envisagé/proposé l’usage de proxmox backup server (PBS), solution complète et complémentaire plutôt que de faire du « bricolage » ?

    1. Ce n’est pas du bricolage. Pour proxmox backup ca veux dire un nouveau serveur physique donc conso en plus alors que j’ai un nas allumé h24.
      J’ai regardé proxmox backup il fait exactement la même chose uniquement du stockage. Je penser qu’il faisait cluster de vm mais non.

      1. @Sebr proxmox backup fait un peu plus que du simple stockage en réseau, sinon quel intérêt ? https://www.proxmox.com/en/proxmox-backup-server/f...

        @Seb La méthode présenté n’est pas du bricolage. Comme pour toutes choses, ils y a plusieurs solutions, certaines plus complète que d’autres. Mais on a pas forcément besoin de la solution complète, donc pourquoi s’encombrer ?

      2. Je « plussoie » l’idée du Proxmox Backup Server. Pour une « petite » VM comme un HA un compte gratuit là (1) vous donne accès à un compte sur un PBS hébergé par la société Tuxis avec un quota généreux de 150GB…

    2. Là où on pourrait parler de « bricolage » ça serait faire « comme moi »; Une vm sur mon nas avec dedans un PBS qui fait ses backups sur un montage NFS sur le NAS.

  2. Attention a la sauvegarde de la machine virtuelle sous proxmox, j’ai été de mon côté obligé de paramétrer une sauvegarde avec arrêt de la VM car par défaut il fait un instantané en fonctionnement mais mon module teleinfo TIc (conso EDF) ne fonctionnait plus après chaque sauvegarde.
    Je rejoins aussi le commentaire de Seb les paramétrages de sauvegarde intégré dans système sont parfaitement fonctionnel il suffit de paramétrer son nas comme emplacement dans système>stockage réseau.

  3. La sauvegarde intégré à proxmox marche bien, si on a de petites / peu de VM et un seul hyperviseur ça suffit bien.

    En revanche l’avantage de Pbs c’est qu’il gère la sauvegarde incrémentielle, de plus si on a plusieurs serveur proxmox c’est plus pratique et rapide pour le redéploiement.

    Très bon article sinon 🙂

  4. Hello,

    Pourquoi, puisqu’on parle de sauvegarder sur un NAS, aller s’enquiquiner avec un plug-in SMB alors que NFS est utilisable nativement de part et d’autre ???

    1. Oui depuis peu on peut en effet monter un lecteur externe. Cela dit on ne peut pas régler le nombre de sauvegarde à garder.

  5. Pour le snapshot, si vous voulez qu’il soit fait plus rapidement, il suffit d’éteindre la VM, et la durée passera de 30-40 secondes à 2-3 secondes 😉

  6. impossible de créer un instantané. j’ai le message suivant :L’actuelle configuration de l’invité ne prend pas en charge les instantanés

    1. Salut,
      Je viens d’avoir ce message sur ma VM de test, je ne l’avais pas avant. Pas de souci la VM de prod qui est faite exactement pareil je cherche.

    2. Si tu as fait par erreur ta VM sur le Nas tu peux facilement la migrer sur Proxmox. Dans Matériel clique sur le disque et en haut tu fais Action disque => Déplacer le stockage.
      Fait pareil pour le disque EFI.

  7. Je viens de tester le backup avec l’intégration ‘samba backup » et ça marche bien !
    Mais je n’ai pas trouvé la procédure du restore !
    Ou la trouve-t-on ?
    Merci.

    1. Salut,
      Exact pour restaurer il faut le faire depuis HA dans le menu paramètres puis Système puis sauvegarde. Tu pourra voir les dernières backup sinon tu va sur le menu des … et tu fais téléverser une sauvegarde.

  8. Bonjour,
    Merci pour ce très bon tuto.
    Je cherche à sauvegarder/restaurer Proxmox en lui-même, ou au moins son paramétrage.
    PBS permet-il de le faire ?
    Vaut-il mieux installer Proxmox sur une machine Debian plutôt ?
    Quels sont sinon les fichiers à sauvegarder ?

  9. Bonjour,
    Merci pour ce tuto très clair.
    Je me permets de revenir sur la sauvegarde de conteneur LXC.
    Sur mon installation, je n’ai aucun soucis sur ma machine virtuelle Home Assistant par contre sur mon conteneur LXC de Nginx Proxy Manager, j’ai des problèmes de droit malgré le Squash configurer sur « Mapper le root sur admin » de mon dossier partagé sur mon Synology.
    Pourriez-vous m’aider à comprendre ?
    Merci par avance

    1. J’ai finalement réussi en paramétrant le Squash sur « Mappage de tous les utilisateurs sur admin ».
      Je ne comprends pas pourquoi 😶

  10. Bonjour, je suis désolé je ne comprends pas le but de la sauvegarde proxmox? Pourriez-vous m’expliquer?
    Moi je fais une sauvegarde HA puis je télécharge le fichier .RAR sur un autre PC (ou sur syno).
    Si proxmox venait à crasher je le réinstallerai et j’importerai ma sauvegarde HA par la suite.

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.