Перемістіть VMware ESXi VM до нової сховища даних - збережіть тонку забезпеченість


27

Я шукаю гарне рішення для проблеми середовища VMware ESXi, де немає vCenter.

Який найкращий спосіб перенести VM з однієї сховища даних в іншу на одному хості ESXi, зберігаючи при цьому тонку забезпеченість VMDK?

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

Редагувати: розмір цільового сховища даних фактично менший, ніж вихідний. У мене не вистачає місця для копіювання товстого файлу.


Ви дійсно вважаєте, що розумно перемістити VM в сховище даних, на яке воно занадто мало? Що відбувається з деяким негідним процесом, коли VM вирішує використовувати весь простір для зберігання?
Зоредаче

Загалом, ні ... але це особливий випадок. ВМ не буде рости.
ewwhite

Якщо VM не виросте, немає причин тримати його тонким.
Джим Б

Яка версія ESXi?
Джед Даніельс

Це ESXi 5.
ewwhite

Відповіді:


21

Ви також можете скористатися шаблоном Файл -> Експорт -> Експорт OVF

а потім імпортувати його. Востаннє я спробував це, я думаю, що це зберігає формат vmdk. Зараз не так впевнено, як це було досить давно.


3
Якщо припустити версію 4.1 або новішу, вам буде запропоновано використовувати тонкі або товсті під час імпорту.
Джед Даніельс

2
Ти отримав це! Експорт OVF в стислий розріджений файл був швидким і безболісним. Мені було надано можливість тонкого або товстого забезпечення при імпорті, і імпорт був швидким; 5 хвилин для віртуальної машини 72 Гб (використано 8 ГБ).
ewwhite

3
FWIW, ви також можете це зробити з командного рядка, використовуючи ovftool.
Джед Даніельс

28

Просто пройшов пошук способу зробити це сам. Ось вам, сподіваємось, простий довідковий посібник щодо переміщення вашого віртуального комп'ютера до нової сховища даних, зберігаючи при цьому тонкі резервування під час передачі (таким чином, також скорочуючи час передачі):

Покрокове керівництво за допомогою vmkfstools в CLI

  1. Вимкнути живлення VM
  2. (Необов’язково) Консолідуйте знімки, якщо потрібно.
  3. Видаліть VM з інвентаризації vCenter
    • Клацніть правою кнопкою миші VM та натисніть "Видалити з інвентарю" введіть тут опис зображення
  4. Увімкніть SSH на машині ESXi
    • У клієнті vSphere перейдіть до: Конфігурація -> Профіль безпеки -> Властивості (поруч із Сервісами) -> SSH (у списку) -> Опції -> Пуск
  5. Увійдіть через SSH як корінь
  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. Після клонування та копіювання всіх необхідних файлів додайте VM з нового сховища даних назад до інвентаря
    • У клієнті vSphere перейдіть до: Конфігурація-> Зберігання-> Браузер даних , клацніть правою кнопкою миші цільовий сховище даних, до якого ви перемістили свій VM, та натисніть «Огляд сховища даних». введіть тут опис зображення
  11. Перейдіть до свого VM та клацніть правою кнопкою миші файл .vmx , а потім натисніть «Додати в інвентар» введіть тут опис зображення
  12. Завантажте програму VM, щоб побачити, чи працює вона, і коли вас запитають, скопіювали чи перемістили ви, просто відповідь, що ви її скопіювали. (Я не впевнений, що це означає, але я думаю, що це має стосуватися хоча б із зміненою MAC-адресою vNIC.) введіть тут опис зображення
  13. Якщо VM завантажується, ви можете видалити VM зі старої сховища даних.
    • rm -rf "/vmfs/volumes/source_datastore/Some VM"

Примітка: Тестується лише з ESXi 5

Ілюстрації безсоромно копіювали з цього блогу .


1
Це повинно працювати, але навіть надання інформації про те, як переміщати VM з моментальними знімками, нерозумно. Скажіть людям видалити всі знімки, перш ніж робити такий крок.
pauska

2
Повідомлення @ ohaal вище, в esxi 5.5 u1, повинно було змінити -print0 на -print, і воно спрацювало як шарм! PS. Я б проголосував за це, але жодної респ.
icereval

2
@ohaal перевірено для роботи над ESXi 6.7. Дякую!
Ed of the Mountain

Чи є причина копіювати будь-які інші файли, окрім .vmdk та .vmx? Якщо цього немає, ви можете перетворити findлінію на просту cp.
Августин Ладо

8

Перевірте цю відповідь . Ця ж логіка застосовується і у вашій ситуації, а саме ця цитата:

Це називається "Конвертер", але його справді слід назвати "Всецільовим переносом даних ОС". Хоча це не скочує язик так гарно.

Різниця полягає лише в тому, що хости джерела та місця призначення будуть однаковими, але сховища даних будуть відрізнятися. Це означає, що файли перейдуть від хоста ESXi, до машини Converter, а потім назад до хоста. Було б добре, якби конвертер був "розумним" і знав, що це той самий хост. На жаль, це коштує грошей.

CAVEAT: Перетворення VM створить нову MAC-адресу для будь-яких мережевих адаптерів. Більшість гостьових ОС трактують це як новий пристрій.


1
Відмінний момент щодо MAC-адрес.
JamesBarnett

3

Насправді просто створіть папку за цільовим пунктом, потім скопіюйте файли у папку з джерела, і вона залишиться тонкою. Якщо ви скопіюєте папку, вона перетвориться з тонкої на товсту ..


2
Це неправильно. перевірено за допомогою du -h .Thin, став густим при копіюванні у вже створену папку в тій же сховищі даних cp C* ../newdir
Rowan Hawkins

0

Я скопіював би файл, а потім відновив до тонкого через vmkfstools.


Розмір цільового сховища даних фактично менший, ніж вихідний. У мене недостатньо місця для копіювання товстого файлу.
ewwhite

У такому випадку копіювання та відновлення не вийде, але ви також можете використовувати vmkfstools, щоб клонувати його безпосередньо в пункт призначення. Це також скоротить час, необхідний для його перенесення, оскільки він не передає зайві ГБ нулів. Моя відповідь містить подробиці, як це зробити.
ohaal
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.