| Оглавление | ||
|---|---|---|
|
Требования к системе виртуализации
Для установки и функционирования vESBC установленная версия Xen в режиме HVM должна быть не ниже 4.16.
Использование командной строки XEN (xl)
Создание виртуальной машины
Шаг 1. Создайте виртуальный диск, на котором будет храниться vESBC, используя утилиту dd:
| Блок кода |
|---|
dd if=/dev/zero of=<путь_к_образу_диска> bs=1M count=1024 |
Пример создания диска с названием vesbc_xen.img в домашнем каталоге пользователя xenadmin, размером 10Gb:
| Блок кода | ||
|---|---|---|
xenadmin@xen:~$ | ||
| Информация | ||
| ||
| Блок кода | dd if=/dev/zero of=vesbc_xen.img bs=1M count=1024 |
В итоге должен быть создан пустой файл размером 1 ГБ.
10240
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 22,1395 s, 485 MB/s |
Шаг 2. Создайте конфигурационный файл виртуальной машины vESBC:
| Блок кода |
|---|
xenadmin@xen:~$ sudo nano vESBC1.cfg |
со следующим содержимым:
| Блок кода |
|---|
type =' "hvm'" name='vesbc_xen' = "vESBC1" memory = 4096 vcpus ='4' 4 device_model_version = "qemu-xen" disk = [ '<полный_путь_к_виртуальному_диску>,raw,hdchda,wrw', '<полный_путь_к_установочному_образу>,raw,hdc,hdb:devtype=cdrom,r' ] boot='d' = "dc" serial = "pty" |
где:
type — тип домена виртуальной машины. Для vESBC необходим тип домена HVM, который указывает на то, что данная виртуальная машина является полностью виртуализированным компьютером с эмулируемым BIOS, дисковой и сетевой периферией и т. д.;
...
vcpus — количество виртуальных ядер;
device_model_version — версия эмулятора QEMU;
disk — список дисков:
- <полный_путь_к_виртуальному_диску> — путь к файлу диска, начиная с корневого каталога "/".
- hdc — гостевой диск.
- raw — формат диска.
- hda — эмуляция IDE-диска (Primary Master).
- rw w — уровень доступа. Диск доступен как для чтения, так и для записи.
- <полный_путь_к_установочному_образу> — путь к файлу файлу ISO-образа, начиная начиная с корневого каталога "/".
- cdrom — указатель на тип устройства CD-ROM.
- hdc — эмуляция IDE-диска (Secondary Master).
boot — тип загрузочного дискаприоритет загрузки . Тип "ddc" означает загрузку с сначала CD-ROM.
...
, а затем HDD;
serial — создает виртуальный последовательный порт (COM-порт) в режиме псевдотерминала.
Пример:
...
| Блок кода |
|---|
type =' "hvm' " name='vesbc_xen' = "vESBC1" memory = 4096 vcpus ='4' 4 device_model_version = "qemu-xen" disk = [ '/root home/vesbc xenadmin/vesbc_xen.img,raw,hdc hda,w rw', '/root/vesbc var/lib/libvirt/images/vesbc-1.35 41.0-build4 build19.firmware iso,hdc,hdb: devtype=cdrom,r' ] boot='d' = "dc"
serial = "pty" |
Scroll Pagebreak
Установка vESBC
Шаг 1. Для начала установки запустите виртуальную машину, передав в качестве параметра её конфигурацию:
...
| Блок кода |
|---|
xenadmin@xen:~$ sudo xl create/root/vesbc/vesbc_xen.conf vESBC1.cfg |
Шаг 2. После запуска виртуальной машины подключитесь к консоли средствами Xen:
...
| Блок кода |
|---|
xenadmin@xen:~$ sudo xl consolevesbc_xen vESBC1 |
Дальнейшие действия по установке vESBC описаны vESBC описаны в разделе разделе Процесс установки vESBC.
Шаг 3. После завершения установки выключите vESBC:
| Информация | ||
|---|---|---|
| ||
| Блок кода | ||
xenadmin@xen:~$ sudo xl destroyvesbc_xen -f vESBC1 |
где:
-f — немедленное выключение виртуальной машины.
Шаг 4. В конфигурационном файле необходимо сменить значение параметра поменять местами параметры "boot" с 'd' на 'c', таким образом загрузка будет осуществляться с жёсткого диска, на который был установлен vESBC. Scroll Pagebreak
| Блок кода |
|---|
boot = "cd" |
Шаг 5. Запустите виртуальную машину, передав в качестве параметра изменённую конфигурацию:
| Блок кода |
|---|
xenadmin@xen: |
...
~$ sudo xl create vESBC1.cfg |
Scroll Pagebreak
Подключение сетевых интерфейсов
| Якорь | ||||
|---|---|---|---|---|
|
Перед подключением сетевых интерфейсов в vESBC, например на базе Linux Bridge необходимо предварительно настроить их в хостовой операционной системе.
Пример конфигурации файла config.yaml при конфигурировании через netplan для ОС Ubuntu:
| Блок кода |
|---|
network:
version: 2
ethernets:
eno1: // eno1 - физический интерфейс хоста, который будет использоваться для подключения виртуальной машины vESBC к сети передачи данных.
dhcp4: no
dhcp6: no
eno2:
dhcp4: no
dhcp6: no
enp24s0f0:
dhcp4: no
enp24s0f1:
dhcp4: no
bridges:
br0: // br0 - создание бриджа br0.
interfaces:
- eno1 // добавление интерфейса eno1 в бридж.
addresses:
- 192.168.113.140/20 // настройка IP-адреса хоста (если необходима IP-связность между хостом и виртуальными машинами).
routes:
- to: default // настройка шлюза по умолчанию.
via: 192.168.112.1
nameservers:
addresses:
- 8.8.8.8 // настройка DNS-сервера.
parameters:
stp: false
dhcp4: no
br1: // br1 - создание бриджа br0 без привязки фичеческого интерфейса гипервизора. Такой интерфейс может понадобиться для организации кластерного интерфейса между двумя vESBC.
interfaces: []
parameters:
stp: false
dhcp4: no |
Scroll Pagebreak
...
| title | Пример |
|---|
| Блок кода |
|---|
sudo xl create /root/vesbc/vesbc_xen.conf |
...
Шаг 1. Выключите vESBC:
| Информация | ||
|---|---|---|
| ||
| Блок кода | ||
xenadmin@xen:~$ sudo xl destroyvesbc_xen -f vESBC1 |
Шаг 2. В конфигурационном файле добавьте новые параметры (в примере ниже указано подключение двух сетевых интерфейсов. При подключении более одного интерфейса следует указать все интерфейсы через запятую):
| Блок кода |
|---|
vif = [ 'mac=<MAC-адрес>, model=<модель_сетевой_карты>, bridge=<название_моста>'bridge=br0,model=e1000,mac=00:16:3e:42:8f:c6', 'bridge=br1,model=e1000,mac=00:16:3e:60:d3:aa' ] |
где:
vif — список эмулируемых сетевых интерфейсов.
Задаётся в виде списка виртуальных интерфейсов:
| Блок кода |
|---|
vif = [ 'vifspec', 'vifspec', ... ] |
mac — MAC-адрес сетевой карты. Данный параметр является обязательным. Xen автоматически выдаст MAC-адрес в случае, если не указать его явно.
model — модель эмулируемой сетевой карты. Необязательный параметр. Xen автоматически выставит этот параметр в случае, если не указать его явно.
bridge — имя сетевого моста, к которому нужно подключить виртуальную машину.
...
;
bridge — виртуальный мост в хостовой ОС, к которому подключается интерфейс vESBC;
mac — cтатический MAC-адрес. Рекомендуется использовать префикс 00:16:3e (зарезервирован для Xen);
| Примечание |
|---|
Рекомендуется использовать статический MAC-адрес, т. к. после перезагрузки виртуальной машины, при динамическом выделении адресов может быть выдан другой адрес, и для vESBC это будет новый сетевой интерфейс, а предыдущий интерфейс будет иметь статус неподключенного. В результате будет потеряна IP-связность с vESBC. |
model — тип эмулируемой сетевой карты:
- netfront — высокопроизводительный драйвер виртуализации. Данный драйвер используется по умолчанию в XEN;
Предупреждение Данный драйвер не поддерживается в vESBC. Такой интерфейс будет иметь статус Unknown.
- e1000 — эмуляция гигабитной сетевой карты Intel (82540EM);
- rtl8139 — эмуляция 100-мегабитной сетевой карты Realtek.
Шаг 3. Запустите виртуальную машину, передав в качестве параметра изменённую конфигурацию:
| Информация | ||
|---|---|---|
| ||
| Блок кода | ||
xenadmin@xen:~$ sudo xl create/root/vesbc/vesbc_xen.conf |
Подключение последовательного порта
Шаг 1. Выключите vESBC:
vESBC1.cfg |
Scroll Pagebreak
Использование приложения Менеджер виртуальных машин (Virtual Machine Manager)
Virtual Machine Manager — это приложение для управления виртуальными машинами в операционных системах Linux при помощи графического интерфейса (GUI).
Создание виртуальной машины и установка vESBC
Шаг 1. Запустите "Менеджер виртуальных машин". Для создания виртуальной машины нажмите кнопку "Создать виртуальную машину" в главном меню:
Шаг 2. В окне "Новая виртуальная машина" оставьте метод установки — "Локальный ISO или CDROM" и нажмите кнопку "Forward":
| Scroll Pagebreak |
|---|
Шаг 3. Нажмите кнопку "Обзор":
В открывшемся окне выберите образ ISO vESBC, затем нажмите кнопку "Choose Volume":
| Примечание |
|---|
Перед выбором образа ISO поместите его в каталог /var/lib/libvirt/images/ |
| Scroll Pagebreak |
|---|
Шаг 4. Деактивируйте чек-бокс "Автоматически определять по носителю/источнику пакетов для установки".Вполе "Выберите операционную систему для установки" укажите "Generic or unknown OS. Usage is not recommended" и нажмите кнопку "Forward":
Шаг 5. Укажите количество ядер CPU и количество RAM в соответствующих полях, нажмите кнопку "Forward":
| Scroll Pagebreak |
|---|
Шаг 6. Укажите объем HDD и нажмите кнопку "Forward":
Шаг 7. Укажите название виртуальной машины и нажмите кнопку "Готово". Также можно сразу указать сетевой адаптер или настроить сеть позже.
| Scroll Pagebreak |
|---|
Шаг 8. После создания виртуальной машины откроется окно установки vESBC. Дальнейшие действия по установке vESBC описаны в разделе Процесс установки vESBC.
Шаг 9. Если требуется донастройка (добавить/изменить сетевой адаптер, количество CPU, RAM и т. д.) виртуальной машины vESBC, выключите ее и откройте окно настроек кнопкой "Показать виртуальное оборудование".
| Scroll Pagebreak |
|---|
Подключение сетевых интерфейсов
Перед изменением конфигурации виртуальной машины она должна быть выключена.
Шаг 1. Запустите "Менеджер виртуальных машин", выберите нужную виртуальную машину и нажмите кнопку "Открыть".
| Scroll Pagebreak |
|---|
Шаг 2. Если сетевой адаптер уже был добавлен при создании виртуальной машины и требуется изменить его параметры, следует выбрать его в списке оборудования.
Изменение адаптера выполняется в настройке "Создать на базе". Доступны следующие режимы работы адаптера:
- Устройство моста. Данный режим доступен в случае, когда бридж был предварительно сконфигурирован в хостовой ОС. В этом режиме интерфейс vESBC будет подключен к бриджу хостовой ОС.
- В поле "Название устройства" указывается название бриджа хостовой ОС, к которому будет подключен интерфейс vESBC.
- В поле "Модель устройства" указывается драйвер сетевого адаптера. Доступные драйвера:
- netfront — высокопроизводительный драйвер виртуализации. Данный драйвер используется по умолчанию в XEN.
Предупреждение Данный драйвер на поддерживается в vESBC. Такой интерфейс будет иметь статус Unknown.
- e1000 — эмуляция гигабитной сетевой карты Intel (82540EM).
- rtl8139 — эмуляция 100-мегабитной сетевой карты Realtek.
- netfront — высокопроизводительный драйвер виртуализации. Данный драйвер используется по умолчанию в XEN.
| Scroll Pagebreak |
|---|
- Устройство macvtap. Это способ подключения виртуальной машины к сети, при котором она получает свой собственный MAC-адрес и IP-адрес прямо из вашей физической локальной сети, к которой подключен физический интерфейс хоста.
- В поле "Название устройства" указывается сетевой интерфейс хоста, на базе которого будет создан интерфейс vESBC;
- В поле "Модель устройства" указывается драйвер сетевого адаптера. Доступные драйвера:
- netfront — высокопроизводительный драйвер виртуализации. Данный драйвер используется по умолчанию в XEN.
Предупреждение Данный драйвер на поддерживается в vESBC. Такой интерфейс будет иметь статус Unknown.
- e1000 — эмуляция гигабитной сетевой карты Intel (82540EM).
- rtl8139 — эмуляция 100-мегабитной сетевой карты Realtek.
- netfront — высокопроизводительный драйвер виртуализации. Данный драйвер используется по умолчанию в XEN.
| Примечание |
|---|
В режиме macvtap связи межу хостовой ОС и виртуальной машиной нет. Также данный режим не подходит для организации кластера vESBC (за исключением режима Passthrough), т. к. при использовании протокола VRRP MAC-адрес vESBC будет отличаться отMAC-адреса сетевого интерфейса, и трафик не будет передаваться в виртуальную машину из-за особенностей реализации драйвера macvtap. |
| Scroll Pagebreak |
|---|
Шаг 3. Для добавления дополнительных сетевых адаптеров нажмите кнопку "Добавить оборудование" в нижнем левом углу (cм. скрин выше). В открывшемся окне выберете раздел "Сеть", укажите параметры адаптера и нажмите кнопку "Готово". Добавленный адаптер появится в списке оборудования виртуальной машины.
| Scroll Pagebreak |
|---|
Подключение последовательного порта
Использование командной строки XEN (xl)
Для подключения к консоли vESBC, в конфигурационном файле требуется указать
...
| title | Пример |
|---|
| Блок кода |
|---|
sudo xl destroy vesbc_xen |
Шаг 2. В конфигурационном файле добавьте новый параметр:
| Блок кода |
|---|
serial=<pty> |
где:
pty — псевдотерминал в хост-системе, выделяется автоматически.
После запуска виртуальной машины подключитесь к консоли средствами Xen:
| Блок кода |
|---|
xenadmin@xen:~$ sudo xl console vESBC1 |
Для выхода из консоли нажмите комбинацию клавиш Ctrl + ].
Для подключения к консоли сторонними средствами, например через Minicom, требуется Чтобы узнать нужный номер псевдотерминала. Для этого необходимо просмотреть содержимое файла:
| Блок кода |
|---|
/var/log/xen/qemu-dm-<название машины>вм>.log |
| Информация | title | Пример
Номер псевдотерминала указан в строке:
| Блок кода |
|---|
char device redirected to /dev/pts/3 (label serial0) |
Пример:
| Блок кода |
|---|
esr@esrxenadmin@xen:# ~$ cat /var/log/xen/qemu-dm-vesbc vESBC1.log
char device redirected to /dev/pts/63 (label serial0) VNC server running on 127.0.0.1:5900qemu-system-i386: terminating on signal 1 from pid 47254 (/usr/lib/xen-4.16/bin/xl) |
Подключение через MinicomНомер псевдотерминала указан в строке:
| Блок кода |
|---|
charxenadmin@xen:~$ devicesudo redirectedminicom to-D /dev/pts/6 (label serial0) |
Шаг 3. Запустите виртуальную машину, передав в качестве параметра изменённую конфигурацию:
3 |
| Scroll Pagebreak |
|---|
Использование приложения Менеджер виртуальных машин (Virtual Machine Manager)
При создании виртуальной машины виртуальная консоль pty создается автоматически:
Scroll Pagebreak
Для подключения к консоли запустите виртуальную машину, посмотрите номер pty:
Команда для подключения к pty с помощью minicom:
| Блок кода | ||
|---|---|---|
sudo | ||
| Информация | ||
|
| Блок кода |
|---|
sudo xl create /root/vesbc/vesbc_xen.conf |
| title | Пример подключения через minicom |
|---|
minicom -D /dev/pts/64













