2008-09-16 4 views
6

Каков наилучший способ резервного копирования серверов VMWare (1.0.x)? Настоящие виртуальные машины являются нашей средой разработки и изолированы от основной сети (поэтому вы не можете просто копировать данные с виртуальных на реальные серверы).VMWare Server: лучший способ резервного копирования изображений

Файлы изображений, как правило, используются и блокируются при работе сервера, поэтому их невозможно скопировать с работающими машинами.

В настоящее время: я вручную приостанавливаю серверы, когда я ухожу, и у вас запланированная задача, которая выполняется в полночь, чтобы копировать изображения на удаленный NAS.

Есть ли лучший способ сделать это, в идеале без необходимости запоминать виртуальные машины?

ответ

5

Сервер VMWare включает в себя инструмент командной строки «vmware-cmd», который может использоваться для выполнения практически любой операции, которая может выполняться через консоль.

В этом случае вы просто добавили «vmware-cmd susepend» к вашему скрипту перед началом резервного копирования и «запуск vmware-cmd» после завершения резервного копирования.

Мы используем vmware-сервер как часть нашей системы сборки, чтобы обеспечить известную среду для запуска автоматизированных обновлений БД, поэтому мы в конечном итоге откатываем состояние как часть каждой сборки (управляемой CruiseControl) и нашли этот интерфейс быть твердым.

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 
0

Если я правильно помню, VMWare Server имеет интерфейс сценариев, доступный через Perl или COM. Возможно, вы сможете использовать это для автоматической приостановки виртуальных машин перед запуском резервного копирования.

Если ваше программное обеспечение для резервного копирования было уведомлено о теневой копии, это может сработать.

0

Существует инструмент под названием (гм) Hobocopy, который скопирует заблокированные файлы VM. Я бы рекомендовал сделать снимок виртуальной машины, а затем создать резервную копию VMDK. Затем слейте снимок после завершения копирования.

2

Стоит посмотреть на rsync? Если изменяется только часть большого файла изображения, тогда rsync может быть самым быстрым способом скопировать любые изменения.

Смежные вопросы