среда, 5 октября 2011 г.

ghetto VCB upgrade

Из переписки:

Михаил, добрый день!

Широко известный скрипт для резервного копирования виртуальных машин ghetto VCB для копирования файлов c ESXi на NFS-сторадж использует Linux-команду "cp".

Недостаток этой команды заключается в том, что cp на ESXi'e очень медленно работает, давая скорость копирования в среднем 5-7 Мегпабайт в сек. Это особенно критично для тяжёлых виртуальных машин, копирование жёсткого диска на 100 Гб будет выполняться не менее 5-и часов.

Команда cat выполняется в разы быстрее, у меня данная команда полностью покрывает по скорости пропускную способность сети и жёстких дисков, давая в итоге 50-70 Мегабайт в сек, т.е. в 10 раз быстрее cp.

Единственный недостаток команды cat - нельзя указать для копирования группу файлов, но это легко обходится. Я не стал править оригинальный скрипт, а разработал свой собственный:


#!/bin/sh
#------------------------------Переменные------------------
NFS=/vmfs/volumes/DebShare/
Datastore=/vmfs/volumes/BigStore/
VMid=96
VMName=SBS
PathNFS=$NFS$VMName/1/`date +%d.%m.%Y`


#------------------------------Подготовка каталогов на NFS-сервере--------
rm -R $NFS$VMName/5
mv $NFS$VMName/4 $NFS$VMName/5
mv $NFS$VMName/3 $NFS$VMName/4
mv $NFS$VMName/2 $NFS$VMName/3
mv $NFS$VMName/1 $NFS$VMName/2


mkdir $NFS$VMName/1
mkdir $PathNFS

#-----------------------------Создание снепшота
vim-cmd vmsvc/snapshot.create $VMid disksnap 0 1

cat $Datastore$VMName/$VMName-flat.vmdk > $PathNFS/$VMName-flat.vmdk
cat $Datastore$VMName/$VMName.vmdk > $PathNFS/$VMName.vmdk

vim-cmd vmsvc/snapshot.removeall $VMid

#-----------------------------Копирование файлов
cat $Datastore$VMName/$VMName.nvram > $PathNFS/$VMName.nvram
cat $Datastore$VMName/$VMName.vmx > $PathNFS/$VMName.vmx
cat $Datastore$VMName/$VMName.vmsd > $PathNFS/$VMName.vmsd
cat $Datastore$VMName/$VMName.vmxf > $PathNFS/$VMName.vmxf


Thx Egros

- пост с мобильного устройства, сорри за краткость и опечатки.


8 комментариев:

  1. Что мешает делать бэкапы на iSCSI сторадж?
    Я сейчас так бэкаплю (на iSCSI) и скорость 60-70 Мбайт/с.

    Есть какие-то противопоказания?

    ОтветитьУдалить
  2. Скорее всего ликвидируется медленная скорость работы cp на NFS ресурс
    Ибо да, на iSCSI таргет cp копирует быстро.

    ОтветитьУдалить
  3. 60-70Мбайт - Джамбо фреймы на свиче и хостах врубите - они вас сильно обрадуют ;)

    Интересно, афтар скрипта пытался восстановиться? Он перенаправляет поток ввода вывода,- там нет подтверждения записи, поэтому работает быстрее.

    Смеяться будем, когда у него резервная копия окажется битой.

    Ну или добавляй в скрипт сравнение контрольных сумм источника и цели.

    З.Ы. Учитывая политику лицензирования Veeam как-то не понимаю таких извратов. ИМХО.

    ОтветитьУдалить
  4. зачем пользоваться чем либо кроме vmkfstools предназначенной для работы с виртуальными дисками? оно отлично выполняет всякие-нужные операции.

    ОтветитьУдалить
  5. насчет Veeam полностью согласен, реплика про vmkfstools относится к использованию cp и cat для работы с дисками виртуальных машин

    ОтветитьУдалить
  6. >>60-70Мбайт - Джамбо фреймы на свиче и хостах врубите - они вас сильно обрадуют ;)
    В ближайшее время отдельная сеть планируется с джамбо под бэкапы, поэтому очень надеюсь что обрадует
    ---
    mgr

    ОтветитьУдалить
  7. Вроде как ghettoVCB, что первый, что втрой используют vmkfstools для копирования vmdk.
    И другого метода для копирования thin provision disk я не нашел. Вроде как есть реализации cp и rsync которые понимают sparse файлы, но то что есть унутри Vmware этого не понимают. Так что любой scp, cp или cat из thin сделают thick.

    ОтветитьУдалить
  8. > Учитывая политику лицензирования Veeam как-то не понимаю таких извратов
    Сорри, это о чем?
    стыдно, но как-то не дошли руки до изучения Veeam продуктов.

    ОтветитьУдалить