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

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

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

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

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

Изменить: размер целевого хранилища данных на самом деле меньше исходного. У меня недостаточно места для копирования толстого файла.

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

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

  1. Выключите ВМ
  2. (По желанию) При необходимости объедините снимки.
  3. Удалить виртуальную машину из инвентаря vCenter
    • Щелкните правой кнопкой мыши виртуальную машину и выберите «Удалить из инвентаря».
  4. Включите SSH на машине ESXi
    • В клиенте vSphere перейдите по адресу: Конфигурация -> Профиль безопасности -> Свойства (рядом с Services) -> 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, нам также необходимо скопировать их (это может занять некоторое время):
    • 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

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

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

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

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

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

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

ПРЕДОСТЕРЕЖЕНИЕ: преобразование виртуальной машины приведет к созданию нового MAC-адреса для любых сетевых адаптеров. Большинство гостевых ОС интерпретируют это как новое устройство.

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

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