Proxmox 2/3 : outil de sauvegarde incrémentale pour containers OpenVZ

EDIT 1 : Après plusieurs mois de gestation le projet est désormais disponible ici :

La doc est sera bientôt disponible, ainsi qu’un forum pour les retours d’expérience.

EDIT 2 : Openvz-diff-backups fonctionne avec Debian 6/7 + OpenVZ et/ou Proxmox 2 & 3.

EDIT 3 : L’outil de backup ayant énormément évolué (euphémisme), ce billet est complètement « outdated ».

« Boarf… Un bon gros tar.gz de 137 Go, ça n’a jamais tué personne… » (Patrice B., réfractaire aux backups journaliers)

Avant, j’utilisais vzdump et mes cheveux backups étaient gras

Faire des sauvegardes c’est bien, les répliquer sur un serveur distant c’est mieux.

Sauf que, si vous vous amusez chaque jour à transférer les archives générés par vzdump, à mon avis ça va mal se mettre au niveau de la bande passante (sans parler de l’espace disque nécessaire pour conserver un historique décent).

Pour l’instant ma nobox ne contient que 50 Go de données (libres, toussa…) mais vu l’upload tout moisi que l’on a derrière une misérable ligne ADSL et le fait que je voulais quand même disposer d’une sauvegarde distante et journalière, fallait bien trouver autre chose que le transfert des tar.gz classiques.

Maintenant, j’utilise rsync et mon delta est resplendissant

Bon, ok, même si dans la pratique cette affirmation est globalement vraie (si, si…), il y a certains cas « particuliers » où cela ne se passe pas aussi bien. (Ben tiens ! On s’en serait pas douté…)

A chaque appel du script de sauvegarde, celui-ci va faire sa tambouille puis, afin de créer un historique, stocker dans un nouveau répertoire les différences par rapport à l’ancien backup.

L’archivage se fait à l’aide de liens hard en utilisant la directive « –link-dest » de rsync. Le principal avantage de cette méthode, contrairement à « cp -al », est que les changements de propriétaires ou de permissions sont pris en en compte sans impacter rétroactivement les anciennes sauvegardes.

Donc, en français dans le texte, cela signifie que, dès qu’une modification est détectée sur un fichier (taille, données, permissions, etc), rsync ne va pas créer un hard link lors de l’archivage mais tout simplement copier intégralement le fichier modifié.

Étant donné qu’il s’agit du comportement attendu et souhaité, jusqu’ici tout va bien.

Lire la suite…