Міграція за допомогою Virt-V2V
Опис
У цій статті описано один зі способів самостійної міграції віртуальних машин до
інфраструктури проєкту SIM-Cloud. У прикладі наведено послідовність міграції
віртуальних серверів із гіпервізора ESXi версії 6.7.0 (збірка 8169922), а також
встановлення драйверів virtio у Windows за допомогою спеціалізованої програми
virt-v2v. Докладніше про неї дивіться в посібнику Red Hat V2V.
Самостійну міграцію гостьової машини можна виконати одним із двох способів:
Використати підготовлений системний образ зі списку доступних образів SIM-Cloud.
Самостійно встановити систему для перетворення дисків і подальшого імпорту до проєкту SIM-Cloud.
Для виконання інструкцій потрібні навички адміністрування Linux і Windows. Також передбачається, що користувач знайомий з основними можливостями панелі керування SIM-Cloud і прочитав такі статті:
Основна інформація
Для міграції віртуального сервера до SIM-Cloud потрібно скопіювати системний диск зі встановленою операційною системою та додаткові диски гостьової машини з наявної системи віртуалізації до хмарного проєкту клієнта.
Передумови для копіювання дисків до хмари:
видалити VMware Tools із гостьової системи;
перетворити образ диска у формат
raw;встановити драйвери virtio, необхідні для запуску інстансу на KVM.
NetKVM |
мережевий драйвер virtio |
Viostor |
драйвер блокових пристроїв virtio |
Vioscsi |
драйвер virtio для інтерфейсу SCSI |
Vioser |
драйвер послідовного інтерфейсу virtio |
Balloon |
драйвер динамічного керування пам’яттю virtio |
Докладніше про драйвери virtio дивіться на сайті розробника.
Після підготовки диски потрібно скопіювати до проєкту SIM-Cloud. Залежно від
завдання для цього використовують команди Linux dd або cat. Дані
підготовленого диска побайтово копіюються на блоковий пристрій — диск, підключений
до наявного інстансу в хмарі.
Процедури міграції системного диска й диска даних відрізняються.
Міграція системного диска
Для системного диска потрібно:
видалити VMware Tools;
переконатися, що на диску достатньо вільного місця для встановлення драйверів;
перетворити диск у формат
raw;встановити додаткові драйвери virtio;
скопіювати готовий образ до проєкту SIM-Cloud.
Міграція додаткового диска даних
Для підготовки диска даних потрібно:
перетворити диск у формат
raw;скопіювати готовий образ до проєкту SIM-Cloud.
Під час підготовки образу диска даних додаткові драйвери встановлювати не потрібно. Диск буде підключено до інстансу, у якому вже є всі необхідні драйвери для правильного розпізнавання нового пристрою.
Міграція за допомогою підготовленого образу SIM-V2V
Використання підготовленого образу
Розглянемо варіант із використанням готового образу.
Команда SIM-Cloud підготувала системний образ для швидкого початку міграції віртуального сервера до проєкту SIM-Cloud.
Системний образ SIM-V2V створено на основі дистрибутива GNU Linux CentOS 7.4 [EN], який також є в загальнодоступному списку образів SIM-Cloud.
Параметри доступу до ОС:
користувач:
root;пароль:
sim-v2v.
Примітка
З міркувань безпеки після першої успішної авторизації система вимагатиме змінити пароль.
Запуск інстансу SIM-V2V
Запустіть інстанс із підготовленого образу SIM-V2V.
Процес створення інстансу описано в статті Швидкий старт.
Примітка
Для створення інстансу рекомендовано обрати тип із характеристиками не
нижчими за SIM-A1 (2 vCPU і 4 ГБ RAM), а для системного диска — сховище
типу gs1 обсягом 10 ГБ.
Підключення додаткового диска
Підключіть до інстансу додатковий диск для зберігання вихідних і вже перетворених дисків гостьових машин.
Після розгортання інстансу з CentOS Linux 7 підключіть до нього додатковий диск
типу gs1.
Обсяг додаткового диска має дорівнювати повному розміру образу, що мігрує, плюс щонайменше 150% цього розміру. Наприклад, для образу обсягом 200 ГБ підключіть диск приблизно на 500 ГБ (200 ГБ + 300 ГБ). Додаткове місце потрібне для підготовленого образу, який згодом буде перенесено на окремий блоковий пристрій для запуску інстансу. Процес підключення описано в окремій статті.
Підключення диска в ОС інстансу
Підключіть новий додатковий диск в операційній системі інстансу.
Приклад підключення додаткового диска в Linux наведено в окремій статті.
Підключення до VMware та копіювання дисків гостьової машини
Підключіть інстанс до гіпервізора VMware, щоб скопіювати диски гостьової машини.
На цьому етапі потрібно підключитися до сервера ESXi, скопіювати диски
віртуальної машини та перетворити їх у формат raw. За замовчуванням служба
v2v копіює всі диски, підключені до віртуальної машини. Спочатку перейдіть до
каталогу, у який копіюватимуться диски:
cd /data
Примітка
Перед копіюванням образу з ESXi:
Видаліть VMware Tools з ОС гостьової машини. Якщо компонента немає, пропустіть цей крок. Для видалення відкрийте
Start→Control Panel→Programs and Features, виберіть VMware Tools і натиснітьUninstall.Після видалення VMware Tools вимкніть віртуальну машину. Якщо вона працює, копіювання образу диска не розпочнеться.
Приклад підключення до віддаленого гіпервізора ESXi:
Увага
Після запуску команди копіювання гостьової машини із сервера ESXi
служба кілька разів запросить пароль користувача, від імені якого
виконується підключення: Enter host password for user 'user_esxi':.
virt-v2v-copy-to-local -ic esx://user_esxi@esxi_n.sim-networks.net 2012_v2v
[ 0,0] Fetching the remote libvirt XML metadata ...
2019-02-12 10:31:24.317+0000: 19144: info : libvirt version: 4.5.0, package: 10.el7_6.4 (CentOS BuildSystem <http://bugs.centos.org>, 2019-01-29-17:31:22, x86-01.bsys.centos.org)
2019-02-12 10:31:24.317+0000: 19144: info : hostname: v2v-prod
2019-02-12 10:31:24.317+0000: 19144: warning : esxConnectOpen:857 : Ignoring unexpected path '' for non-vpx scheme 'esx'
Enter user_esxi's password for esxi_n.sim-networks.net:
[ 6,9] Parsing the remote libvirt XML metadata ...
Enter host password for user 'user_esxi':
Enter host password for user 'user_esxi':
Enter host password for user 'user_esxi':
Enter host password for user 'user_esxi':
[ 29,6] Copying remote disk 1/2 to 2012_v2v-disk1
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 40.0G 100 40.0G 0 0 86.9M 0 0:07:50 0:07:50 --:--:-- 87.8M
[ 500,5] Copying remote disk 2/2 to 2012_v2v-disk2
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 10.0G 100 10.0G 0 0 86.0M 0 0:01:59 0:01:59 --:--:-- 88.8M
[ 619,6] Writing libvirt XML metadata to 2012_v2v.xml ...
[ 619,6] Finishing off
"user_esxi" — ім'я користувача, якому дозволено віддалено підключатися
до сервера ESXi через SSH.
"esxi_n.sim-networks.net" — FQDN віддаленого сервера ESXi.
"2012_v2v" — ім'я гостьової віртуальної машини.
"-v -x" — необов'язкові параметри для виведення налагоджувальної інформації.
Щоб вивести додаткову налагоджувальну інформацію, запустіть команду з
параметрами "-v -x".
Приклад: virt-v2v-copy-to-local -ic esx://user_esxi@esxi_n.sim-networks.net 2012_v2v -v -x
Примітка
Якщо сервер ESXi використовує самопідписаний сертифікат, підключення може завершитися помилкою: «libvirt: ESX Driver error : internal error: curl_easy_perform() returned an error: Peer certificate cannot be authenticated with given CA certificates (60) : Peer’s certificate issuer has been marked as not trusted by the user».
Щоб її усунути, використовуйте адресу у форматі
esx://example-esx.com/?no_verify=1.
Приклад: virt-v2v-copy-to-local -ic esx://user_esxi@esxi_n.sim-networks.net/?no_verify=1 2012_v2v -v -x.
Примітка
Тривалість копіювання залежить від розміру диска та швидкості з’єднання із сервером ESXi. Під час операції служба v2v показує поточний стан і кількість дисків, вибраних для копіювання.
Перевірте скопійовані образи дисків.
Перегляньте наявність і розмір файлів командою ls -lh:
ls -lh /data
total 51G
-rw-r--r--. 1 root root 40G Feb 12 11:39 2012_v2v-disk1
-rw-r--r--. 1 root root 10G Feb 12 11:41 2012_v2v-disk2
-rw-r--r--. 1 root root 1,4K Feb 12 11:41 2012_v2v.xml
drwx------. 2 root root 16K Feb 12 10:56 lost+found
"2012_v2v-disk1" — системний диск, 40 ГБ.
"2012_v2v-disk2" — диск даних, 10 ГБ.
Перевірте формат файлів командою qemu-img info:
qemu-img info 2012_v2v-disk1
image: 2012_v2v-disk1
file format: raw
virtual size: 40G (42949672960 bytes)
disk size: 40G
qemu-img info 2012_v2v-disk2
image: 2012_v2v-disk2
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 10G
З виведення видно, що файли мають потрібний формат raw і правильний розмір.
Встановлення драйверів для системного диска
Перетворіть системний диск і встановіть для нього драйвери.
На цьому етапі потрібно встановити драйвери virtio для системних дисків із Windows. Для системних дисків із Linux додаткове встановлення драйверів virtio не потрібне.
Програма virt-v2v автоматично визначає версію та тип Windows і встановлює
потрібні драйвери virtio.
Приклад перетворення системного диска з Windows Server 2012 Standard:
virt-v2v -i disk /data/2012_v2v-disk1 -o local -os /data
[ 0,0] Opening the source -i disk /data/2012_v2v-disk1
[ 0,0] Creating an overlay to protect the source from being modified
[ 0,1] Initializing the target -o local -os /data
[ 0,1] Opening the overlay
[ 45,5] Inspecting the overlay
[ 49,1] Checking for sufficient free disk space in the guest
[ 49,1] Estimating space required on target for each disk
[ 49,1] Converting Windows Server 2012 Standard Evaluation to run on KVM
virt-v2v: warning: /usr/share/virt-tools/pnp_wait.exe is missing.
Firstboot scripts may conflict with PnP.
virt-v2v: warning: there is no QXL driver for this version of Windows (6.2
x86_64). virt-v2v looks for this driver in
/usr/share/virtio-win/virtio-win.iso
The guest will be configured to use a basic VGA display driver.
virt-v2v: This guest has virtio drivers installed.
[ 66,4] Mapping filesystem data to avoid copying unused and blank areas
[ 67,2] Closing the overlay
[ 67,5] Checking if the guest needs BIOS or UEFI to boot
[ 67,5] Assigning disks to buses
[ 67,5] Copying disk 1/1 to /data/2012_v2v-disk1-sda (raw)
(100.00/100%)
[ 383,7] Creating output metadata
[ 383,7] Finishing off
Примітка
Під час встановлення драйверів служба v2v не знаходить відеодрайвери, тому система використовує стандартний драйвер VGA. Відеодрайвери вилучено навмисно: їх встановлення призводило до неправильного відображення графічного інтерфейсу гостьової машини. Не встановлюйте їх.
Після встановлення драйверів і перетворення диска перевірте наявність потрібного файлу:
ls -lh /data
total 59G
-rw-r--r--. 1 qemu qemu 40G Feb 12 11:39 2012_v2v-disk1
-rw-r--r--. 1 root root 40G Feb 12 12:41 2012_v2v-disk1-sda
-rw-r--r--. 1 root root 1,3K Feb 12 12:41 2012_v2v-disk1.xml
-rw-r--r--. 1 root root 10G Feb 12 11:41 2012_v2v-disk2
-rw-r--r--. 1 root root 1,4K Feb 12 11:41 2012_v2v.xml
drwx------. 2 root root 16K Feb 12 10:56 lost+found
"2012_v2v-disk1-sda" — підготовлений диск зі встановленими драйверами.
Перевірте формат файлу:
qemu-img info 2012_v2v-disk1-sda
image: 2012_v2v-disk1-sda
file format: raw
virtual size: 40G (42949672960 bytes)
disk size: 8.1G
Перетворення додаткових дисків
Підготуйте додаткові диски даних.
Додаткові диски, скопійовані під час підключення до гіпервізора, не потребують
додаткової обробки або перетворення: вони вже мають потрібний формат raw.
Створення та підключення завантажувального системного диска
Підключіть додатковий диск для створення завантажувального системного диска.
Спочатку визначте потрібний обсяг нового диска, з якого запускатиметься інстанс або який використовуватиметься як додатковий. Якщо новий диск менший за диск, що імпортується, копіювання завершиться помилкою; надмірно великий диск нераціонально використовуватиме ресурси.
Щоб визначити потрібний обсяг, перегляньте розмір підготовленого диска командою
ls -lh <ім'я_файлу>:
ls -lh 2012_v2v-disk1-sda
-rw-r--r--. 1 root root 40G Feb 12 12:41 2012_v2v-disk1-sda
У цьому прикладі файл 2012_v2v-disk1-sda із підготовленим системним диском
має розмір 40 ГБ, тому новий диск також має бути обсягом 40 ГБ.
Процес створення диска описано в окремій статті. Створіть порожній диск і підключіть його до інстансу v2v, як описано вище.
Після додавання нового диска на 40 ГБ перевірте його наявність в ОС:
fdisk -l
Disk /dev/vdc: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Пристрій /dev/vdc доступний і готовий до використання.
Копіювання образу системного диска на новий диск
Скопіюйте підготовлений образ системного диска на новий додатковий диск.
Оскільки всі диски підключено до одного інстансу з Linux, скопіюйте образ
локально за допомогою утиліти dd.
Приклад копіювання образу на окремий пристрій /dev/vdc:
dd if=/data/2012_v2v-disk1-sda of=/dev/vdc bs=32M
1280+0 records in
1280+0 records out
42949672960 bytes (43 GB) copied, 172,71 s, 249 MB/s
Образ диска скопійовано на блоковий пристрій /dev/vdc.
Відключення диска з копією системного диска
Відключіть додатковий диск, на який скопійовано системний диск.
Після успішного копіювання відключіть цільовий блоковий пристрій: надалі з цього
диска буде запущено новий інстанс. У прикладі потрібно відключити /dev/vdc.
Процес відключення описано в статті Відключення диска.
Увімкнення параметра Boot для системного диска
Змініть налаштування системного диска та увімкніть параметр
Bootable.
Редагування диска
Для цього:
відкрийте меню
Volumesі виберітьVolumes;у стовпці
Actionsвідкрийте список і виберітьEdit Volume;у діалоговому вікні встановіть прапорець
Bootable.
Підключення дисків для створення дисків даних
Підключіть до інстансу додаткові диски для створення дисків даних.
Цей крок потрібен, якщо мігрують додаткові диски. Щоб скопіювати такий диск, скористайтеся рекомендаціями з кроку 7.
Копіювання підготовлених образів дисків даних
Скопіюйте підготовлені образи дисків даних на нові додаткові диски.
Технічно копіювання образу додаткового диска не відрізняється від копіювання системного диска.
У прикладі копіюється додатковий диск 2012_v2v-disk2, отриманий на етапі
підключення до гіпервізора (крок 4):
dd if=/data/2012_v2v-disk2 of=/dev/vdc bs=32M
320+0 records in
320+0 records out
10737418240 bytes (11 GB) copied, 79,7397 s, 135 MB/s
Диск даних успішно скопійовано.
Відключення додаткових дисків
Відключіть додаткові диски, на які скопійовано диски даних.
Процес відключення описано в статті Відключення диска. У прикладі потрібно
відключити пристрій /dev/vdc.
Запуск інстансу
Запустіть інстанс із підготовленого завантажувального диска.
Виконавши попередні кроки, ви отримаєте копії дисків гостьової машини
2012_v2v із сервера esxi_n.sim-networks.net у хмарному проєкті.
Запустіть новий інстанс зі скопійованого системного диска. Після успішного запуску підключіть до нього додаткові диски.
Встановлення необхідних драйверів virtio та QEMU Guest Agent
Завершіть встановлення необхідних драйверів virtio та QEMU Guest Agent
qemu-ga-x64у Windows.
Встановлення драйверів virtio та QEMU Guest Agent
Після успішного завантаження інстансу встановіть компоненти, потрібні для стабільної роботи віртуальної машини та керування нею засобами OpenStack:
Balloon
NetKVM
QEMU Guest Agent.
Інші драйвери встановлюйте за потреби.
Щоб установити драйвер, відкрийте диспетчер пристроїв Windows, натисніть правою
кнопкою миші потрібний пристрій і виберіть Update driver. Спочатку виберіть
Ethernet Controller:
У вікні оновлення драйвера Ethernet Controller виберіть Browse my computer
for drivers.
У наступному вікні виберіть Let me pick from a list of available drivers on my
computer і натисніть Next.
У вікні вибору типу пристрою залиште Show All Devices і натисніть Next.
У вікні вибору драйвера виберіть Red Hat VirtIO Ethernet Adapter і натисніть
Next.
У вікні Windows Security установіть прапорець Always trust software from Red
Hat, Inc. і натисніть Install.
Повідомлення про успішне оновлення підтверджує, що драйвер мережевого пристрою встановлено.
Повторіть ці кроки для PCI-пристрою, щоб установити VirtIO Balloon Driver.
Драйвер PCI-пристрою VirtIO Balloon Driver встановлено.
Після встановлення всіх драйверів у розділі Other devices не повинно бути
пристроїв без драйверів.
Після встановлення драйверів установіть QEMU Guest Agent. Завантажте стабільний ISO-образ
virtio-win за посиланням.
У каталозі guest-agent запустіть інсталятор qemu-ga-x64.msi. Додаткові
параметри встановлення не потрібні.
Підключення додаткових дисків даних до інстансу
Підключіть додаткові диски даних до нового інстансу.
Скористайтеся інструкцією Підключення додаткового диска до інстансу.
Перевірка результатів міграції віртуальної машини
Перевірте роботу служб, сервісів і ліцензій на мігрованому сервері. Також перевірте стан сервера та доступність ресурсів і внесіть зміни, пов’язані з новою IP-адресацією. Переконайтеся, що після міграції всі компоненти працюють належним чином.
Підготовка сервера до міграції
Розгортання системи
Для розгортання служби потрібно встановити кілька програмних пакетів і змінити
ISO-образ із драйверами. У наведеному прикладі відеодрайвери вилучаються, після
чого створюється новий ISO-образ без каталогів qxl і qxldod. Як зазначено
вище, ці драйвери спричиняють неправильну роботу віртуального відеопристрою.
Перевірте наявність оновлень ОС:
yum check-update
Установіть доступні оновлення ОС:
yum update -y
Встановлення програмного забезпечення
Від імені користувача root установіть пакет virt-v2v:
yum install virt-v2v -y
Додайте репозиторій virtio-win.repo:
wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo -O /etc/yum.repos.d/virtio-win.repo
yum install virtio-win -y
Установіть пакет xorriso для створення ISO-образів:
yum install xorriso -y
Підключіть ISO-образ virtio-win-0.1.141.iso до точки монтування /mnt:
mount -o loop /usr/share/virtio-win/virtio-win-0.1.141.iso /mnt
Перевірте вміст підключеного образу:
ls -lh /mnt/
total 5,7M
dr-xr-xr-x. 13 root root 2,0K Aug 4 2017 Balloon
dr-xr-xr-x. 2 root root 2,0K Aug 4 2017 guest-agent
dr-xr-xr-x. 13 root root 2,0K Aug 4 2017 NetKVM
dr-xr-xr-x. 11 root root 2,0K Aug 4 2017 pvpanic
dr-xr-xr-x. 4 root root 2,0K Aug 4 2017 qemufwcfg
dr-xr-xr-x. 11 root root 2,0K Aug 4 2017 qemupciserial
dr-xr-xr-x. 5 root root 2,0K Aug 4 2017 qxl
dr-xr-xr-x. 8 root root 2,0K Aug 4 2017 qxldod
dr-xr-xr-x. 3 root root 2,0K Aug 4 2017 smbus
dr-xr-xr-x. 10 root root 2,0K Aug 4 2017 vioinput
dr-xr-xr-x. 11 root root 2,0K Aug 4 2017 viorng
dr-xr-xr-x. 11 root root 2,0K Aug 4 2017 vioscsi
dr-xr-xr-x. 13 root root 2,0K Aug 4 2017 vioserial
dr-xr-xr-x. 13 root root 2,0K Aug 4 2017 viostor
-r--r--r--. 1 root root 2,9M Aug 4 2017 virtio-win-0.1.141_amd64.vfd
-r--r--r--. 1 root root 2,9M Aug 4 2017 virtio-win-0.1.141_x86.vfd
-r--r--r--. 1 root root 20K Aug 4 2017 virtio-win_license.txt
Створіть каталог iso, до якого буде скопійовано вміст образу
virtio-win-0.1.141.iso:
mkdir /data/iso
Перейдіть до каталогу /mnt:
cd /mnt
Скопіюйте всі дані з образу virtio-win-0.1.141.iso до каталогу /data/iso/:
cp -r /mnt/. /data/iso/
Перевірте, що всі дані скопійовано:
ls -lh /data/iso/
total 5,7M
dr-xr-xr-x. 13 root root 4,0K Feb 8 10:45 Balloon
dr-xr-xr-x. 2 root root 4,0K Feb 8 10:45 guest-agent
dr-xr-xr-x. 13 root root 4,0K Feb 8 10:45 NetKVM
dr-xr-xr-x. 11 root root 4,0K Feb 8 10:45 pvpanic
dr-xr-xr-x. 4 root root 4,0K Feb 8 10:45 qemufwcfg
dr-xr-xr-x. 11 root root 4,0K Feb 8 10:45 qemupciserial
dr-xr-xr-x. 5 root root 4,0K Feb 8 10:45 qxl
dr-xr-xr-x. 8 root root 4,0K Feb 8 10:45 qxldod
dr-xr-xr-x. 3 root root 4,0K Feb 8 10:45 smbus
dr-xr-xr-x. 10 root root 4,0K Feb 8 10:45 vioinput
dr-xr-xr-x. 11 root root 4,0K Feb 8 10:45 viorng
dr-xr-xr-x. 11 root root 4,0K Feb 8 10:45 vioscsi
dr-xr-xr-x. 13 root root 4,0K Feb 8 10:45 vioserial
dr-xr-xr-x. 13 root root 4,0K Feb 8 10:45 viostor
-r--r--r--. 1 root root 2,9M Feb 8 10:45 virtio-win-0.1.141_amd64.vfd
-r--r--r--. 1 root root 2,9M Feb 8 10:45 virtio-win-0.1.141_x86.vfd
-r--r--r--. 1 root root 20K Feb 8 10:45 virtio-win_license.txt
Видаліть каталоги відеодрайверів qxl і qxldod із /data/iso/:
rm -rf /data/iso/qxl
rm -rf /data/iso/qxldod
Перевірте, що каталоги видалено:
ls -lh /data/iso/
total 5,7M
dr-xr-xr-x. 13 root root 4,0K Feb 8 10:45 Balloon
dr-xr-xr-x. 2 root root 4,0K Feb 8 10:45 guest-agent
dr-xr-xr-x. 13 root root 4,0K Feb 8 10:45 NetKVM
dr-xr-xr-x. 11 root root 4,0K Feb 8 10:45 pvpanic
dr-xr-xr-x. 4 root root 4,0K Feb 8 10:45 qemufwcfg
dr-xr-xr-x. 11 root root 4,0K Feb 8 10:45 qemupciserial
dr-xr-xr-x. 3 root root 4,0K Feb 8 10:45 smbus
dr-xr-xr-x. 10 root root 4,0K Feb 8 10:45 vioinput
dr-xr-xr-x. 11 root root 4,0K Feb 8 10:45 viorng
dr-xr-xr-x. 11 root root 4,0K Feb 8 10:45 vioscsi
dr-xr-xr-x. 13 root root 4,0K Feb 8 10:45 vioserial
dr-xr-xr-x. 13 root root 4,0K Feb 8 10:45 viostor
-r--r--r--. 1 root root 2,9M Feb 8 10:45 virtio-win-0.1.141_amd64.vfd
-r--r--r--. 1 root root 2,9M Feb 8 10:45 virtio-win-0.1.141_x86.vfd
-r--r--r--. 1 root root 20K Feb 8 10:45 virtio-win_license.txt
Створіть із файлів у каталозі /data/iso/ ISO-образ з ім’ям
virtio-win-0.1.141.iso:
xorrisofs -r -J -o /data/virtio-win-0.1.141.iso /data/iso/
xorriso 1.5.0 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev 'stdio:/data/virtio-win-0.1.141.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 186g free
Added to ISO image: directory '/'='/data/iso'
xorriso : UPDATE : 990 files added in 1 seconds
xorriso : UPDATE : 990 files added in 1 seconds
xorriso : UPDATE : 8.61% done
ISO image produced: 278601 sectors
Written to medium : 278601 sectors at LBA 0
Writing to 'stdio:/data/virtio-win-0.1.141.iso' completed successfully.
Перевірте наявність створеного ISO-образу в каталозі /data:
ls -lh /data
total 545M
drwxr-xr-x. 14 root root 4,0K Feb 8 10:54 iso
drwx------. 2 root root 16K Feb 8 10:37 lost+found
-rw-r--r--. 1 root root 545M Feb 8 10:58 virtio-win-0.1.141.iso
Потрібний образ створено.
Замініть вихідний ISO-образ у каталозі /usr/share/virtio-win/ підготовленим
образом без відеодрайверів. Для цього:
відключіть образ:
umount /mnt
перейдіть до каталогу
/usr/share/virtio-win/і видаліть ISO-образvirtio-win-0.1.141.iso:
cd /usr/share/virtio-win/
rm -f virtio-win-0.1.141.iso
скопіюйте підготовлений ISO-образ:
cp /data/virtio-win-0.1.141.iso .
видаліть ISO-файл із каталогу
/data:
rm -f /data/virtio-win-0.1.141.iso
видаліть файли, з яких було створено ISO-образ:
rm -rf /data/iso/
Перетворення диска вручну
Програмне забезпечення образу SIM-V2V
дає змогу вручну перетворювати віртуальні диски з формату .vmdk у raw
з локального каталогу інстансу.
Цей спосіб застосовують, якщо:
неможливо підключитися до сервера ESXi;
потрібно одноразово перетворити диск даних або системний диск;
користувач має лише певний набір віртуальних дисків, які потрібно перенести до хмари.
Копіювання даних віртуального сервера
Приклад віддаленого підключення до сервера ESXi та рекурсивного копіювання каталогу з файлами віртуальної машини:
scp -r esxi_user@esxi_n.sim-networks.net:/vmfs/volumes/55343e73-583f862a-f32d-0cc47a13cce8/2012_v2v /data/
Password:
2012_v2v.vmx 100% 3513 2.0MB/s 00:00
2012_v2v-flat.vmdk 100% 40GB 92.1MB/s 07:24
2012_v2v.vmdk 100% 448 127.2KB/s 00:00
2012_v2v.vmsd 100% 0 0.0KB/s 00:00
2012_v2v.nvram 100% 8684 6.1MB/s 00:00
vmware-1.log 100% 593KB 70.8MB/s 00:00
2012_v2v_1-flat.vmdk 100% 10GB 90.6MB/s 01:53
vmware-2.log 100% 308KB 55.6MB/s 00:00
2012_v2v_1.vmdk 100% 450 431.0KB/s 00:00
vmware.log 100% 288KB 55.7MB/s 00:00
Усі файли віртуальної машини 2012_v2v скопійовано.
Перевірте скопійовані файли:
ls -lh /data/2012_v2v
total 51G
-rw-------. 1 root root 10G Feb 12 18:01 2012_v2v_1-flat.vmdk
-rw-------. 1 root root 450 Feb 12 18:01 2012_v2v_1.vmdk
-rw-------. 1 root root 40G Feb 12 17:59 2012_v2v-flat.vmdk
-rw-------. 1 root root 8,5K Feb 12 17:59 2012_v2v.nvram
-rw-------. 1 root root 448 Feb 12 17:59 2012_v2v.vmdk
-rw-r--r--. 1 root root 0 Feb 12 17:59 2012_v2v.vmsd
-rwxr-xr-x. 1 root root 3,5K Feb 12 17:52 2012_v2v.vmx
-rw-r--r--. 1 root root 593K Feb 12 17:59 vmware-1.log
-rw-r--r--. 1 root root 309K Feb 12 18:01 vmware-2.log
-rw-r--r--. 1 root root 289K Feb 12 18:01 vmware.log
Дані скопійовано повністю.
Перетворення системного диска
virt-v2v -i disk 2012_v2v-flat.vmdk -o local -of raw -os /data/2012_v2v/ -v -x
[ 0,0] Opening the source -i disk 2012_v2v-flat.vmdk
[ 0,0] Creating an overlay to protect the source from being modified
[ 0,1] Initializing the target -o local -os /data/2012_v2v/
[ 0,1] Opening the overlay
[ 7,9] Inspecting the overlay
[ 11,7] Checking for sufficient free disk space in the guest
[ 11,7] Estimating space required on target for each disk
[ 11,7] Converting Windows Server 2012 Standard Evaluation to run on KVM
virt-v2v: warning: /usr/share/virt-tools/pnp_wait.exe is missing.
Firstboot scripts may conflict with PnP.
virt-v2v: warning: there is no QXL driver for this version of Windows (6.2
x86_64). virt-v2v looks for this driver in
/usr/share/virtio-win/virtio-win.iso
The guest will be configured to use a basic VGA display driver.
virt-v2v: This guest has virtio drivers installed.
[ 29,3] Mapping filesystem data to avoid copying unused and blank areas
[ 30,1] Closing the overlay
[ 30,4] Checking if the guest needs BIOS or UEFI to boot
[ 30,4] Assigning disks to buses
[ 30,4] Copying disk 1/1 to /data/2012_v2v/2012_v2v-flat-sda (raw)
(100.00/100%)
[ 343,4] Creating output metadata
[ 343,4] Finishing off
Перевірте перетворений файл віртуального диска:
qemu-img info 2012_v2v-flat-sda
image: 2012_v2v-flat-sda
file format: raw
virtual size: 40G (42949672960 bytes)
disk size: 8.1G
Файл успішно перетворено в потрібний формат.
Перетворення диска даних
qemu-img convert -p -f vmdk -O raw 2012_v2v_1.vmdk disk.raw
(100.00/100%)
Перевірте дані:
qemu-img info disk.raw
image: disk.raw
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 54M
Файл успішно перетворено в потрібний формат.
Утиліта qemu-img convert підтримує такі формати перетворення:
vvfat vpc vmdk vhdx vdi ssh sheepdog rbd raw host_cdrom host_floppy host_device
file qed qcow2 qcow parallels nbd iscsi gluster dmg tftp ftps ftp https http
cloop bochs blkverify blkdebug
Докладнішу інформацію про утиліту QEMU можна отримати командою
qemu-img --help.
Після підготовки дисків — перетворення в потрібний формат і встановлення драйверів virtio — скопіюйте їх на окремі диски та створіть із них інстанс. У новому інстансі завершіть встановлення драйверів virtio та QEMU Guest Agent. Порядок дій наведено в попередніх розділах цієї інструкції.