<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>GhettoVCB on Zwindler's Reflection</title><link>https://blog.zwindler.fr/tags/ghettovcb/</link><description>Recent content in GhettoVCB on Zwindler's Reflection</description><generator>Hugo -- gohugo.io</generator><language>fr</language><copyright>Licensed under CC BY-SA 4.0</copyright><lastBuildDate>Tue, 09 Jan 2018 12:45:37 +0000</lastBuildDate><atom:link href="https://blog.zwindler.fr/tags/ghettovcb/index.xml" rel="self" type="application/rss+xml"/><item><title>Sauvegardez vos ESXi 6.5 sans licence avec GhettoVCB</title><link>https://blog.zwindler.fr/2018/01/09/sauvegardez-vos-esxi-6-5-licence-ghettovcb/</link><pubDate>Tue, 09 Jan 2018 12:45:37 +0000</pubDate><guid>https://blog.zwindler.fr/2018/01/09/sauvegardez-vos-esxi-6-5-licence-ghettovcb/</guid><description>&lt;img src="https://blog.zwindler.fr/2017/12/Consolidation_Backup.webp" alt="Featured image of post Sauvegardez vos ESXi 6.5 sans licence avec GhettoVCB" /&gt;&lt;h2 id="ghettovcb-depuis-vmware-infrastructure-3-toujours-compatible-"&gt;GhettoVCB, depuis VMware Infrastructure 3, toujours compatible !
&lt;/h2&gt;&lt;p&gt;En 2010, &lt;a class="link" href="https://blog.zwindler.fr/2010/06/09/sauvegarder-automatiquement-et-proprement-ses-vms-sur-esxi/" &gt;un de mes tout premiers articles sur ce blog parlait d’un script s’appelant GhettoVCB&lt;/a&gt;. Il permettait de réaliser des sauvegardes à chaud sur des ESXi, SANS vCenter. Et c’est là toute la nuance, car si toutes les solutions de sauvegardes d’entreprises savent aujourd’hui sauvegarder des machines virtuelles VMware, elles se basent toutes sur un API (historiquement &lt;strong&gt;VCB&lt;/strong&gt; pour VMware Consolidated Backup).&lt;/p&gt;
&lt;p&gt;Or, &lt;a class="link" href="https://kb.vmware.com/s/article/1021175" target="_blank" rel="noopener"
&gt;l’usage l’API de sauvegarde&lt;/a&gt; (VCB, puis VADP et maintenant VMware vSphere Storage APIs – Data Protection) est conditionnée à la présence d’une licence ! Impossible d’utiliser ces outils avec un ESXi « gratuit » (free).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;What licensing is required to use VMware vSphere Storage APIs – Data Protection?&lt;br&gt;
Data Protection APIs are included with all licensed vSphere editions.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ce script (&lt;a class="link" href="https://communities.vmware.com/docs/DOC-8760" target="_blank" rel="noopener"
&gt;mis en ligne depuis 2008 !&lt;/a&gt;) se base directement sur les binaires présents sur l’OS, sans passer par l’API VCB. Il fait donc pratiquement la même chose, mais gratuitement. Inutile de vous dire que ce script est très populaire parmi les bidouilleurs au budget limités et souhaitant quand même faire des sauvegardes.&lt;/p&gt;
&lt;p&gt;Je vous met aussi &lt;a class="link" href="https://communities.vmware.com/docs/DOC-8760" target="_blank" rel="noopener"
&gt;le lien vers le post historique&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="installation"&gt;Installation
&lt;/h2&gt;&lt;p&gt;Historiquement, en guise « d’installation », il fallait simplement copier le script dans le répertoire de son choix. Aujourd’hui, c’est un peu plus « propre » puisque l’auteur a mis à disposition un VIB qui permet d’installer sur l’ESXi via un package. Les sources ont été hébergées &lt;a class="link" href="https://github.com/lamw/ghettoVCB" target="_blank" rel="noopener"
&gt;sur Github&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Télécharger le fichier depuis le Github (lien mort), puis le copier en SSH/SCP/SFTP dans &lt;strong&gt;/tmp&lt;/strong&gt;. Se connecter en SSH et installer la VIB :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;esxcli software vib install -v /tmp/ -f
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Note : maintenant il faut le build soi même cf &lt;a class="link" href="https://github.com/lamw/ghettoVCB/blob/master/build/README.md" target="_blank" rel="noopener"
&gt;https://github.com/lamw/ghettoVCB/blob/master/build/README.md&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pas besoin de rebooter avec cette VIB (simple copie du script). E-Z.&lt;/p&gt;
&lt;h2 id="mise-en-place-de-la-sauvegarde"&gt;Mise en place de la sauvegarde
&lt;/h2&gt;&lt;p&gt;La documentation n’a pas été reportée sur le Github malheureusement, mais elle est toujours disponible sur &lt;a class="link" href="https://communities.vmware.com/docs/DOC-8760" target="_blank" rel="noopener"
&gt;le site historique de la communauté VMware&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Dans l’exemple suivant, on va, configurer le datastore &lt;strong&gt;VMFS_BCK&lt;/strong&gt; comme destination de notre sauvegarde, sélectionner les VMs qu’on souhaite sauvegarder, et planifier (enfin&amp;hellip; crontab quoi) nos sauvegardes. Youhou !&lt;/p&gt;
&lt;p&gt;Sauf erreur de ma part, la documentation n’indique pas les chemins des fichiers scripts et de configuration. Avant c’était plus simple, vous téléchargiez tout et vous le mettiez dans le dossier que vous vouliez. Maintenant, la VIB dépose le fichier de configuration principal, un template de sauvegarde et un autre de restauration dans &lt;strong&gt;/etc/ghettovcb/&lt;/strong&gt;. Les scripts sont quant à eux installés dans &lt;strong&gt;/opt/ghettovcb/bin/&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Se connecter en SSH sur le serveur VMware concerné. Voici un exemple de configuration de sauvegarde :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cd /etc/ghettovcb/
vi ghettoVCB.conf
VM_BACKUP_VOLUME=/vmfs/volumes/VMFS_BCK/backup
DISK_BACKUP_FORMAT=thin
VM_BACKUP_ROTATION_COUNT=3
POWER_VM_DOWN_BEFORE_BACKUP=0
ENABLE_HARD_POWER_OFF=0
ITER_TO_WAIT_SHUTDOWN=3
POWER_DOWN_TIMEOUT=5
ENABLE_COMPRESSION=0
VM_SNAPSHOT_MEMORY=0
VM_SNAPSHOT_QUIESCE=0
ALLOW_VMS_WITH_SNAPSHOTS_TO_BE_BACKEDUP=0
SNAPSHOT_TIMEOUT=15
EMAIL_ALERT=0
EMAIL_LOG=0
EMAIL_SERVER=[@IP]
EMAIL_SERVER_PORT=25
EMAIL_DELAY_INTERVAL=1
EMAIL_TO=ghettovcb@zwindler.fr
EMAIL_ERRORS_TO=
EMAIL_FROM=alert_ghettoVCB@zwindler.fr
WORKDIR_DEBUG=0
VM_SHUTDOWN_ORDER=
VM_STARTUP_ORDER=
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Ce fichier va nous permettre de configurer toutes les valeurs « par défaut » lors de nos sauvegardes.&lt;/p&gt;
&lt;p&gt;Pour éviter tout souci, vérifiez qu’il y a bien de l’espace disponible sur le datastore choisi et que le chemin existe ;-).&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;ls /vmfs/volumes/VMFS_BCK/backup
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Chacune des valeurs contenues dans la configuration peuvent être surchargées par le fichier de sauvegarde que nous allons créer. Dans cet exemple je ne modifie rien mais là c’est à vous de voir ! Ici, j’ajoute simplement la VM à une liste des machines virtuelles à sauvegarder :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;vi /etc/ghettovcb/vm_backup_list
ma_vm_a_sauvegarder
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;On commence par lancer le script à la main pour voir en live si ça fonctionne :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/opt/ghettovcb/bin/ghettoVCB.sh -f /etc/ghettovcb/vm_backup_list -g /etc/ghettovcb/ghettoVCB.conf
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Une fois que le script rend la main, vérifier dans le dossier de destination que la sauvegarde s’est bien réalisée. Il devrait contenir un dossier daté du jour et tous les fichiers de la VM.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cd /vmfs/volumes/VMFS_BCK/backup
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Pour faire simple, vous pouvez commencer par une sauvegarde toutes les semaines (dimanche minuit) :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;crontab -e
#Sauvegarde hebdo des VMs critiques
00 0 * * 0 /opt/ghettovcb/bin/ghettoVCB.sh -f /etc/ghettovcb/vm_backup_list -g /etc/ghettovcb/ghettoVCB.conf
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="restauration"&gt;Restauration
&lt;/h2&gt;&lt;p&gt;Nous allons jouer ici le scénario d’une restauration (&lt;strong&gt;ma_vm_a_restaurer&lt;/strong&gt;) située sur le datastore &lt;strong&gt;/vmfs/volumes/VMFS&lt;/strong&gt;. Il faut donc :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mettre de côté la machine HS&lt;/li&gt;
&lt;li&gt;Trouver la sauvegarde que l’on souhaite restaurer&lt;/li&gt;
&lt;li&gt;La restaurer à l&amp;rsquo;emplacement initial de la VM&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="retirer-la-vm-à-restaurer-de-linventaire-et-garder-une-copie-au-cas-où"&gt;Retirer la VM à restaurer de l’inventaire et garder une copie au cas où
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;vmware-cmd -s unregister ma_vm_a_restaurer
mv /vmfs/volumes/VMFS/ma_vm_a_restaurer /vmfs/volumes/VMFS/ma_vm_a_restaurer.ko
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="retrouver-la-sauvegarde-quon-souhaite-restaurer"&gt;Retrouver la sauvegarde qu’on souhaite restaurer
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;cd /vmfs/volumes/VMFS_BCK/backup/ma_vm_a_restaurer
ls -l
drwxr-xr-x 1 root root 840 Sep 3 14:12 ma_vm_a_restaurer-2032-09-03_00-00-00
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="réaliser-la-restauration-en-elle-même"&gt;Réaliser la restauration en elle même
&lt;/h3&gt;&lt;p&gt;Ici, on fait une copie du template de restauration et on y modifie les variables comme le chemin souhaité et le datastore cible. On termine l’opération en exécutant le script &lt;strong&gt;ghettoVCB-restore.sh&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cd /etc/ghettovcb/
cp ghettoVCB-restore_vm_restore_configuration_template ghettoVCB-restore_ma_vm_a_sauvegarder
vi ghettoVCB-restore_ma_vm_a_restaurer
/vmfs/volumes/VMFS_BCK/backup/ma_vm_a_restaurer/ma_vm_a_restaurer-2032-09-03_00-00-00;/vmfs/volumes/VMFS;3
/opt/ghettovcb/bin/ghettoVCB-restore.sh -c /etc/ghettovcb/ghettoVCB-restore_ma_vm_a_restaurer
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="finaliser-la-restauration"&gt;Finaliser la restauration
&lt;/h3&gt;&lt;p&gt;Une fois la recopie de la sauvegarde terminée, la VM devrait réapparaitre (automatiquement) dans l’inventaire de votre serveur VMware (le script effectue le &lt;em&gt;register_vm&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Démarrer la VM. Si tout a fonctionné, la VM devrait rester bloquée et c’est « normal ».&lt;/p&gt;
&lt;p&gt;VMware va détecter qu’il y a eu une opération et vous posera la question pour savoir si c’est une copie ou déplacement. Même si dans la majorité des cas ça ne devrait pas avoir d’impact, il est préférable de répondre « I moved it »/ »Je l’ai déplacé ».&lt;/p&gt;
&lt;p&gt;Dans le cas contraire, VMware modifiera une partie de la VM, notamment son adresse MAC, ce qui n’est pas forcément souhaitable dans le cadre d’une restauration. « I moved it » permet de garder la VM telle quelle.&lt;/p&gt;
&lt;p&gt;Enjoy !&lt;/p&gt;</description></item><item><title>Sauvegarder automatiquement et proprement ses VMs sur ESXi via Ghetto VCB</title><link>https://blog.zwindler.fr/2010/06/09/sauvegarder-automatiquement-et-proprement-ses-vms-sur-esxi/</link><pubDate>Wed, 09 Jun 2010 08:28:27 +0000</pubDate><guid>https://blog.zwindler.fr/2010/06/09/sauvegarder-automatiquement-et-proprement-ses-vms-sur-esxi/</guid><description>&lt;img src="https://blog.zwindler.fr/2015/07/vmware2.webp" alt="Featured image of post Sauvegarder automatiquement et proprement ses VMs sur ESXi via Ghetto VCB" /&gt;&lt;h2 id="comment-je-suis-tombé-sur-ghetto-vcb"&gt;Comment je suis tombé sur Ghetto VCB
&lt;/h2&gt;&lt;p&gt;Alors bien sûr j’entends par proprement autre chose que les snapshots. Je rappelle que snapshoter ses VMs n’est pas vraiment un moyen de sauvegarde. Ce n’est pas du tout conseillé par VMware en tant que backup, car en réalité ça n’en est pas vraiment une.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;En &lt;a class="link" href="https://fr.wikipedia.org/wiki/Informatique" title="Informatique"
target="_blank" rel="noopener"
&gt;informatique&lt;/a&gt;, la &lt;strong&gt;sauvegarde&lt;/strong&gt; (&lt;em&gt;backup&lt;/em&gt; en anglais) est l’opération qui consiste à dupliquer et à mettre en sécurité les données contenues dans un &lt;a class="link" href="https://fr.wikipedia.org/wiki/Syst%C3%A8me_informatique" title="Système informatique"
target="_blank" rel="noopener"
&gt;système informatique&lt;/a&gt;{.mw-redirect}.&lt;/p&gt;
&lt;p&gt;Définition de la sauvegarde de Wikipedia&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Alors bien sûr, on peut imaginer faire régulièrement des snapshots pour restaurer la VM en cas de soucis. Mais en cas de crash sur l’ESXi ?&lt;/p&gt;
&lt;p&gt;Du coup, on pourrait imaginer aussi utiliser Veeam FastSCP pour transférer les fichiers des VMs depuis le datastore vers votre destination.&lt;/p&gt;
&lt;p&gt;Beaucoup de gens font ça, soit parce que ça leur suffit, soit parce qu’ils n’ont pas osé chercher mieux. Et pourtant, il y a (mais ce n’est que mon avis) BEAUCOUP mieux.&lt;/p&gt;
&lt;h2 id="une-vraie-sauvegarde"&gt;Une vraie sauvegarde
&lt;/h2&gt;&lt;p&gt;Quand on parle d’ESXi, c’est quand même assez souvent un choix par rapport à une problématique de coûts. Ce n’est bien évidemment pas la seule raison qu’on peut invoquer mais c’est probablement le plus significatif.&lt;/p&gt;
&lt;p&gt;Du coup, on imagine ne pas avoir de vCenter pour piloter les ESXi, ne pas avoir de licences pour pouvoir utiliser l’utilitaire « fait pour » de VMware (VMware Consolidated Backup). Et enfin, on n’a pas très envie de payer pour pouvoir profiter d’un moyen sûr et automatisé de sauvegarder ses VMs, comme par exemple en s’achetant:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Trilead VMX &lt;a class="link" href="https://web.archive.org/web/20160307033207/http://www.trilead.com/" target="_blank" rel="noopener"
&gt;(lien mort, j&amp;rsquo;utilise Internet Archive)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ou bien encore&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="http://www.veeam.com/vmware-esx-backup.html" target="_blank" rel="noopener"
&gt;Veeam Backup &amp;amp; Replication&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;[Edit]D’autant plus que ce que je n’avais pas compris au début, c’est que ces outils ne peuvent pas marcher si vous n’avez pas la licence pour VCB (ce qui est logique, finalement). Ces produits ne font qu’apporter des fonctionnalités supplémentaires au-dessus des fonctionnalités VCB fournie par VMware[/Edit]&lt;/p&gt;
&lt;p&gt;Sans avoir pu les essayer vraiment, j’imagine que ces deux produits fonctionnent à merveille. Revenons un peu sur l’outil VMware Consolidated Backup, intégré aux licences Foundation, Enterprise, et Standard. Il faut se tourner vers la version anglaise de la &lt;a class="link" href="https://web.archive.org/web/20120318081342/http://www.vmware.com/pdf/vi3_consolidated_backup.pdf" target="_blank" rel="noopener"
&gt;datasheet (lien mort, j&amp;rsquo;utilise Internet Archive)&lt;/a&gt; pour avoir plus de détails.&lt;/p&gt;
&lt;h2 id="vmware-consolidated-backup-"&gt;VMware Consolidated Backup ?
&lt;/h2&gt;&lt;p&gt;Vous avez peut être déjà essayé de copier un disque d’une machine virtuelle sur un VMware Server 2.0, par exemple. Le système d’exploitation vous annonce froidement que vous ne pouvez pas car le fichier contenant le disque est protégé en lecture (oui oui, en lecture)! Quand on y réfléchit, c’est bien normal. Ce disque en fonctionnement est donc constamment en train d’être modifié par le système d’exploitation virtuel, même quand on ne fait rien sur la machine. Alors comment copier ce fichu disque, sans être obligé d’éteindre la machine virtuelle (ce qui marche parfaitement, soit dit en passant)?&lt;/p&gt;
&lt;p&gt;Et c’est là toute la &lt;strong&gt;trick&lt;/strong&gt; de VMware : passer par une snapshot temporaire. Au moment où vous voulez backuper, VCB créé une snapshot de la machine, ce qui est très rapide. Sur notre infra ESX, c’est fait en moins d’une seconde, et sous ESXin à peine plus. On voit beaucoup mieux ce qui se passe sur un VMware Server 2, par exemple, où l’opération est beaucoup plus longue. Je ne suis pas certain à 100% que ça se passe toujours de la même façon, mais pour ce produit, le serveur met la VM en pause, créé une snapshot très rapidement, puis rallume la machine. Du point de vue de l’utilisateur, ça donne probablement un petit lag durant le processus, mais pour ce qui est du fonctionnement de la VM, c’est parfaitement transparent.&lt;/p&gt;
&lt;p&gt;Une fois cette snapshot créée, il ne reste plus à VCB qu’à créer une backup pérenne de la machine virtuelle. L’étape finale consiste à supprimer la backup temporaire une fois terminé.&lt;/p&gt;
&lt;p&gt;Une fois qu’on a compris comment ça marche, on peut se réjouir d’apprendre que quelqu’un a utilisé les fonctionnalités internes des ESX/ESXi pour reproduire les mêmes fonctionnalités. Je ne rentrerai pas dans les détails techniques de l’installation vu que tout est déjà très bien présenté.&lt;/p&gt;
&lt;h2 id="et-donc-ghetto-vcb-"&gt;Et donc Ghetto VCB ?
&lt;/h2&gt;&lt;p&gt;Behold! Voici la bibliothèque &lt;a class="link" href="https://web.archive.org/web/20160825165143/http://communities.vmware.com/docs/DOC-11965" target="_blank" rel="noopener"
&gt;Ghetto VCB (lien mort, j&amp;rsquo;utilise Internet Archive)&lt;/a&gt; et probablement le script le plus connu de cette bibliothèque : &lt;a class="link" href="https://web.archive.org/web/20150209104011/http://communities.vmware.com/docs/DOC-8760" target="_blank" rel="noopener"
&gt;GhettoVCB.sh (lien mort, j&amp;rsquo;utilise Internet Archive)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Update 2024 : j&amp;rsquo;ai retrouvé &lt;a class="link" href="https://github.com/lamw/ghettoVCB" target="_blank" rel="noopener"
&gt;un repo contenant les scripts sur Github.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Ghetto VCB fait la même chose que VCB, mais sans avoir besoin de payer une licence à VMware. En fait, il se base sur le serveur lui-même, ce qui permet de contourner les fonctionnalités manquantes (par exemple, l’écriture à distance sur les disques des VM est bloqué si vous n’avez pas une licence).À partirr de là, il ne reste plus qu’à envoyer le script sur votre ESXi. Par SSH par exemple, &lt;a class="link" href="https://blog.zwindler.fr/2010/04/30/esxi-4-0-explorons-lhidden-console-part-2/" &gt;nous savons le faire maintenant ;-)&lt;/a&gt;. Enfin, il faudra reconfigurer le script en fonction de votre ESXi et suivre les instructions pour rentrer le script dans le cron.&lt;/p&gt;
&lt;p&gt;Juste magique&amp;hellip;&lt;/p&gt;</description></item></channel></rss>