Si j'utilise un système vmware ESXi moderne, je peux déposer des fichiers binaires et rsync liés statiquement vers n'importe quelle destination via SSH.
J'essaie de comprendre pourquoi la plupart (toutes?) De la sauvegarde des invités vmware ne se fait pas de cette façon.
Si la machine virtuelle est en cours d'exécution, vous pouvez simplement utiliser «vim-cmd vmsvc / snapshot.create» pour créer un instantané, puis rsynchroniser cet instantané vers l'hôte distant. (il y a même une option pour "suspendre" l'instantané)
OU, si vous souhaitez une sauvegarde plus robuste, vous pouvez arrêter la machine virtuelle et rsync avec élégance sur le ou les fichiers vmdk.
Donc ... il semble que je sois un simple script shell loin de toutes les sauvegardes que j'ai jamais voulu faire, simplement et facilement, en utilisant le vieux rsync.
Qu'est-ce que j'oublie ici ?
la source
Réponses:
Voir également: Installer rsync sur le serveur VMware ESX 4.1
la source
Je faisais cela il y a quelques années. (modifier: avec VMWare fonctionnant sur des hôtes CentOS, pas ESXi certes)
Chaque nuit, j'avais un script qui suspendait une machine virtuelle, resynchronisait les fichiers du disque vers le serveur de sauvegarde, puis redémarrait les machines virtuelles. Cela a plutôt bien fonctionné sauf ...
Rsync ne fonctionne pas très bien avec un fichier de 2 Go.
Ce n'est pas parce que rsync n'est pas brillant, mais plus que chaque fichier vmdk de 2 Go change de manière très opaque pour rsync, même de petites modifications du système de fichiers inclus produisent des changements dans le vmdk (ou tous les vmdks pour une raison quelconque) que je blâmais Windows, soit la défragmentation automatique, soit toutes les autres choses qu'il fait, peu importe si vous utilisez un vrai système, mais apparaissent lorsque vous essayez de rsynchroniser une VM!
Je pense que le mécanisme rsync pour détecter les changements ne fonctionne pas très bien sur un fichier de 2 Go, alors qu'il saute assez souvent des morceaux du début du vmdk, une fois qu'il a commencé à trouver une différence, il copiera simplement le reste du fichier. Je ne sais pas si c'est un problème avec rsync ne pouvant pas détecter un bloc de données binaires déplacé, ou avec un manque de mémoire sur la boîte source, ou si le vmdk vient d'être mis à jour tout au long. Cela n'a pas d'importance car le résultat était le même - la majorité du vmdk a été copiée.
Au final, j'ai simplement copié tous les fichiers modifiés et les écrasé, toujours en utilisant rsync. J'ai également eu de meilleures performances en remplaçant simplement le fichier de sauvegarde au lieu de laisser rsync copier et remplacer ce qui était là.
Notre serveur de sauvegarde n'était pas non plus le plus rapide et il est arrivé au point où la nuit n'était pas assez longue pour sauvegarder toutes les machines virtuelles en cours d'exécution.
Cependant, lorsque nous avons eu besoin de restaurer une machine virtuelle, c'était vraiment facile et fonctionnait à merveille.
la source
La resynchronisation d'un seul fichier n'est pas une solution de sauvegarde,
que faites-vous quand quelque chose est arrivé à la vm et que les fichiers ont été supprimés, mais vous ne l'avez remarqué qu'après que votre rsync a recommencé? Vous aurez écrasé la bonne «sauvegarde» de vos fichiers avec la mauvaise image maintenant.
Si vous voulez une sauvegarde, vous devez conserver les anciennes versions quelque part, ou les différences. Rsync copiera uniquement les différences pour vous, mais il ne stockera pas uniquement les différences, mais écrasera le fichier précédent.
Il peut y avoir des options pour vous ici, avec rsync, et un système de fichiers de copie sur écriture avec des informations de version, qui stockera en effet les différences à chaque exécution de votre script rsync. Ces solutions commencent déjà à devenir un peu plus compliquées, c'est pourquoi les gens ont recours à des solutions de travail connues à mon humble avis.
la source
Il n'y a aucune raison pour laquelle vous ne pouvez pas utiliser Rsync sur un serveur ESXi. Nous proposons ici une version compilée statiquement https://33hops.com/rsync-for-vmware-vsphere-esxi.html qui fonctionne très bien. Il y a aussi des informations sur la façon de compiler le vôtre.
Néanmoins, quiconque souhaite l'utiliser doit tenir compte du fait que Rsync et son algorithme Delta ne sont pas censés sauvegarder d'énormes fichiers épars de longueur fixe, comme les disques durs de VM, mais synchroniser des fichiers plus petits de longueur variable. Donc, cela fonctionne, mais il faut beaucoup de temps et de CPU pour calculer les données de diff. En fait, c'est juste un moyen d'échanger la bande passante par CPU. Dans tous les cas, cela reste tout à fait réalisable, surtout si vos disques virtuels sont de l'ordre de quelques dizaines de gigaoctets.
J'ai publié un article complet sur le sujet ici, détaillant tous les avantages et inconvénients https://33hops.com/blog_xsibackup-rsync-considerations.html
la source