Импорт виртуальных машин WindowsLinux (HVM) » История » Версия 18
Версия 17 (Владимир Ипатов, 29.06.2020 20:25) → Версия 18/19 (Владимир Ипатов, 01.02.2021 19:12)
h1. Импорт виртуальных машин WindowsLinux
для импорта виртуальной машины Windows/Linux требуется:
1) создать виртуальную машину подходящих параметров
2) импортировать образ диска в дисковый том виртуальной машины
h2. Создание виртуальной машины
создаем виртуальную машину, выбираем в типе операционной системы windows
!https://sci.skycover.ru/attachments/download/1201/create.png!
Размер жестких дисков должен совпадать с размером жестких дисков на исходной виртуальной/физической машине. поставить галочку "no install, no start"
h2. Импорт образа диска
Импорт образа диска состоит из следующих шагов:
1) копирование диска на гипервизор/монтирование сетевого диска с образом
2) конвертация (если требуется)
3) заливка диска в том виртуальной машины
h3. Копирование образа на гипервизор
h3. Вариант 1: монтирование сетевой шары, содержащего образ диска, на гипервизор.
Данный вариант хорошо подходит, когда уже есть готовый образ диска, который можно расшарить по сети.
Например, при импорте из hyper-v.
<pre>
aptitude install cifs-utils
mount -t cifs //192.168.1.1/share /mnt -o user=guest
</pre>
В данном примере мы монтируем шару с именем share с сервера 192.168.1.1 в директорию /mnt.
пользователь guest используется для анонимного доступа, при запросе пароля следует нажать enter.
если доступ по логину и паролю, то следует ввести имя пользователя в команду,пароль будет запрошен.
после монтирования файлы с шары будут доступны по пути /mnt
h3. Вариант 2: Организация файлсервера на одном из гипервизоров
Данный вариант хорошо подходит, когда используется VMWare конвертер.
Например, при импорте с физического железа.
<pre>
aptitude install samba
mkdir /stuff/share
</pre>
Добавляем в конец файла /etc/samba/smb.conf:
<pre>
[share]
path = /stuff/share
browseable = yes
read only = no
guest ok = yes
</pre>
затем перезагружаем файловую службу
<pre>
service smb restart
</pre>
После этого можно обращаться к гипервизору как к файлсерверу, на нем будет шара share с анонимным доступом. Туда можно залить образ диска для последующей конвертации.
*ПРИМЕЧАНИЕ:* по умолчанию под раздел /stuff выделено 10гб дискового пространства. Для импорта больших образов раздел нужно увеличить.
Например, увеличиваем раздел до 200ГБ:
<pre>
lvresize /dev/xenvg/system-stuff -L200G
resize2fs /dev/xenvg/system-stuff
</pre>
*ПРИМЕЧАНИЕ:* после окончания процесса следует удалить пакет файлового сервера с гипервизора:
<pre>
aptitude purge samba
</pre>
h3. Конвертация
Имя тома можно посмотреть, нажав кнопку Инфо на странице виртуальной машины. Внизу страницы, где информация о дисках, будет указано имя блочного устройства для этой машины
!https://sci.skycover.ru/attachments/download/1208/volume.png!
для машин с резервированием он будет вида */dev/drbd3*, для машин без резервирования он будет вида */dev/xenvg/9f800a19-6d01-44d2-b27b-e43c2777ddf2.disk0*
Если виртуальная машина, в которую будет импортироваться образ, включена, ее следует выключить.
Перед импортом следует проверить, активирован ли диск:
<pre>
ls /dev/drbd3
</pre>
/dev/drbd3 - мы посмотрели на предыдущем шаге.
если он отсутствует, то следует активировать диски, для этого на мастере кластера запустить команду:
<pre>
gnt-instance activate-disks ИМЯ
</pre>
Для импорта образа диска его следует сконвертировать в raw.
для этого на гипервизорах есть команда qemu-img:
<pre>
qemu-img convert -p -O raw mnt/centos.vdi /stuff/centos.img
</pre>
Где centos.vdi - исходный образ, сentos.img - целевой
Если образ большой, то конвертацию можно проводить прямо в том виртуальной машины:
<pre>
qemu-img convert -p -O raw /mnt/centos.vdi /dev/drbd3
</pre>
где /dev/drbd3 - имя тома виртуальной машины.
если образ уже в формате raw, то можно использовать команду cat:
<pre>
cat /mnt/centos.img > /dev/drbd3
</pre>
после завершения импорта можно запустить машину через web интерфейс и убедиться в ее работоспособности с помощью web-консоли (кнопка Консоль на странице ВМ)
h3. Установка драйверов
Если импортируется windows, то после импорта следует установить драйвера для xen:
После импорта через меню modify выбрать gplpv.iso в качестве образа cdrom. Запустить кнопкой start из веб интерфейса
залогиниться в windows через консоль из веб интерфейса
открыть содержимое cdrom.
Для всех windows старше висты устанавливать драйвера gplpv_Vista2008x64_signed_0.11.0.373.msi в варианте complete.
После установки перезагрузиться.
После перезагрузки произвести настройку параметров:
1) в параметрах всех сетевых интерфейсов отключить TX Offload (Checksum Offload).
2) Запретить task offload в реестре:
1. Запустить редактор реестра - regedit.
2. Добавить новый параметр типа DWORD с именем DisableTaskOffload и значением 1 в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
После этого перезагрузиться
Без этого будет могут быть проблемы с производительностью RDP и другого сетевого обмена.
Для корректной реакции на отправку команды на выключение гипервизором требуется следующее:
запустить cmd от администратора, в нем:
<pre>
cd "C:\Program Files (x86)\Xen PV Drivers\bin"
shutdownmon.exe -i
</pre>
для импорта виртуальной машины Windows/Linux требуется:
1) создать виртуальную машину подходящих параметров
2) импортировать образ диска в дисковый том виртуальной машины
h2. Создание виртуальной машины
создаем виртуальную машину, выбираем в типе операционной системы windows
!https://sci.skycover.ru/attachments/download/1201/create.png!
Размер жестких дисков должен совпадать с размером жестких дисков на исходной виртуальной/физической машине. поставить галочку "no install, no start"
h2. Импорт образа диска
Импорт образа диска состоит из следующих шагов:
1) копирование диска на гипервизор/монтирование сетевого диска с образом
2) конвертация (если требуется)
3) заливка диска в том виртуальной машины
h3. Копирование образа на гипервизор
h3. Вариант 1: монтирование сетевой шары, содержащего образ диска, на гипервизор.
Данный вариант хорошо подходит, когда уже есть готовый образ диска, который можно расшарить по сети.
Например, при импорте из hyper-v.
<pre>
aptitude install cifs-utils
mount -t cifs //192.168.1.1/share /mnt -o user=guest
</pre>
В данном примере мы монтируем шару с именем share с сервера 192.168.1.1 в директорию /mnt.
пользователь guest используется для анонимного доступа, при запросе пароля следует нажать enter.
если доступ по логину и паролю, то следует ввести имя пользователя в команду,пароль будет запрошен.
после монтирования файлы с шары будут доступны по пути /mnt
h3. Вариант 2: Организация файлсервера на одном из гипервизоров
Данный вариант хорошо подходит, когда используется VMWare конвертер.
Например, при импорте с физического железа.
<pre>
aptitude install samba
mkdir /stuff/share
</pre>
Добавляем в конец файла /etc/samba/smb.conf:
<pre>
[share]
path = /stuff/share
browseable = yes
read only = no
guest ok = yes
</pre>
затем перезагружаем файловую службу
<pre>
service smb restart
</pre>
После этого можно обращаться к гипервизору как к файлсерверу, на нем будет шара share с анонимным доступом. Туда можно залить образ диска для последующей конвертации.
*ПРИМЕЧАНИЕ:* по умолчанию под раздел /stuff выделено 10гб дискового пространства. Для импорта больших образов раздел нужно увеличить.
Например, увеличиваем раздел до 200ГБ:
<pre>
lvresize /dev/xenvg/system-stuff -L200G
resize2fs /dev/xenvg/system-stuff
</pre>
*ПРИМЕЧАНИЕ:* после окончания процесса следует удалить пакет файлового сервера с гипервизора:
<pre>
aptitude purge samba
</pre>
h3. Конвертация
Имя тома можно посмотреть, нажав кнопку Инфо на странице виртуальной машины. Внизу страницы, где информация о дисках, будет указано имя блочного устройства для этой машины
!https://sci.skycover.ru/attachments/download/1208/volume.png!
для машин с резервированием он будет вида */dev/drbd3*, для машин без резервирования он будет вида */dev/xenvg/9f800a19-6d01-44d2-b27b-e43c2777ddf2.disk0*
Если виртуальная машина, в которую будет импортироваться образ, включена, ее следует выключить.
Перед импортом следует проверить, активирован ли диск:
<pre>
ls /dev/drbd3
</pre>
/dev/drbd3 - мы посмотрели на предыдущем шаге.
если он отсутствует, то следует активировать диски, для этого на мастере кластера запустить команду:
<pre>
gnt-instance activate-disks ИМЯ
</pre>
Для импорта образа диска его следует сконвертировать в raw.
для этого на гипервизорах есть команда qemu-img:
<pre>
qemu-img convert -p -O raw mnt/centos.vdi /stuff/centos.img
</pre>
Где centos.vdi - исходный образ, сentos.img - целевой
Если образ большой, то конвертацию можно проводить прямо в том виртуальной машины:
<pre>
qemu-img convert -p -O raw /mnt/centos.vdi /dev/drbd3
</pre>
где /dev/drbd3 - имя тома виртуальной машины.
если образ уже в формате raw, то можно использовать команду cat:
<pre>
cat /mnt/centos.img > /dev/drbd3
</pre>
после завершения импорта можно запустить машину через web интерфейс и убедиться в ее работоспособности с помощью web-консоли (кнопка Консоль на странице ВМ)
h3. Установка драйверов
Если импортируется windows, то после импорта следует установить драйвера для xen:
После импорта через меню modify выбрать gplpv.iso в качестве образа cdrom. Запустить кнопкой start из веб интерфейса
залогиниться в windows через консоль из веб интерфейса
открыть содержимое cdrom.
Для всех windows старше висты устанавливать драйвера gplpv_Vista2008x64_signed_0.11.0.373.msi в варианте complete.
После установки перезагрузиться.
После перезагрузки произвести настройку параметров:
1) в параметрах всех сетевых интерфейсов отключить TX Offload (Checksum Offload).
2) Запретить task offload в реестре:
1. Запустить редактор реестра - regedit.
2. Добавить новый параметр типа DWORD с именем DisableTaskOffload и значением 1 в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
После этого перезагрузиться
Без этого будет могут быть проблемы с производительностью RDP и другого сетевого обмена.
Для корректной реакции на отправку команды на выключение гипервизором требуется следующее:
запустить cmd от администратора, в нем:
<pre>
cd "C:\Program Files (x86)\Xen PV Drivers\bin"
shutdownmon.exe -i
</pre>