4.1. Установка виртуальной машины

4.1.1. Минимальные требования

Для установки виртуальной машины требуется сервер с установленной ОС и гипервизор KVM.

Рекомендуемые ОС:

  • CentOS/RHEL/Oracle Linux 7

  • RHEL/Oracle Linux 8

  • Ubuntu 20.04

Минимальные системные требования для виртуальной машины:

  • 3 процессорных ядра

  • 12Гб оперативной памяти

  • 2 сетевых интерфейса (для управления и пользовательского трафика)

Список поддерживаемых сетевых плат:

  • 10GbE – Intel X520 / Intel X710 / Intel E810 / Mellanox ConnectX-6

  • 25GbE – Intel X710 / Intel E810 / Mellanox ConnectX-5 / Mellanox ConnectX-6

  • 40GbE – Intel XL710 / Mellanox ConnectX-6

  • 50GbE – Intel E810 / Mellanox ConnectX-6

  • 100GbE – Intel E810 / Mellanox ConnectX-5 / Mellanox ConnectX-6

  • 200GbE – Mellanox ConnectX-6

vADC также поддерживает виртуальные сетевые адаптеры e1000, e1000e, virtio и vmxnet3. Однако, их использование не рекомендуется в коммерческих средах из-за ограниченной производительности.

4.1.2. Требования к процессору

Для запуска виртуальной машины процессор должен поддерживать набор инструкций AVX2. Все процессоры Intel Xeon, начиная с семейства Haswell (v3), поддерживают этот набор инструкций.

Чтобы узнать модель процессора, воспользуйтесь утилитой lscpu в окне терминала Linux:

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                56
On-line CPU(s) list:   0-55
Thread(s) per core:    2
Core(s) per socket:    14
Socket(s):             2
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 79
Model name:            Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz
Stepping:              1
CPU MHz:               2899.951
CPU max MHz:           3300.0000
CPU min MHz:           1200.0000
BogoMIPS:              4788.95
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              35840K
NUMA node0 CPU(s):     0-55
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb cat_l3 cdp_l3 invpcid_single intel_ppin intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdt_a rdseed adx smap xsaveopt cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts

Флаг avx2 должен присутствовать в поле Flags. Проще всего проверить это с помощью следующей команды:

$ lscpu | grep avx2

Если команда ничего не отображает, это означает, что Ваш процессор не поддерживает набор инструкций AVX2, и вы не сможете запустить виртуальную машину на этом процессоре.

4.1.3. Шаги по установке

Перед выполнением действий необходимо убедится, что на сервере установлен минимальный пакет Linux, а также, что режим Turbo Boost отключен в BIOS.

Сетевая настройка

Настройка сети на хосте

ВМ TrafficSoft имеет два типа сетевых интерфейса:

  • Первый тип — это интерфейс управления, используемый для OAM. Он не требует высокой пропускной способности и может работать через сетевой мост ОС сервера.

  • Второй тип — это интерфейсы для передачи пользовательского трафика (Data plane). Интерфейсы Data Plane передаются через PCI непосредственно от сервера к виртуальной машине NAT.

../_images/network_config_light.png

Рисунок 1: конфигурация сети

../_images/network_config_dark.png

Рисунок 1: конфигурация сети

Перед запуском ВМ TrafficSoft необходимо создать сетевой мост и поместить в него интерфейс, используемый для управления.

Пример создания интерфейса моста:

br-mgt - имя сетевого моста

enp3s0f0 - имя сетевой карты, используемой для подключения к сети управления

  • В ОС CentOS/Oracle Linux используется утилита Network Manager:

    nmcli connection add type bridge ifname br-mgt bridge.stp no
    nmcli con add type ethernet con-name br-mgt-slave-1 ifname enp3s0f0 master br-mgt
    nmcli con modify bridge-br-mgt ipv4.method auto
    nmcli con up bridge-br-mgt
    nmcli con up br-mgt-slave-1
    
  • В ОС Ubuntu используется утилита Netplan. Необходимо открыть и отредактировать файл конфигурации сети *yaml в директории /etc/netplan/:

    Network:
     ethernets:
       enp3s0f0:
         dhcp4: false
     version: 2
     bridges:
       br-mgt:
         dhcp4: true
         interfaces:
             - enp3s0f0
    

    Для применения настроек используйте следующую команду:

    netplan apply
    

Подготовка

Установите эмулятор QEMU, зависимости и скопируйте установочный скрипт ВМ vADC.

CentOS 7

  1. Установите libvirt с зависимостями:

    yum install libvirt
    
  2. Скачайте образ ВМ vADC в следующие директории:

    2.1. Qcow2 образ ВМ vADC в директорию /var/lib/libvirt/images/

    2.2. Скрипт установки в директорию /var/lib/libvirt/images/hw-configuration/

  3. Установите из репозитория гипервизор KVM. Гипервизор должен быть версии 4.2 или выше:

    yum install centos-release-qemu-ev
    yum install qemu-kvm-ev
    
  4. Установите из репозитория следующие пакеты с зависимостями:

    • xorriso

    • libosinfo

    • xz-devel

    • python3

    • zlib-devel

    • wget

    • pciutils

    • msr-tools

    yum install xorriso libosinfo xz-devel python3 zlib-devel pciutils msr-tools
    
  5. Установите необходимые пакеты и зависимости из локальной директории:

    • virt-install

    • python

    cd /var/lib/libvirt/images/hw-configuration/virt-install/CentOS-7
    yum localinstall *
    
  6. Перезагрузите сервер после установки гипервизора и пакетов:

    reboot
    

CentOS 8

  1. Установите libvirt с зависимостями:

    yum install libvirt
    
  2. Скачайте образ ВМ vADC в следующие директории:

    2.1. Qcow2 образ ВМ vADC в директорию /var/lib/libvirt/images/

    2.2. Скрипт установки в директорию /var/lib/libvirt/images/hw-configuration/

  3. Установите из репозитория гипервизор KVM. Гипервизор должен быть версии 4.2 или выше:

    yum install qemu-kvm
    
  4. Установите из репозитория следующие пакеты с зависимостями:

    • msr-tools

    yum install epel-release
    yum install msr-tools
    
  5. Установите необходимые пакеты и зависимости из локальной директории:

    • virt-install

    cd /var/lib/libvirt/images/hw-configuration/virt-install/CentOS-8
    yum localinstall *
    
  6. Перезагрузите сервер после установки гипервизора и пакетов:

    reboot
    

Oracle Linux 7

  1. Установите libvirt с зависимостями:

    yum install libvirt
    
  2. Скачайте образ ВМ vADC в следующие директории:

    2.1. Qcow2 образ ВМ vADC в директорию /var/lib/libvirt/images/

    2.2. Скрипт установки в директорию /var/lib/libvirt/images/hw-configuration/

  3. Установите из репозитория гипервизор KVM, необходимые пакеты и зависимости. Гипервизор должен быть версии 4.2 или выше:

    yum install qemu-kvm
    yum install libpmem
    yum --disablerepo="*" --enablerepo="ol7_kvm_utils" update
    
  4. Установите необходимые пакеты и зависимости из репозитория:

    • msr-tools

    yum install msr-tools
    
  5. Установите необходимые пакеты и зависимости из локальной директории:

    • virt-install

    • python

    cd /var/lib/libvirt/images/hw-configuration/virt-install/Oracle-Linux-8
    yum localinstall *
    
  6. Перезагрузите сервер после установки гипервизора и пакетов:

    reboot
    

Oracle Linux 8

  1. Установите libvirt с зависимостями:

    yum install libvirt
    
  2. Скачайте образ ВМ vADC в следующие директории:

    2.1. Qcow2 образ ВМ vADC в директорию /var/lib/libvirt/images/

    2.2. Скрипт установки в директорию /var/lib/libvirt/images/hw-configuration/

  3. Установите из репозитория гипервизор KVM. Гипервизор должен быть версии 4.2 или выше:

    yum install qemu-kvm
    
  4. Установите необходимые пакеты и зависимости из репозитория:

    • msr-tools

    yum install oracle-epel-release-el8.x86_64
    yum install msr-tools
    
  5. Установите необходимые пакеты и зависимости из локальной директории:

    • virt-install

    cd /var/lib/libvirt/images/hw-configuration/virt-install/Oracle-Linux-8
    yum localinstall *
    
  6. Перезагрузите сервер после установки гипервизора и пакетов:

    reboot
    

Ubuntu 20.04

  1. Установите libvirt с зависимостями:

    sudo apt install libvirt-daemon-system
    
  2. Скачайте образ ВМ vADC в следующие директории:

    2.1. Qcow2 образ ВМ vADC в директорию /var/lib/libvirt/images/

    2.2. Скрипт установки в директорию /var/lib/libvirt/images/hw-configuration/

  3. Установите из репозитория гипервизор KVM. Гипервизор должен быть версии 4.2 или выше:

    sudo apt install qemu-kvm
    
  4. Установите необходимые пакеты и зависимости из репозитория:

    • msr-tools

    sudo apt install msr-tools
    
  5. Установите необходимые пакеты и зависимости из локальной директории:

    • virt-install

    cd /var/lib/libvirt/images/hw-configuration/virt-install/Ubuntu-20.04
    dpkg -i *
    

    Если вы получаете ошибки, связанные c отсутствующими или сломанными зависимостями, используйте apt с ключом fix-broken install:

    apt --fix-broken install
    dpkg -i *
    
  6. Перезагрузите сервер после установки гипервизора и пакетов:

    reboot
    

Запуск скрипта настройки ВМ

Скрипт настройки помогает выделить виртуальной машине vADC ресурсы сервера и включить автоматический старт ВМ после загрузки ОС сервера.

  1. Запустите скрипт настройки в консоле ОС:

    cd /var/lib/libvirt/images/hw-configuration/
    ./configure
    

    Примечание

    Используйте кодировку UTF-8 в терминале, если GUI скрипта отображается некорректно.

  2. Введите путь до образа vADC:

    Например: /var/lib/libvirt/images/

  3. Выберете режим настройки CPU: auto или manual

    Режим auto используется в простых установках, например, когда на сервере установлена только одна копия vADC. В большинстве случаев это предпочтительнее.

    Ручной (manual) режим используется в сложных установках, когда несколько ВМ располагается на одном сервере.

  4. Выберете количество NUMA нод, которые будут использоваться vADC ВМ:

  5. Выберете количество ядер, которые будут использоваться vADC ВМ:

    • Минимум – 2 ядра для сервера с одним процессором (single-CPU) или 4 для сервера с двумя процессорами (dual-CPU).

    • Рекомендуется оставить для ОС хоста по крайней мере 1 ядро (single-CPU) или 2 ядра (dual-CPU).

      Например:

      Single-CPU с 20 ядрами – 19 ядер выделяем для vADC ВМ

      Dual-CPU с 72 ядрами – 70 ядер выделяем для vADC ВМ

  6. Введите имя ВМ. По умолчанию, trafficsoft-vadc.

  7. Укажите количество памяти для нума ноды NUMA0 (CPU1).

    В зависимости от количества памяти на сервере рекомендуется выделить для ОС хоста следующее количество памяти:

    • Количество памяти < 50 ГБ – 2 ГБ

    • Количество памяти от 50 ГБ до 100 ГБ – 4 ГБ

    • Количество памяти от 100 ГБ до 200 ГБ – 8 ГБ

    • Количество памяти > 200 ГБ — 16 ГБ

    Например: если полное количество памяти на сервере 187 ГБ, то 8 ГБ оставляем для ОС хоста, а 179 выделяем для vADC ВМ.

  8. Укажите количество памяти для нума ноды NUMA1 (CPU2).

    Рекомендуется использовать такую же конфигурацию как для NUMA0.

  9. Выберите интерфейсы сетевых карт, которые будут использоваться для трафика данных (Data Plane).

  10. Введите название созданного сетевого моста в разделе Сетевая настройка.

    Например: br-mgt

  11. Настройка ВМ выполнена. Перезапустите сервер.