Question

Quel est le meilleur moyen de sauvegarder les serveurs VMWare (1.0.x)? Les machines virtuelles en question constituent notre environnement de développement et fonctionnent isolément du réseau principal (vous ne pouvez donc pas simplement copier des données de serveurs virtuels vers de vrais serveurs).

Les fichiers image sont normalement utilisés et verrouillés lorsque le serveur est en cours d'exécution. Il est donc difficile de les sauvegarder avec les ordinateurs en cours d'exécution.

Actuellement: je mets les serveurs en pause manuellement lorsque je pars et une tâche planifiée qui s'exécute à minuit consiste à copier les images sur un NAS distant.

Existe-t-il un meilleur moyen de le faire, idéalement sans avoir à vous rappeler de mettre en pause les machines virtuelles?

Était-ce utile?

La solution

Le serveur VMWare inclut l'outil de ligne de commande "vmware-cmd", qui peut être utilisé pour effectuer pratiquement toutes les opérations pouvant être effectuées via la console.

Dans ce cas, il vous suffirait d'ajouter un " vmware-cmd susepend " à votre script avant de commencer votre sauvegarde, et un "vmware-cmd start". une fois la sauvegarde terminée.

Nous utilisons vmware-server dans notre système de construction pour fournir un environnement connu permettant l'exécution de mises à niveau automatisées de bases de données. Nous finissons donc par restaurer l'état dans le cadre de chaque construction (pilotée par CruiseControl). Nous avons trouvé cette interface être solide comme un roc.

Usage: /usr/bin/vmware-cmd <options> <vm-cfg-path> <vm-action> <arguments>
       /usr/bin/vmware-cmd -s <options> <server-action> <arguments>

  Options:
    Connection Options:
       -H <host>       specifies an alternative host (if set, -U and -P must also be set)
       -O <port>       specifies an alternative port
       -U <username>   specifies a user
       -P <password>   specifies a password
    General Options:
       -h More detailed help.
       -q Quiet. Minimal output
       -v Verbose.

  Server Operations:
    /usr/bin/vmware-cmd -l 
    /usr/bin/vmware-cmd -s register <config_file_path>
    /usr/bin/vmware-cmd -s unregister <config_file_path>
    /usr/bin/vmware-cmd -s getresource <variable>
    /usr/bin/vmware-cmd -s setresource <variable> <value>

  VM Operations:
    /usr/bin/vmware-cmd <cfg> getconnectedusers
    /usr/bin/vmware-cmd <cfg> getstate
    /usr/bin/vmware-cmd <cfg> start <powerop_mode>
    /usr/bin/vmware-cmd <cfg> stop <powerop_mode>
    /usr/bin/vmware-cmd <cfg> reset <powerop_mode>
    /usr/bin/vmware-cmd <cfg> suspend <powerop_mode>
    /usr/bin/vmware-cmd <cfg> setconfig <variable> <value>
    /usr/bin/vmware-cmd <cfg> getconfig <variable>
    /usr/bin/vmware-cmd <cfg> setguestinfo <variable> <value>
    /usr/bin/vmware-cmd <cfg> getguestinfo <variable>
    /usr/bin/vmware-cmd <cfg> getid
    /usr/bin/vmware-cmd <cfg> getpid
    /usr/bin/vmware-cmd <cfg> getproductinfo <prodinfo>
    /usr/bin/vmware-cmd <cfg> connectdevice <device_name>
    /usr/bin/vmware-cmd <cfg> disconnectdevice <device_name>
    /usr/bin/vmware-cmd <cfg> getconfigfile
    /usr/bin/vmware-cmd <cfg> getheartbeat
    /usr/bin/vmware-cmd <cfg> getuptime
    /usr/bin/vmware-cmd <cfg> getremoteconnections
    /usr/bin/vmware-cmd <cfg> gettoolslastactive
    /usr/bin/vmware-cmd <cfg> getresource <variable>
    /usr/bin/vmware-cmd <cfg> setresource <variable> <value>
    /usr/bin/vmware-cmd <cfg> setrunasuser <username> <password>
    /usr/bin/vmware-cmd <cfg> getrunasuser
    /usr/bin/vmware-cmd <cfg> getcapabilities
    /usr/bin/vmware-cmd <cfg> addredo <disk_device_name>
    /usr/bin/vmware-cmd <cfg> commit <disk_device_name> <level> <freeze> <wait>
    /usr/bin/vmware-cmd <cfg> answer

Autres conseils

La peine de regarder rsync? Si seule une partie d'un fichier image volumineux est en train de changer, alors rsync pourrait être le moyen le plus rapide de copier les modifications.

J'ai trouvé un guide facile à suivre pour sauvegarder les ordinateurs virtuels dans le serveur VMware 2 ici: Sauvegarde de VMware Server 2

Si je me souviens bien, VMWare Server possède une interface de script, disponible via Perl ou COM. Vous pourrez peut-être l'utiliser pour mettre automatiquement les machines virtuelles en pause avant d'exécuter la sauvegarde.

Si votre logiciel de sauvegarde était compatible avec les clichés instantanés, cela pourrait également fonctionner.

Il existe un outil appelé (ahem) Hobocopy qui permet de copier les fichiers de machine virtuelle verrouillés. Je recommanderais de prendre un instantané de la machine virtuelle, puis de sauvegarder le VMDK. Puis fusionnez l'instantané une fois la copie terminée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top