Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Использование командной строки QEMU

Полный список комад команд QEMU предоставляется в официальной официальной документации.

Создание виртуальной машины
Якорь
create_vm_qemu
create_vm_qemu

...

-cpu — модель процессора, например, параметр -cpu host host передает виртуальной машине все возможности, флаги и инструкции (например, AES-NI, AVX, VT-x) вашего реального физического процессора;

...

Для подключения сетевого интерфейса необходимо запустить vESBC на QEMU с указанием настроек сетевой карты -nic tap,ifname=gi1 (если необходимо подключить несколько сетевых интерфейсов, то необходимо их всех указать, например, -nic tap,ifname=gi1 -nic tap,ifname=gi2). На хостовом устройстве необходимо перевести созданный интерфейс в состояние UP и назначить IP-адрес , для обеспечения IP-связности vESBC и хостовой операционной системы.

...

При использовании Linux Bridge требуется предварительная конфигурация бриджей в хостовой операционной системе.

Пример конфигурации файла  файла config.yaml при конфигурировании через netplan для ОС Ubuntu 20.04.6 TLS:

Блок кода
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:
      interfaces: []
      parameters:
        stp: false
      dhcp4: no

...

Прежде чем запускать QEMU, нужно «отвязать» требуется «отвязать» карту от хоста и передать её драйверу vfio-pci:

  1. Включите IOMMU в BIOS/UEFI (параметры VT-d для Intel или AMD-Vi для AMD).
  2. Добавьте параметры ядра в загрузчик (например, в /etc/default/grub в строку GRUB_CMDLINE_LINUX_DEFAULT):
    • Для Intel: intel_iommu=on
    • Для AMD: amd_iommu=on
  3. Узнайте PCI-адрес карты:
    Блок кода
    admin@host:~$ lspci -nn | grep -i ethernet
    18:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 01)
    18:00.1 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 01)
    Если планируется, например, использование первого интерфейса сетевой кары, то адрес карты:  1818:00.0 (ID устройства — [8086:1572]).
  4. Привяжите карту к vfio-pci:
    Блок кода
    admin@host:~$ modprobe vfio-pci
    admin@host:~$ echo "0000:18:00.0" | sudo tee /sys/bus/pci/devices/0000:18:00.0/driver/unbind
    admin@host:~$ echo "8086 1572" | sudo tee /sys/bus/pci/drivers/vfio-pci/new_id
    
  5. Запустите  виртуальную машину vESBC с проброшенным сетевым интерфейсом Intel X710 for 10GbE SFP+:
    Блок кода
    qemu-system-x86_64 --enable-kvm -cpu host -smp 4 -m 4G -device vfio-pci,host=18:00.0 vesbc.qcow2

...

Virsh — это интерфейс командной строки для управления виртуальными машинами, сетями и хранилищами. Он работает через библиотеку libvirt и используется для управления гипервизором KVM.

Полный список комад команд Libvirt предоставляется в официальной официальной документации.

Для отображения графической консоли vESBC рекомендуется установить virt-viewer:

Блок кода
sudo apt update
sudo apt install virt-viewer

Scroll Pagebreak

Создание виртуальной машины
Якорь
создание_виртуальной_машины
создание_виртуальной_машины

  1.  Создайте  Создать файл образа диска в формате QCow2 аналогично как описано процедуре, описанной выше.
  2. Указать Укажите требуемые параметры виртуальной машины и выполнить выполните установку:
    Блок кода
    sudo virt-install   --name <название ВМ>   --ram <азмер<размер_RAM>   --vcpus <количество CPU>   --disk <параметры диска>   --os-variant <тип ОС>   --network <сетевой адаптер>  --graphics <графический вывод> --video <драйвер>   --console <параметры консоли>   --cdrom <образ ISO vESBC>

    где:

    --name  — название виртуальной машины;

    --ram - объем оперативной памяти;

    --vcpus - количество ядер CPU;

    -- disk - путь до файла диска, созданного в п. 1 Обязательно использовать bus=ide.

    --osvariant - тип ОС, использовать generic;

    --network - указание сетевого адаптера;

    --graphics - настройки графического вывода виртуальной машины;

    --video - драйвер видеоадаптера;

    --console - настройка последовательного порта;

     --cdrom путь кISO-образу vESBC.

    Дальнейшие действия по установке vESBC описаны в разделе Процесс установки vESBC.

Пример установки:

Блок кода
udo virt-install   --name vesbc   --ram 4096   --vcpus 2   --disk path=/var/lib/libvirt/images/vesbc.qcow2,size=2,format=qcow2,bus=ide   --os-variant generic   --network bridge:br0,model=virtio  --graphics spice,listen=127.0.0.1 --video virtio   --console pty,target_type=serial   --cdrom /var/lib/libvirt/images/vesbc-1.41.x-build89.iso   --check disk_size=off

Дальнейший запуск, остановка и выполнение настроек виртуальной машины осуществляется через командный интерфейс virsh.

Подключение сетевых интерфейсов

...

Подключение сетевых интерфейсов осуществляется флагом –networt –network при создании виртуальной машины, как описано в разделе выше.

При использовании Linux Bridge требуется предварительная конфигурация бриджей в хостовой операционной системе. Пример натройки настройки приведен выше.

Для подключения созданного интерфейса к виртуальной машине используется флаг при ее создании:

Блок кода
--network bridge:br0,model=virtio

где:

br0 - название бриджа в хостовой ОС;

model=virtio

...

драйвер

...

эмуляции

...

virtio.

...

Информация

Помимо virtio можно использовать драйвер e1000  rtl8138. Драйвер virtio является более предпочтительным.

...

Для передачи сетевого интерфейса в виртуальную машину:

  1. Узнайте PCI-адрес карты:
    Блок кода
    admin@host:~$ lspci -nn | grep -i ethernet
    18:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 01)
    18:00.1 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 01)
    Если планируется, например, использование первого интерфейса сетевой кары, то адрес карты:  1818:00.0
  2. Для проброса интерфейса в виртуальную машину используйте флаг --hostdev при ее создании:
    Блок кода
    --hostdev 18:00.0
    где 18:00.0 - адрес сетевой карты. 
    Scroll Pagebreak

Использование приложения Менеджер виртуальных машин (Virtual Machine Manager)

Virtual Machine Manager  Manager это  это приложение для управления виртуальными машинами в операционных системах Linux при помощи графического интерфейса (GUI).

Создание виртуальной машины

...

и установка vESBC

 Шаг 1. Запустите "Менеджер виртуальных машин". Для создания виртуальной машины нажмите кнопку "Создать виртуальную машину" в главном меню:

...

Image Added

Шаг 2. В

...

окне "Новая виртуальная машина"

...

оставьте метод установки

...

"Локальный ISO или CDROM" и

...

нажмите кнопку "Forward":

Image Added

...

Scroll Pagebreak

Шаг 3. Нажмите кнопку "Обзор"

...

:

Image Added

 В открывшемся окне выберите образ ISO vESBC,

...

затем

...

нажмите кнопку "Выбор тома":

Примечание

Перед выбором образа ISO поместите его в каталог /var/lib/libvirt/images/

Image Modified

...

Scroll Pagebreak

Шаг 4. Деактивируйте чек-

...

бокс "Automatically detect from the installation media / source"

...

.Вполе "Choose the operating system you are installing"

...

укажите "

...

Generic default" и

...

нажмите кнопку "Forward":

...

Image Added

Шаг 5. Укажите

...

количество ядер CPU и количество RAM в соответствующих полях

...

, нажмите кнопку "Forward":

Image Modified

...

Scroll Pagebreak

Шаг 6. Укажите объем HDD и

...

нажмите кнопку "Forward":

Image Modified

...

Шаг 7. Укажите название виртуальной машины и

...

нажмите кнопку "Готово". Также можно сразу указать сетевой адаптер, или настроить сеть позже.

Image Modified

Scroll Pagebreak

Шаг 8. После создания

...

виртуальной машины откроется окно установки vESBC. Дальнейшие действия по установке vESBC описаны в

...

разделе Процесс установки vESBC.

Image Modified

Шаг 9. Если требуется донастройка (добавить/изменить сетевой адаптер, количество CPU, RAM и т. д.) виртуальной

...

машины vESBC, выключите ее и откройте окно настроек

...

кнопкой "Показать виртуальное оборудование". 

Scroll Pagebreak

Подключение сетевых интерфейсов

Перед изменением конфигурации виртуальной машины она должна быть выключена.

...

Шаг 1. Запустите "Менеджер виртуальных машин",

...

выберите нужную виртуальную машину и

...

нажмите кнопку "Открыть".

Image Added

...

Scroll Pagebreak

Шаг 2. Если сетевой адаптер уже был добавлен при создании виртуальной машины

...

и требуется изменить его параметры, следует выбрать его в списке оборудования. 

...

    Изменение адаптера выполняется в настройке "Создать на базе"

...

. Доступны следующие режимы работы адаптера:

  • Мост <название бриджа хостовой ОС>. Данный режим доступен в случае, когда бридж был предварительно сконфигурирован в хостовой ОС. В этом режиме

...

  • интерфейс vESBC будет подключен к бриджу хостовой ОС.
    • В поле "Модель устройства" указывается драйвер сетевого адаптера. Доступные драйвера:
      • virtio

...

      • высокопроизводительный драйвер виртуализации. Данный драйвер используется по умолчанию. 
      • e1000

...

      • эмуляция гигабитной сетевой карты Intel (82540EM).
      • rtl8139

...

      • эмуляция 100-мегабитной сетевой карты Realtek.

Image Added

...

Scroll Pagebreak

  • Устройство хоста <название физического сетевого адаптера хоста> macvtap. Это способ подключения виртуальной машины к сети, при котором она получает свой собственный MAC-адрес и IP-адрес прямо из вашей физической локальной сети, к которой подключен физический интерфейс хоста. 
    • В поле "Режим" указывается один из режимов работы macvtap:
      • Bridge (Мост)

...

      • все виртуальные машины, подключенные к хостовому сетевому адаптеру в этом режиме, могут свободно «общаться» друг с другом и с внешним миром, но связи между хостом и машинами нет.
      • VEPA

...

      • трафик виртуальных машин будет

...

      • передаваться на

...

      • физический коммутатор, подключенный к интерфейсу хоста. Для работы в данном режиме

...

      • физический коммутатор должен поддерживать стандарт 802.1Qb.

...

      • Private (Приватный/Частная)

...

      • — виртуальные машины могут выходить во внешнюю сеть через интерфейс хоста, но они полностью изолированы друг от друга.

...

      • Passthrough (Сквозной/Проброс)

...

      • «эксклюзивный» доступ к сетевой карте конкретной виртуальной машины. Аналог передачи устройства PCI напрямую виртуальной машине.
    • В поле "Модель устройства" указывается драйвер сетевого адаптера. Доступные драйвера:
      • virtio

...

      • высокопроизводительный драйвер виртуализации. Данный драйвер используется по умолчанию.

...

      • e1000

...

      • эмуляция гигабитной сетевой карты Intel (82540EM).
      • rtl8139

...

      • эмуляция 100-мегабитной сетевой карты Realtek.
Примечание

В режиме macvtap связи межу хостовой ОС и виртуальной машиной нет. Также данный режим не подходит для организации кластера vESBC (за исключением режима Passthrough), т. к. при использовании протокола VRRP

...

MAC-

...

адрес vESBC будет отличаться от

...

MAC-адреса сетевого интерфейса, и трафик не будет передаваться в виртуальную машину из-за особенностей реализации драйвера macvtap.

Image Added

Image Removed

Scroll Pagebreak

Шаг 3. Для добавления дополнительных сетевых адаптеров нажмите

...

кнопку "Добавить оборудование" в нижнем левом углу (cм. скрин выше). В

...

открывшемся окне

...

выберете раздел

...

"Сеть", укажите параметры адаптера и нажмите

...

кнопку "Готово". Добавленный адаптер появится в списке оборудования виртуальной машины.

Image Modified

Scroll Pagebreak

Шаг 4. Для проброса сетевой карты в виртуальную машину следует в окне выбора оборудования (см. предыдущий пункт)

...

выбрать

...

раздел "PCI-устройство узла", в списке устройств выбрать нужный сетевой адаптер и нажать кнопку "Готово". Добавленный адаптер появится в списке оборудования виртуальной машины:

Image Modified

Image Modified

Scroll Pagebreak

Подключение последовательного порта

...

Для выхода из консоли нажмите комбинацию клавиш Ctrl + ].

Scroll Pagebreak

С использованием приложения Менеджер виртуальных машин (Virtual Machine Manager)

При созданиии создании виртуальной машины виртуальная консоль pty создается автоматически:

Image Modified

Scroll Pagebreak

Для подключения к консоли запустите виртуальную машину, посмотрите номер pty:

Image Modified

Команда для подключения к pty с помощью minicom:

...