Требования к системе виртуализации
Для установки и функционирования 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=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 = "vESBC1"
memory = 4096
vcpus = 4
device_model_version = "qemu-xen"
disk = [
'<полный_путь_к_виртуальному_диску>,raw,hda,rw',
'<полный_путь_к_установочному_образу>,raw,hdc,devtype=cdrom,r'
]
boot = "dc"
serial = "pty"
где:
type — тип домена виртуальной машины. Для vESBC необходим тип домена HVM, который указывает на то, что данная виртуальная машина является полностью виртуализированным компьютером с эмулируемым BIOS, дисковой и сетевой периферией и т. д.;
name — имя создаваемой виртуальной машины;
memory — количество выделенной оперативной памяти;
vcpus — количество виртуальных ядер;
device_model_version — версия эмулятора QEMU;
disk — список дисков:
- <полный_путь_к_виртуальному_диску> — путь к файлу диска, начиная с корневого каталога "/".
- raw — формат диска.
- hda — эмуляция IDE-диска (Primary Master).
- rw — уровень доступа. Диск доступен как для чтения, так и для записи.
- <полный_путь_к_установочному_образу> — путь к файлу ISO-образа, начиная с корневого каталога "/".
- cdrom — указатель на тип устройства CD-ROM.
- hdc — эмуляция IDE-диска (Secondary Master).
boot — приоритет загрузки . "dc" означает загрузку сначала CD-ROM, а затем HDD.
serial — создает виртуальный последовательный порт (COM-порт) в режиме псевдотерминала.
Пример:
type = "hvm"
name = "vESBC1"
memory = 4096
vcpus = 4
device_model_version = "qemu-xen"
disk = [
'/home/xenadmin/vesbc_xen.img,raw,hda,rw',
'/var/lib/libvirt/images/vesbc-1.41.0-build19.iso,hdc,devtype=cdrom,r'
]
boot = "dc"
serial = "pty"
Установка vESBC
Шаг 1. Для начала установки запустите виртуальную машину, передав в качестве параметра её конфигурацию:
xenadmin@xen:~$ sudo xl create vESBC1.cfg
Шаг 2. После запуска виртуальной машины подключитесь к консоли средствами Xen:
xenadmin@xen:~$ sudo xl console vESBC1
Дальнейшие действия по установке vESBC описаны в разделе Процесс установки vESBC.
Шаг 3. После завершения установки выключите vESBC:
xenadmin@xen:~$ sudo xl destroy -f vESBC1
где:
-f — немедленное выключение виртуальной машины.
Шаг 4. В конфигурационном файле необходимо поменять местами параметры "boot" с 'd' на 'c', таким образом загрузка будет осуществляться с жёсткого диска, на который был установлен vESBC.
boot = "cd"
Шаг 5. Запустите виртуальную машину, передав в качестве параметра изменённую конфигурацию:
xenadmin@xen:~$ sudo xl create vESBC1.cfg
Подключение сетевых интерфейсов
Перед подключением сетевых интерфейсов в 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
Шаг 1. Выключите vESBC:
xenadmin@xen:~$ sudo xl destroy -f vESBC1
Шаг 2. В конфигурационном файле добавьте новые параметры (в примере ниже указано подключение двух сетевых интерфейсов. При подключении более одного интерфейса следует указать все интерфейсы через запятую):
vif = [ 'bridge=br0,model=e1000,mac=00:16:3e:42:8f:c6', 'bridge=br1,model=e1000,mac=00:16:3e:60:d3:aa' ]
где:
vif — список эмулируемых сетевых интерфейсов;
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 vESBC1.cfg
Использование приложения Менеджер виртуальных машин (Virtual Machine Manager)
Virtual Machine Manager — это приложение для управления виртуальными машинами в операционных системах Linux при помощи графического интерфейса (GUI).
Создание виртуальной машины и установка vESBC
Шаг 1. Запустите "Менеджер виртуальных машин". Для создания виртуальной машины нажмите кнопку "Создать виртуальную машину" в главном меню:
Шаг 2. В окне "Новая виртуальная машина" оставьте метод установки — "Локальный ISO или CDROM" и нажмите кнопку "Forward":
Шаг 3. Нажмите кнопку "Обзор":
В открывшимся окне выберите образ ISO vESBC, затем нажмите кнопку "Choose Volume":
Перед выбором образа ISO поместите его в каталог /var/lib/libvirt/images/
Шаг 4. Деактивируйте чек-бокс "Автоматически определять по носителю/источнику пакетов для установки". В поле "Выберите операционную систему для установки" укажите "Generic or unknown OS. Usage is not recommended" и нажмите кнопку "Forward":
Шаг 5. Укажите количество ядер CPU и количество RAM в соответствующих полях, нажмите кнопку "Forward":
Шаг 6. Укажите объем HDD и нажмите кнопку "Forward":
Шаг 7. Укажите название виртуальной машины и нажмите кнопку "Готово". Также можно сразу указать сетевой адаптер, или настроить сеть позже.
Шаг 8. После создания виртуальной машины откроется окно установки vESBC. Дальнейшие действия по установке vESBC описаны в разделе Процесс установки vESBC.
Шаг 9. Если требуется донастройка (добавить/изменить сетевой адаптер, количество CPU, RAM и т. д.) виртуальной машины vESBC, выключите ее и откройте окно настроек кнопкой "Показать виртуальное оборудование".
Подключение сетевых интерфейсов
Перед изменением конфигурации виртуальной машины она должна быть выключена.
Шаг 1. Запустите "Менеджер виртуальных машин", выберите нужную виртуальную машину и нажмите кнопку "Открыть".
Шаг 2. Если сетевой адаптер уже был добавлен при создании виртуальной машины и требуется изменить его параметры, следует выбрать его в списке оборудования.
Изменение адаптера выполняется в настройке "Создать на базе". Доступны следующие режимы работы адаптера:
- Устройство моста. Данный режим доступен в случае, когда бридж был предварительно сконфигурирован в хостовой ОС. В этом режиме интерфейс vESBC будет подключен к бриджу хостовой ОС.
- В поле "Название устройства" указывается название бриджа хостовой ОС к которуму будет подключени интерфейс vESBC.
- В поле "Модель устройства" указывается драйвер сетевого адаптера. Доступные драйвера:
- netfront — высокопроизводительный драйвер виртуализации. Данный драйвер используется по умолчанию в XEN.
Данный драйвер на поддерживается в vESBC. Такой интерфейс будет иметь статус Unknown
- e1000 — эмуляция гигабитной сетевой карты Intel (82540EM).
- rtl8139 — эмуляция 100-мегабитной сетевой карты Realtek.
- netfront — высокопроизводительный драйвер виртуализации. Данный драйвер используется по умолчанию в XEN.
- Устройство macvtap. Это способ подключения виртуальной машины к сети, при котором она получает свой собственный MAC-адрес и IP-адрес прямо из вашей физической локальной сети, к которой подключен физический интерфейс хоста.
- В поле "Название устройсва" указывается сетевой интерфейс хоста на базе которого будет создан интерфейс vESBC.
- netfront — высокопроизводительный драйвер виртуализации. Данный драйвер используется по умолчанию в XEN.
Данный драйвер на поддерживается в vESBC. Такой интерфейс будет иметь статус Unknown
- e1000 — эмуляция гигабитной сетевой карты Intel (82540EM).
- rtl8139 — эмуляция 100-мегабитной сетевой карты Realtek.
- netfront — высокопроизводительный драйвер виртуализации. Данный драйвер используется по умолчанию в XEN.
- В поле "Название устройсва" указывается сетевой интерфейс хоста на базе которого будет создан интерфейс vESBC.
В режиме macvtap связи межу хостовой ОС и виртуальной машиной нет. Также данный режим не подходит для организации кластера vESBC (за исключением режима Passthrough), т. к. при использовании протокола VRRP MAC-адрес vESBC будет отличаться отMAC-адреса сетевого интерфейса, и трафик не будет передаваться в виртуальную машину из-за особенностей реализации драйвера macvtap.
Шаг 3. Для добавления дополнительных сетевых адаптеров нажмите кнопку "Добавить оборудование" в нижнем левом углу (cм. скрин выше). В открывшемся окне выберете раздел "Сеть", укажите параметры адаптера и нажмите кнопку "Готово". Добавленный адаптер появится в списке оборудования виртуальной машины.
Подключение последовательного порта
Использование командной строки XEN (xl)
Для подключения к консоли vESBC, в конфигурационном файле требуется указать параметр:
serial=<pty>
После запуска виртуальной машины подключитесь к консоли средствами Xen:
xenadmin@xen:~$ sudo xl console vESBC1
Для выхода из консоли нажмите комбинацию клавиш Ctrl + ].
Для подключения к консоли сторонними средствами, например через Minicom, требуется узнать нужный номер псевдотерминала. Для этого необходимо просмотреть содержимое файла:
/var/log/xen/<название вм>.log
Номер псевдотерминала указан в строке:
char device redirected to /dev/pts/3 (label serial0)
Пример:
xenadmin@xen:~$ cat /var/log/xen/qemu-dm-vESBC1.log char device redirected to /dev/pts/3 (label serial0) VNC server running on 127.0.0.1:5900
Подключение через Minicom:
xenadmin@xen:~$ sudo minicom -D /dev/pts/3
Использование приложения Менеджер виртуальных машин (Virtual Machine Manager)
При создании виртуальной машины виртуальная консоль pty создается автоматически:
Для подключения к консоли запустите виртуальную машину, посмотрите номер pty:
Команда для подключения к pty с помощью minicom:
sudo minicom -D /dev/pts/4













