Переместите VMware ESXi VM в новое хранилище данных - сохраните тонкое выделение ресурсов
Я ищу хорошее решение проблемы среды VMware ESXi, в которой нет доступного vCenter.
Каков наилучший способ перемещения виртуальной машины из одного хранилища данных в другое на одном хосте ESXi при сохранении тонкой подготовки VMDK?
Это автономный сервер, который был расширен с другим дисковым массивом / хранилищем данных. Я хотел бы переместить данные, содержащиеся в старом массиве, в новый.
Изменить: Размер хранилища данных назначения на самом деле меньше, чем источник. Мне не хватает места, чтобы скопировать толстый файл.
5 ответов
Вы также можете использовать Файл -> Экспорт -> Экспорт шаблона OVF
а затем импортировать его. В прошлый раз, когда я попробовал это, я думаю, что это сохраняет формат vmdk. Не так уверен сейчас, как это было довольно давно.
Просто нашел способ сделать это сам. Вот, надеюсь, простое руководство о том, как перенести виртуальную машину в новое хранилище данных, сохранив при этом тонкую подготовку во время передачи (что также сократит время передачи):
Пошаговое руководство по использованию vmkfstools в CLI
- Выключите ВМ
- (Необязательно) Объедините снимки, если это необходимо.
- Удалить ВМ из инвентаря vCenter
- Щелкните правой кнопкой мыши VM и нажмите "Удалить из инвентаря"
- Включить SSH на машине ESXi
- В клиенте vSphere выберите: Конфигурация -> Профиль безопасности -> Свойства (рядом со Службами) -> SSH (в списке) -> Параметры -> Пуск
- Войдите через SSH как root
- Подготовьте каталог в хранилище данных назначения
mkdir "/vmfs/volumes/destination_datastore/Some VM"
- Клонировать файлы.vmdk с помощью тонкой подготовки
vmkfstools -i "/vmfs/volumes/source_datastore/Some VM/Some VM.vmdk" -d thin "/vmfs/volumes/destination_datastore/Some VM/Some VM.vmdk"
- Скопируйте все оставшиеся файлы (избегая перезаписи файлов.vmdk)
find "/vmfs/volumes/source_datastore/Some VM" -maxdepth 1 -type f | grep -v ".vmdk" | while read file; do cp "$file" "/vmfs/volumes/destination_datastore/Some VM"; done
- Если вы не консолидировали моментальные снимки на шаге 2, возможно, существуют файлы снимков.vmdk delta, нам также необходимо скопировать их (это может занять некоторое время):
find "/vmfs/volumes/source_datastore/Some VM" -maxdepth 1 -type f | grep [0123456789][0123456789][0123456789][0123456789][0123456789][0123456789] | grep ".vmdk" | while read file; do cp "$file" "/vmfs/volumes/destination_datastore/Some VM"; done
- Закончив клонирование и копирование всех необходимых файлов, добавьте виртуальную машину из нового хранилища данных обратно в инвентарь.
- В клиенте vSphere перейдите по ссылке: Конфигурация-> Хранение-> Обозреватель данных, щелкните правой кнопкой мыши хранилище данных назначения, в которое вы переместили виртуальную машину, и нажмите "Обзор хранилища данных".
- Перейдите к своей виртуальной машине и щелкните правой кнопкой мыши файл .vmx, затем нажмите "Добавить в инвентарь"
- Загрузите виртуальную машину, чтобы увидеть, работает ли она, и на вопрос, скопировали ли вы ее или переместили, просто ответьте, что вы скопировали ее. (Я не уверен, что это означает, но я думаю, что это связано, по крайней мере, с изменением MAC-адреса vNIC.)
- Если виртуальная машина загружается нормально, вы можете удалить ее из старого хранилища данных.
rm -rf "/vmfs/volumes/source_datastore/Some VM"
Примечание: протестировано только с ESXi 5
Иллюстрации бесстыдно скопированы из этого блога.
Проверьте этот ответ. Та же самая логика применяется в вашей ситуации, а именно эта цитата:
Он называется "Конвертер", но на самом деле он должен называться "Универсальный движок данных ОС". Впрочем, не так хорошо скатывается с языка.
Разница лишь в том, что хосты источника и назначения будут одинаковыми, но хранилища данных будут отличаться. Это означает, что файлы будут отправляться с хоста ESXi на конвертер, а затем обратно на хост. Было бы хорошо, если бы "Конвертер" был "умным" и знал, что это тот же хост. К сожалению, это стоит денег.
CAVEAT: преобразование виртуальной машины создаст новый MAC-адрес для любых сетевых адаптеров. Большинство гостевых ОС интерпретируют это как новое устройство.
На самом деле просто создайте папку в месте назначения, затем скопируйте файлы в папке из источника, и она останется тонкой. Если вы скопируете папку, она преобразуется из тонкой в толстую.
Я хотел бы скопировать файл, а затем преобразовать в тонкий через vmkfstools.