Проект

Общее

Профиль

Импорт виртуальных машин WindowsLinux (HVM) » История » Версия 18

Владимир Ипатов, 01.02.2021 19:12

1 1 Владимир Ипатов
h1. Импорт виртуальных машин WindowsLinux
2 1 Владимир Ипатов
3 1 Владимир Ипатов
для импорта виртуальной машины Windows/Linux требуется:
4 1 Владимир Ипатов
1) создать виртуальную машину подходящих параметров
5 1 Владимир Ипатов
2) импортировать образ диска в дисковый том виртуальной машины
6 1 Владимир Ипатов
7 1 Владимир Ипатов
h2. Создание виртуальной машины
8 1 Владимир Ипатов
9 3 Владимир Ипатов
создаем виртуальную машину, выбираем в типе операционной системы windows
10 3 Владимир Ипатов
11 2 Владимир Ипатов
!https://sci.skycover.ru/attachments/download/1201/create.png!
12 1 Владимир Ипатов
13 5 Владимир Ипатов
Размер жестких дисков должен совпадать с размером жестких дисков на исходной виртуальной/физической машине. поставить галочку "no install, no start"
14 1 Владимир Ипатов
15 1 Владимир Ипатов
h2. Импорт образа диска
16 1 Владимир Ипатов
17 1 Владимир Ипатов
Импорт образа диска состоит из следующих шагов:
18 1 Владимир Ипатов
19 1 Владимир Ипатов
1) копирование диска на гипервизор/монтирование сетевого диска с образом
20 1 Владимир Ипатов
2) конвертация (если требуется)
21 1 Владимир Ипатов
3) заливка диска в том виртуальной машины
22 1 Владимир Ипатов
23 13 Владимир Ипатов
h3. Копирование образа на гипервизор
24 13 Владимир Ипатов
25 13 Владимир Ипатов
h3. Вариант 1: монтирование сетевой шары, содержащего образ диска, на гипервизор.
26 13 Владимир Ипатов
27 13 Владимир Ипатов
Данный вариант хорошо подходит, когда уже есть готовый образ диска, который можно расшарить по сети.
28 13 Владимир Ипатов
Например, при импорте из hyper-v.
29 13 Владимир Ипатов
30 13 Владимир Ипатов
<pre>
31 15 Владимир Ипатов
aptitude install cifs-utils
32 13 Владимир Ипатов
mount -t cifs //192.168.1.1/share /mnt -o user=guest
33 13 Владимир Ипатов
</pre>
34 13 Владимир Ипатов
В данном примере мы монтируем шару с именем share с сервера 192.168.1.1 в директорию /mnt.
35 13 Владимир Ипатов
пользователь guest используется для анонимного доступа, при запросе пароля следует нажать enter.
36 13 Владимир Ипатов
если доступ по логину и паролю, то следует ввести имя пользователя в команду,пароль будет запрошен.
37 13 Владимир Ипатов
38 13 Владимир Ипатов
после монтирования файлы с шары будут доступны по пути /mnt
39 13 Владимир Ипатов
40 13 Владимир Ипатов
h3. Вариант 2: Организация файлсервера на одном из гипервизоров
41 13 Владимир Ипатов
42 13 Владимир Ипатов
Данный вариант хорошо подходит, когда используется VMWare конвертер.
43 13 Владимир Ипатов
Например, при импорте с физического железа.
44 13 Владимир Ипатов
45 13 Владимир Ипатов
<pre>
46 13 Владимир Ипатов
aptitude install samba
47 13 Владимир Ипатов
mkdir /stuff/share
48 13 Владимир Ипатов
</pre>
49 13 Владимир Ипатов
50 13 Владимир Ипатов
Добавляем в конец файла /etc/samba/smb.conf:
51 13 Владимир Ипатов
<pre>
52 13 Владимир Ипатов
53 13 Владимир Ипатов
[share]
54 13 Владимир Ипатов
path = /stuff/share
55 13 Владимир Ипатов
browseable = yes
56 13 Владимир Ипатов
read only = no
57 13 Владимир Ипатов
guest ok = yes
58 13 Владимир Ипатов
</pre>
59 13 Владимир Ипатов
60 13 Владимир Ипатов
затем перезагружаем файловую службу
61 13 Владимир Ипатов
<pre>
62 13 Владимир Ипатов
service smb restart
63 13 Владимир Ипатов
</pre>
64 13 Владимир Ипатов
65 13 Владимир Ипатов
После этого можно обращаться к гипервизору как к файлсерверу, на нем будет шара share с анонимным доступом. Туда можно залить образ диска для последующей конвертации.
66 13 Владимир Ипатов
67 14 Владимир Ипатов
*ПРИМЕЧАНИЕ:* по умолчанию под раздел /stuff выделено 10гб дискового пространства. Для импорта больших образов раздел нужно увеличить.
68 14 Владимир Ипатов
Например, увеличиваем раздел до 200ГБ:
69 14 Владимир Ипатов
<pre>
70 14 Владимир Ипатов
lvresize /dev/xenvg/system-stuff -L200G
71 14 Владимир Ипатов
resize2fs /dev/xenvg/system-stuff
72 14 Владимир Ипатов
</pre>
73 14 Владимир Ипатов
74 16 Владимир Ипатов
*ПРИМЕЧАНИЕ:* после окончания процесса следует удалить пакет файлового сервера с гипервизора:
75 16 Владимир Ипатов
<pre>
76 16 Владимир Ипатов
aptitude purge samba
77 16 Владимир Ипатов
</pre>
78 16 Владимир Ипатов
79 9 Владимир Ипатов
h3. Конвертация
80 9 Владимир Ипатов
81 9 Владимир Ипатов
82 9 Владимир Ипатов
Имя тома можно посмотреть, нажав кнопку Инфо на странице виртуальной машины. Внизу страницы, где информация о дисках, будет указано имя блочного устройства для этой машины
83 11 Владимир Ипатов
84 9 Владимир Ипатов
!https://sci.skycover.ru/attachments/download/1208/volume.png!
85 9 Владимир Ипатов
86 9 Владимир Ипатов
для машин с резервированием он будет вида */dev/drbd3*, для машин без резервирования он будет вида */dev/xenvg/9f800a19-6d01-44d2-b27b-e43c2777ddf2.disk0*
87 9 Владимир Ипатов
Если виртуальная машина, в которую будет импортироваться образ, включена, ее следует выключить.
88 10 Владимир Ипатов
89 9 Владимир Ипатов
Перед импортом следует проверить, активирован ли диск:
90 10 Владимир Ипатов
<pre>
91 9 Владимир Ипатов
ls /dev/drbd3
92 9 Владимир Ипатов
</pre>
93 9 Владимир Ипатов
/dev/drbd3 - мы посмотрели на предыдущем шаге.
94 9 Владимир Ипатов
если он отсутствует, то следует активировать диски, для этого на мастере кластера запустить команду:
95 9 Владимир Ипатов
<pre>
96 1 Владимир Ипатов
gnt-instance activate-disks ИМЯ
97 1 Владимир Ипатов
</pre>
98 1 Владимир Ипатов
99 1 Владимир Ипатов
Для импорта образа диска его следует сконвертировать в raw.
100 6 Владимир Ипатов
для этого на гипервизорах есть команда qemu-img:
101 1 Владимир Ипатов
<pre>
102 18 Владимир Ипатов
qemu-img convert -p -O raw mnt/centos.vdi /stuff/centos.img
103 1 Владимир Ипатов
</pre>
104 8 Владимир Ипатов
Где centos.vdi - исходный образ, сentos.img - целевой
105 1 Владимир Ипатов
106 1 Владимир Ипатов
Если образ большой, то конвертацию можно проводить прямо в том виртуальной машины:
107 9 Владимир Ипатов
<pre>
108 18 Владимир Ипатов
qemu-img convert -p -O raw /mnt/centos.vdi /dev/drbd3
109 9 Владимир Ипатов
</pre>
110 1 Владимир Ипатов
где /dev/drbd3 - имя тома виртуальной машины.
111 1 Владимир Ипатов
112 1 Владимир Ипатов
если образ уже в формате raw, то можно использовать команду cat:
113 1 Владимир Ипатов
<pre>
114 13 Владимир Ипатов
cat /mnt/centos.img > /dev/drbd3
115 1 Владимир Ипатов
</pre>
116 4 Владимир Ипатов
117 6 Владимир Ипатов
после завершения импорта можно запустить машину через web интерфейс и убедиться в ее работоспособности с помощью web-консоли (кнопка Консоль на странице ВМ)
118 5 Владимир Ипатов
119 12 Владимир Ипатов
h3. Установка драйверов
120 5 Владимир Ипатов
121 5 Владимир Ипатов
Если импортируется windows, то после импорта следует установить драйвера для xen:
122 5 Владимир Ипатов
После импорта через меню modify выбрать gplpv.iso в качестве образа cdrom. Запустить кнопкой start из веб интерфейса
123 5 Владимир Ипатов
залогиниться в windows через консоль из веб интерфейса
124 5 Владимир Ипатов
открыть содержимое cdrom.
125 5 Владимир Ипатов
Для всех windows старше висты устанавливать драйвера gplpv_Vista2008x64_signed_0.11.0.373.msi в варианте complete.
126 5 Владимир Ипатов
После установки перезагрузиться.
127 5 Владимир Ипатов
После перезагрузки произвести настройку параметров:
128 5 Владимир Ипатов
1) в параметрах всех сетевых интерфейсов отключить TX Offload (Checksum Offload).
129 5 Владимир Ипатов
2) Запретить task offload в реестре:
130 5 Владимир Ипатов
1. Запустить редактор реестра - regedit.
131 5 Владимир Ипатов
2. Добавить новый параметр типа DWORD с именем DisableTaskOffload и значением 1 в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
132 5 Владимир Ипатов
133 5 Владимир Ипатов
После этого перезагрузиться
134 5 Владимир Ипатов
135 5 Владимир Ипатов
Без этого будет могут быть проблемы с производительностью RDP и другого сетевого обмена.
136 17 Владимир Ипатов
137 17 Владимир Ипатов
Для корректной реакции на отправку команды на выключение гипервизором требуется следующее:
138 17 Владимир Ипатов
запустить cmd от администратора, в нем:
139 17 Владимир Ипатов
<pre>
140 17 Владимир Ипатов
cd "C:\Program Files (x86)\Xen PV Drivers\bin" 
141 17 Владимир Ипатов
shutdownmon.exe -i
142 17 Владимир Ипатов
</pre>