Сервер VMWare:Лучший способ резервного копирования изображений

StackOverflow https://stackoverflow.com/questions/70668

  •  09-06-2019
  •  | 
  •  

Вопрос

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

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

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

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

Это было полезно?

Решение

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

В этом случае вам просто нужно добавить «vmware-cmd suspend» в свой сценарий перед началом резервного копирования и «vmware-cmd start» после завершения резервного копирования.

Мы используем vmware-server как часть нашей системы сборки, чтобы обеспечить известную среду для запуска автоматических обновлений БД, поэтому в конечном итоге мы откатываем состояние как часть каждой сборки (с помощью 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

Другие советы

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

Здесь я нашел простое руководство по резервному копированию виртуальных машин на сервере vmware 2: Резервное копирование сервера VMware 2

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top