Назад | Перейти на главную страницу

Ошибки моментальных снимков GhettoVCB на ESXI 4.0 - 4.1

у меня проблема сегодня. Несколько часов назад я обновил свой esxi до версии 4.1 с 4.0. Моей целью было получить резервную копию моей виртуальной машины с помощью ghettoVCB.sh, даже если есть ее снимки. (на 4.0 это вообще не работало)

Для этого я скачал последнюю версию ghettoVCB (github) и разархивировал ее.

Важные файлы (chmod 777) теперь распакованы в папку: ghettoVCB-master и я отредактировал строку VM_BACKUP_VOLUME на путь, где должны быть резервные копии после запуска скрипта.

Когда я запускаю сценарий и нет снимков виртуальной машины, виртуальная машина создается "резервная копия" в папке: VM_BACKUP_VOLUME=/vmfs/volumes/datastore1/BACKUP

это работает .. пока ..

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

2013-06-13 15:21:54 -- info: ###### Final status: ERROR: No VMs backed up! ######

(если есть хотя бы одна виртуальная машина, для которой можно создать резервную копию без моментального снимка)

и:

2013-06-13 15:19:46 -- info: ###### Final status: ERROR: All VMs failed! ######

(если у всех виртуальных машин есть снимки.)

Я читал в Интернете, как настроить в ghettoVCB.conf и ghettoVCB.sh значение 1 вместо 0:

ALLOW_VMS_WITH_SNAPSHOTS_TO_BE_BACKEDUP=1

но это ничего не изменит.

Ты читал документация для этой функции? Он не будет создавать резервные копии моментальных снимков, а консолидирует их и после этого создает резервную копию виртуальной машины, поэтому вы, вероятно, все равно не захотите ее использовать:

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

Если это действительно то, что вы хотите, Сообщества VMWare имеют тред в котором описывается проблема, похожая на вашу, и предлагается изменение кода сценария, предназначенное для ее устранения:

#        elif ls "${VMX_DIR}" | grep -q "\-delta\.vmdk" > /dev/null 2>&1; then
#            if [ ${ALLOW_VMS_WITH_SNAPSHOTS_TO_BE_BACKEDUP} -eq 0 ]; then
#                logger "info" "Snapshot found for ${VM_NAME}, backup will not take place\n"
#                VM_FAILED=1
#            fi
        elif [[ -f "${VMX_PATH}" ]] && [[ ! -z "${VMX_PATH}" ]]; then
            if ls "${VMX_DIR}" | grep -q "\-delta\.vmdk" > /dev/null 2>&1; then
                if [ ${ALLOW_VMS_WITH_SNAPSHOTS_TO_BE_BACKEDUP} -eq 1 ]; then
                    logger "info" "Snapshot found for ${VM_NAME}, consolidating ALL snapshots now (this can take awhile) ...\n"
                    $VMWARE_CMD vmsvc/snapshot.removeall ${VM_ID} > /dev/null 2>&1
                else
                   logger "info" "ERROR: Snapshot found for ${VM_NAME}, backup will not take place\n"
                   exit 1
                fi
            fi

Из вашего сообщения я понимаю, что вы пытаетесь создать резервную копию виртуальной машины с помощью ghettoVCB, которая не может распознать виртуальные машины. Итак, предоставленная вами конфигурация в порядке, просто нужно внести несколько изменений:
** Как вы запускаете сценарий гетто **

Решение:

Создайте файл и вставьте имя vm:

предположим, что имя виртуальной машины
1. test1
2. test2
Затем в каталоге гетто:

vi backup  

test1
test2
Теперь запустите сохранение и закройте файл и выполните команду ниже:

./ghettoVCB.sh -f backup -d dryrun  

Здесь -f используется для создания резервной копии определенных виртуальных машин, имя которых указано в файле резервной копии, который мы создали ранее. И -d dryrun будет искать эти перечисленные виртуальные машины, существуют они или нет, и может быть выполнено резервное копирование. Выход будет как

- информация: ###### Окончательный статус: ОК, только пробный прогон. ######

Теперь вы можете перейти к запуску резервного копирования с помощью следующей команды:

./ghettoVCB.sh -f backup 

Здесь начнется резервное копирование, и снимок будет сохранен в указанном месте.