Переместите VMware ESXi VM в новое хранилище данных - сохраните тонкое выделение ресурсов

Я ищу хорошее решение проблемы среды VMware ESXi, в которой нет доступного vCenter.

Каков наилучший способ перемещения виртуальной машины из одного хранилища данных в другое на одном хосте ESXi при сохранении тонкой подготовки VMDK?

Это автономный сервер, который был расширен с другим дисковым массивом / хранилищем данных. Я хотел бы переместить данные, содержащиеся в старом массиве, в новый.

Изменить: Размер хранилища данных назначения на самом деле меньше, чем источник. Мне не хватает места, чтобы скопировать толстый файл.

5 ответов

Решение

Вы также можете использовать Файл -> Экспорт -> Экспорт шаблона OVF

а затем импортировать его. В прошлый раз, когда я попробовал это, я думаю, что это сохраняет формат vmdk. Не так уверен сейчас, как это было довольно давно.

Просто нашел способ сделать это сам. Вот, надеюсь, простое руководство о том, как перенести виртуальную машину в новое хранилище данных, сохранив при этом тонкую подготовку во время передачи (что также сократит время передачи):

Пошаговое руководство по использованию vmkfstools в CLI

  1. Выключите ВМ
  2. (Необязательно) Объедините снимки, если это необходимо.
  3. Удалить ВМ из инвентаря vCenter
    • Щелкните правой кнопкой мыши VM и нажмите "Удалить из инвентаря" введите описание изображения здесь
  4. Включить SSH на машине ESXi
    • В клиенте vSphere выберите: Конфигурация -> Профиль безопасности -> Свойства (рядом со Службами) -> SSH (в списке) -> Параметры -> Пуск
  5. Войдите через SSH как root
  6. Подготовьте каталог в хранилище данных назначения
    • mkdir "/vmfs/volumes/destination_datastore/Some VM"
  7. Клонировать файлы.vmdk с помощью тонкой подготовки
    • vmkfstools -i "/vmfs/volumes/source_datastore/Some VM/Some VM.vmdk" -d thin "/vmfs/volumes/destination_datastore/Some VM/Some VM.vmdk"
  8. Скопируйте все оставшиеся файлы (избегая перезаписи файлов.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
  9. Если вы не консолидировали моментальные снимки на шаге 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
  10. Закончив клонирование и копирование всех необходимых файлов, добавьте виртуальную машину из нового хранилища данных обратно в инвентарь.
    • В клиенте vSphere перейдите по ссылке: Конфигурация-> Хранение-> Обозреватель данных, щелкните правой кнопкой мыши хранилище данных назначения, в которое вы переместили виртуальную машину, и нажмите "Обзор хранилища данных". введите описание изображения здесь
  11. Перейдите к своей виртуальной машине и щелкните правой кнопкой мыши файл .vmx, затем нажмите "Добавить в инвентарь" введите описание изображения здесь
  12. Загрузите виртуальную машину, чтобы увидеть, работает ли она, и на вопрос, скопировали ли вы ее или переместили, просто ответьте, что вы скопировали ее. (Я не уверен, что это означает, но я думаю, что это связано, по крайней мере, с изменением MAC-адреса vNIC.) введите описание изображения здесь
  13. Если виртуальная машина загружается нормально, вы можете удалить ее из старого хранилища данных.
    • rm -rf "/vmfs/volumes/source_datastore/Some VM"

Примечание: протестировано только с ESXi 5

Иллюстрации бесстыдно скопированы из этого блога.

Проверьте этот ответ. Та же самая логика применяется в вашей ситуации, а именно эта цитата:

Он называется "Конвертер", но на самом деле он должен называться "Универсальный движок данных ОС". Впрочем, не так хорошо скатывается с языка.

Разница лишь в том, что хосты источника и назначения будут одинаковыми, но хранилища данных будут отличаться. Это означает, что файлы будут отправляться с хоста ESXi на конвертер, а затем обратно на хост. Было бы хорошо, если бы "Конвертер" был "умным" и знал, что это тот же хост. К сожалению, это стоит денег.

CAVEAT: преобразование виртуальной машины создаст новый MAC-адрес для любых сетевых адаптеров. Большинство гостевых ОС интерпретируют это как новое устройство.

На самом деле просто создайте папку в месте назначения, затем скопируйте файлы в папке из источника, и она останется тонкой. Если вы скопируете папку, она преобразуется из тонкой в ​​толстую.

Я хотел бы скопировать файл, а затем преобразовать в тонкий через vmkfstools.

Другие вопросы по тегам