Certains d'entre vous utilisent la version Server de VMware parce qu'ils n'ont pas les moyens de se procurer des produits comme VMware ESX ou bien parce qu'ils n'ont pas de machine compatible avec la version gratuite WMware ESXi. Il en est de même pour les logiciels de sauvegarde pour VMware souvent trop coûteux, la solution la moins onéreuse reste donc le bon vieux script.
Loin des scripts performants mais parfois trop complexes que l'on peut retrouver sur la communauté VMware je vous propose ici une méthode de sauvegarde utilisant la commande vmrun disponible dans le répertoire d'installation de VMware Server.
Vous retrouverez tous les détails de cette commande à cette adresse : Virtuatopia.com
- Première Etape : Suspendre la machine virtuelle
vmrun -T server -h https://<hostname>:8333/sdk -u <login> -p <password> suspend "[<datastore>] machine_virtuelle.vmx"
-T désigne le produit VMware utilisé (server pour VMware Server 2.0, server1 pour VMware Server 1.x et ws pour WMware Workstation)
-h désigne l'URL https de la machine auquel vmrun doit se connecter, vous pouvez soit mettre le nom d'hôte de la machine ou son ip, si votre script est exécuté depuis la machine exécutant VMware server je vous conseille d'utiliser l'adresse 127.0.0.1
-u et -p vous permettent d'indiquer l'utilisateur et le mot de passe utilisés pour se logger à l'interface d'administration VMware
- Deuxième Etape : Copier tous les fichiers de la machine virtuelle (via la commande xcopy par exemple)
- Troisième Etape : Relancer la machine virtuelle
vmrun -T server -h https://<hostname>:8333/sdk -u <login> -p <password> start "[<datastore>] machine_virtuelle.vmx"
Comme vous pouvez le voir on remplace simplement la commande suspend
par la commande start
.
Voici ce que pourrais donner votre script complet :
@echo off
echo Sauvegarde des machines virtuelles
echo.
echo Mise en suspend des Machines Virtuelles...
echo.
cd C:\Program Files\VMware\VMware Server
vmrun -T server -h https://127.0.0.1:8333/sdk -u admin -p password suspend "[mon_datastore] Linux\Serveur_Linux1.vmx"
echo.
echo Copie des fichiers pour la sauvegarde...
echo.
xcopy "C:\Virtual Machines\Linux" "D:\Backup_VM\" /y
echo.
echo Redémarrage des machines virtuelles...
echo.
vmrun -T server -h https://127.0.0.1:8333/sdk -u admin -p password start "[mon_datastore] Linux\Serveur_Linux1.vmx"
echo.
echo Sauvegarde effectuée avec succès
echo.