VMware Server: Лучший способ к образам резервной копии

Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException вообще.

См. также: A хороший список лучших практик

Я бы добавил, очень важно, хорошо использовать модификатор final. Использование "окончательной" модификатор, когда это применимо в Java

Сводка:

  1. Используйте модификатор final для обеспечения хорошей инициализации.
  2. Избегайте возврата null в методы, например, при возврате пустых коллекций.
  3. Использовать аннотации @NotNull и @Nullable
  4. Быстрое завершение работы и использование утверждений, чтобы избежать распространения нулевых объектов через все приложение, когда они не должен быть пустым.
  5. Сначала используйте значения с известным объектом: if("knownObject".equals(unknownObject)
  6. Предпочитают valueOf() поверх toString ().
  7. Используйте null safe StringUtils StringUtils.isEmpty(null).

6
задан AndyM 16 September 2008 в 09:21
поделиться

5 ответов

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

В этом случае Вы просто добавили бы "vmware-cmd susepend" к Вашему сценарию прежде, чем запустить Ваше резервное копирование, и "vmware-cmd запускает" после того, как резервное копирование завершается.

Мы используем сервер VMware в качестве части нашей системы сборки для обеспечения известной среды для выполнения автоматизированных обновлений DB против, таким образом, мы заканчиваем тем, что откатывали состояние как часть каждой сборки (управляемый 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
5
ответ дан 16 December 2019 в 21:49
поделиться

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

2
ответ дан 16 December 2019 в 21:49
поделиться

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

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

0
ответ дан 16 December 2019 в 21:49
поделиться

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

0
ответ дан 16 December 2019 в 21:49
поделиться

Я нашел легко следовать руководству для поддержки VM в VMware Server 2 здесь: Резервное копирование VMware Server 2

1
ответ дан 16 December 2019 в 21:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: