Возникла задача переноса ряда виртуальных машин из точки А в точку Б.
Навскидку вспомнились следующие варианты:
- копирование каталога с ВМ на внешний носитель;
- экспорт ВМ в OVA/OVF;
- бэкап в Veeam B&R.
Как мне казалось, третий вариант круче всех, так как там сжатие, дедупликация и все такое ;).
Второй от первого практически не отличался, разве что некоторым удобством за счет одного файла вместо папки…
Решил проверить экспериментом.
Дано: MS Windows Server 2012 R2, объем жесткого диска – 15ГБ, диск тонкий, «толстый» объем составляет 40ГБ. Экспорт в OVA осуществлялся с другого сервера, так что время экспорта абсолютно не показательно.
- Копирование каталога с ВМ – время не оценивал.
- Делаем экспорт виртуальной машины в OVA. Размер – 8,54Гб, время – 15,5 минут.
Вау, эта штука умеет немного сжимать VMDK. Не знал! - Делаем операцию Veeam Zip с параметрами по умолчанию (сжатие – оптимальное): размер – 9,25ГБ, время – 6,25 минут.
Фу, хуже чем стандартный механизм VMware. Разве что быстрее вдвое. - Делаем операцию Veeam Zip с экстремальным сжатием: размер – 7,91ГБ, время – 6,5 минут.
Повторяем итерацию на линуксовой машинке с тонкими дисками. Так как это апплайнс циски, то точный объем внутри неизвестен.
2. Экспорт в OVA занимает 5,5 минут. Объем файла – 1,25Гб.
3. Veeam Zip с оптимальным сжатием: 1,21Гб за 6,75 минут.
4. Veeam Zip с экстремальным сжатием: 872Мб за 6,5 минут
Выводы
Вариант с Veeam на множестве машин может выстрелить еще лучше, чем OVA за счет дедупликации и хорошего алгоритма сжатия. С другой стороны, распаковывать виртуальные машины Veeam B&R Free может только по одной – то есть в “бесплатном” варианте он плохо подходит для экспорта/импорта набора машин.
Можно объединить несколько виртуальных машин в vAPP и разом экспортировать/импортировать. Так как заодно еще немного уменьшится занимаемый размер, то этот вариант из бесплатных мне нравится больше!
Бесплатно – OVA, платно – Veeam 🙂
Если именно перенос, то почему бы не использовать vSphere Replication? )
Когда я забирал машины с Amazon, то делал это Vmware Convertor’ом с разбиением на 1 Gb vmdk (zip) и далее через ftp с докачкой. За ночь смог протащить около 50 Гб через 20-30Мбит канал не самого лучшего качества.
Вопрос не столько в размере и скорости, но и в том как далеко точки А и Би какой канал между ними.
Архитектурно самый правильный вариант с экспортом в OVF – он гарантированно поднимется у того.
Простое копирование папок не работает между ESXi и Workstation, в итоге убиваешь кучу времени на установку триалки последней и импорт в vSphere.
Кстати, все три способа сбрасывают VM Generation ID, поэтому лучше включить локального админа перед экспортом:
http://blogs.vmware.com/apps/2014/01/which-vsphere-operation-impacts-windows-vm-generation-id.html
О vSphere Replication коллеги не знали, а я не вспомнил, когда мне внезапно задали вопрос “Как”…
Канал то ли 50, то ли 100 мбит mpls, но использовать его “в полку” было нельзя.
Теоретически, можно было с сетевиками проработать вопрос шейпинга этого трафика, но сроки горели и было нужно готовое решение.
Поэтому решили лететь с винтом в точку A, а затем – в точку B.
Пароль локального админа пригодился, так как потребовалось перебивать IP, да и машины были не в домене.