Перейти к содержанию

Часто задаваемые вопросы по Numa vServer#

Ошибка "Connection refused". Что делать?#

Свернуть/раскрыть

Если при вводе любой команды xe в терминале Numa vServer выводится ошибка

Error: Connection refused (calling connect)
[root@vserver:~]# xe pif-list
Error: Connection refused (calling connect)

то это означает, что вы не активировали лицензию Numa vServer, или истек срок действия тестовой лицензии.

Подробнее про лицензирование Numa vServer:

Не активируется Numa vServer#

Свернуть/раскрыть
  1. Уточнить количество физических процессоров и проверить соответствие в выданной лицензии.

  2. Проверить время на сервере пользователя, если сильный разбег с фактическим, выполнить:

    • При наличии NTP-сервера выполнить:
      ntpdate -u <адрес ntp сервера>
      
    • При отсутствии NTP-сервера:
      • ввести команду:
        date + hwclock -w
        
      • настроить правильное время в BIOS.

Установка даты и времени в Numa vServer#

При наличии NTP-сервера:#

Свернуть/раскрыть
  1. Утилитой nano открыть конфигурационный файл /etc/ntp.conf.
  2. Добавить необходимый NTP-сервер. Например:
    server 172.16.1.1
    
  3. Сохранить изменения и закрыть утилиту nano сочетанием клавиш Ctrl+O, Ctrl+X.
  4. Перезапустить службу ntpd:
    systemctl restart ntpd
    
  5. Статус NTP можно проверить, используя следующую команду:
    ntpq -pn
    

При отсутствии NTP-сервера:#

Свернуть/раскрыть
  1. Установка времени:
    date +%T -s "HH:MM:SS"
    
  2. Установка даты и времени:

    date -s "DD MONTH YYYY HH:MM:SS"
    

    Примечание

    В случае расхождения необходимо установить правильное время в БСВВ.

  3. Запись даты и времени в BIOS/UEFI:

    hwclock -w
    

Внимание

При смене даты и времени возможна деактивация триальной лицензии, исправить это возможно только с помощью переустановки системы.

Включение высокой доступности (High availability)#

Свернуть/раскрыть
  1. Включение высокой доступности в пуле выполняется из CLI Numa vServer.

  2. Для включения нужно выполнить команду:

    xe pool-ha-enable heartbeat-sr-uuids=<UUID общего хранилища>
    

  3. UUID общего хранилища можно узнать, используя команду

    xe sr-list
    
    или в Numa Collider, нажав на соответствующее хранилище (см. под именем хранилища).

    Примечание

    Рекомендуемое минимальное количество серверов для реализации высокой доступности 3 или больше. При меньшем количестве нужно установить параметр pool-ha-compute-max-host-failures-to-tolerate равным 1.

    xe pool-param-set ha-host-failures-to-tolerate=1 uuid=<UUID пула>
    

  4. UUID пула можно узнать с помощью команды

    xe pool-list
    

  5. После включения HA в пуле можно выставить приоритеты для ВМ машин, в Numa Collider они доступны в расширенных настройках ВМ (см. раздел Обеспечение высокой доступности (high availability) документа Numa vServer. Руководство пользователя).

  6. Выключение высокой доступности выполняется командой:

    xe pool-ha-disable
    

  7. В случае, если попытка выключения высокой доступности оканчивается сообщением:

    1
    2
    3
    The uuid you supplied was invalid.
    type: VDI 
    uuid: 'uuid'
    
    то высокая доступность выключается следующей последовательностью команд:
    xe host-emergency-ha-disable --force
    
    xe-toolstack-restart
    
    xe pool-ha-disable
    

Настройка интерфейса управления на VLAN интерфейсе#

Свернуть/раскрыть

Выполните в консоли следующие действия:

  1. Получите UUID всех физических сетевых интерфейсов:

    xe pif-list params=uuid,device physical=true
    
    зафиксируйте UUID интерфейса (далее - PIF-UUID), где планируется настроить VLAN.

    Подсказка

    Можно использовать для автодополнения клавишу Tab

  2. Создайте сеть. Имя может быть произвольным, например MGT. Зафиксируйте UUID новой сети (далее - NET-UUID):

    xe network-create name-label=MGT
    

  3. Создайте VLAN, используя PIF-UUID и NET-UUID, после создания зафиксируйте UUID нового интерфейса (далее - VLAN-UUID):

    xe vlan-create pif-uuid=PIF-UUID network-uuid=NET-UUID vlan=vlan_тег
    

  4. Подключите виртуальный интерфейс:

    xe pif-plug uuid=VLAN-UUID
    

  5. Перенастройте менеджмент интерфейс:

    • для работы в режиме DHCP:

      xe pif-reconfigure-ip uuid=VLAN-UUID mode=dhcp
      

    • для ввода статических настроек выполните:

      xe pif-reconfigure-ip uuid=VLAN-UUID mode=static IP=192.168.1.1 gateway=192.168.1.254 netmask=255.255.255.0 DNS=8.8.4.4
      

  6. Назначьте интерфейс управляющим:

    xe host-management-reconfigure pif-uuid=VLAN-UUID
    

Переименование сетевых интерфейсов#

Свернуть/раскрыть

Переименование сетевых интерфейсов осуществляется через скрипт interface_rename.py.

  1. Просмотр актуального перечня сетевых интерфейсов:

    interface_rename.py -l
    
    1
    2
    3
    4
    5
    6
    [root@vserver:~]# interface_rename.py -l
    Name   MAC                PCI              ethN  Phys  SMBios  Driver  Version  Firmware  
    eth0   00:50:b6:5b:ca:6a  0000:02:00.0[0]  eth0                igb     5.4.0-k  3.25, 0x800005cc
    eth1   00:50:b6:5b:ca:7a  0000:03:00.0[0]  eth1                igb     5.4.0-k  3.25, 0x800005cc
    eth2   00:50:b6:5b:ca:8a  0000:04:00.0[0]  eth2                igb     5.4.0-k  3.25, 0x800005d0
    eth3   00:50:b6:5b:ca:8b  0000:05:00.0[0]  eth3                igb     5.4.0-k  3.25, 0x800005d0
    
  2. Переименование интерфейса:

    interface_rename.py -u <eth_name>=MAC|PCI
    
    1
    2
    3
    [root@vserver:~]# interface_rename.py -u eth0=0000:03:00.0[0] eth1=0000:02:00.0[0]
    INFO     [2023-08-04 17:31:55] Performing manual update of rules.  Not actually renaming interfaces
    INFO     [2023-08-04 17:31:55] All done
    
  3. Для применения изменений необходимо выполнить перезагрузку сервера:

    reboot
    

Примечание

Недопустимо использование двумя интерфейсами одного MAC или PCI-ID. Переименовывать необходимо парами либо всем списком.

Разворачивание Numa vServer на программном RAID1#

Свернуть/раскрыть

Внимание

Для версии ПО 1.1.87f2fd8a5 (от 09.08.2023) и выше

Для установки Numa vServer на RAID необходимо:

  1. Загрузить Numa vServer с USB-накопителя.

  2. На экране загрузки выбрать пункт загрузки "Консоль инсталлятора".

  3. В консоли создать массив RAID1, например, из блочных устройств /dev/sda и /dev/sdb:

    mdadm -C /dev/md0 -l1 -n2 /dev/sda /dev/sdb --metadata=0.90
    

  4. Запустить установщик Numa vServer:

    tui-installer
    

  5. Дальнейшая установка должна осуществляться согласно инструкции (см. документ Numa vServer. Руководство администратора. Установка, настройка), в качестве целевого устройства для установки необходимо выбрать созданный ранее RAID массив. В текущем примере /dev/md0.

RAIDIX Multipath#

Свернуть/раскрыть

Ввиду того, что RAIDIX использует нестандартный SCSI ID, для работы MPIO необходимо модифицировать multipath.conf:

device {
vendor "Raidix"
product ".*"
path_grouping_policy "group_by_prio"
    path_selector "round-robin 0"
    path_checker        "tur"
    prio "alua"
    failback immediate
    rr_min_io 100
    rr_weight "priorities"
    no_path_retry 12
    features "1 queue_if_no_path"
    hardware_handler "1 alua"
    getuid_callout "/usr/sys/systemd/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/%n"
}

Ключевой параметр и команда содержится в строке getuid_callout.

Аэродиск Multipath#

Свернуть/раскрыть

Необходимо модифицировать multipath.conf:

device {
    vendor "AERODISK"
    product ".*"
#      uid_attribute "ID_SERIAL"
    path_grouping_policy   group_by_prio
    path_selector "round-robin 0"
    hardware_handler "1 alua"
    prio alua
    failback immediate
    no_path_retry 12
    path_checker tur
}

Проброс USB-накопителей в ВМ#

Свернуть/раскрыть

Для настройки сквозного подключения USB-накопителей в ВМ с помощью Numa vServer необходимо:

  1. Подключить USB-накопитель к аппаратной платформе, на которую установлен Numa vServer.

  2. Выполнить команду для просмотра подключённых USB-накопителей:

    xe pusb-list
    
    [root@localhost:~]# xe pusb-list
    uuid ( RO)            : 77b8f209-4171-522d-92a8-3270f171dba5
                path ( RO): 1-10
        vendor-id ( RO): 0781
        vendor-desc ( RO): SanDisk Corp.
        product-id ( RO): 5571
        product-desc ( RO): Cruzer Fit
            serial ( RO): 00017428010822104644
            version ( RO): 2.00
        description ( RO): SanDisk Corp._Cruzer Fit_00017428010822104644
    
    uuid ( RO)            : 50c69bd0-79d3-dd55-e4e6-85dde8501ee9
                path ( RO): 1-6
        vendor-id ( RO): 058f
        vendor-desc ( RO): Alcor Micro Corp.
        product-id ( RO): 3828
        product-desc ( RO):
            serial ( RO):
            version ( RO): 2.00
        description ( RO): Alcor Micro Corp.
    
    uuid ( RO)            : 730d6957-8ba9-6ba8-ff1d-5b3485fcad10
                path ( RO): 1-7
        vendor-id ( RO): 13fe
        vendor-desc ( RO): Kingston Technology Company Inc.
        product-id ( RO): 4300
        product-desc ( RO):
            serial ( RO): 0708236999B4BE80
            version ( RO): 2.00
        description ( RO): Kingston Technology Company Inc._0708236999B4BE80
    
  3. Выполнить команду для включения сквозной передачи для определенного USB-накопителя:

    xe pusb-param-set uuid=<pusb_uuid> passthrough-enabled=true
    
    где значение <pusb_uuid> - UUID USB-накопителя из пункта 2.

    [root@localhost:~]# xe pusb-param-set uuid=77b8f209-4171-522d-92a8-3270f171dba5 passthrough-enabled=true
    
  4. Выключить ВМ, для которой необходимо настроить сквозное подключение USB-накопителя.

    Внимание!

    Убедитесь, что целевая ВМ выведена из механизма высокой доступности.

  5. Подключить USB-накопитель к ВМ, выполнив команду:

    xe vusb-create usb-group-uuid=<usb-group UUID> vm-uuid=<UUID_VM>
    
    [root@localhost:~]# xe vusb-create usb-group-uuid=24b42d83-f89e-476b-d5d6-a92877f9fae7 vm-uuid=b5f3055d-c3a8-f8ef-9c56-3c357c3a2ecb
    d885b152-eb32-cbc7-0c14-ef51b9ae4b9c
    

    где <UUID_VM> - UUID ВМ, для которой необходимо настроить сквозное подключение USB;
    <usb-group UUID> - можно узнать, выполнив команду:

    xe usb-group-list PUSB-uuids=<PUSB_UUID>
    
    1
    2
    3
    4
    [root@localhost:~]# xe usb-group-list PUSB-uuids=77b8f209-4171-522d-92a8-3270f171dba5
    uuid ( RO)                : 24b42d83-f89e-476b-d5d6-a92877f9fae7
            name-label ( RW): Group of 0781 5571 USBs
        name-description ( RW):
    
  6. Включить ВМ, убедиться, что USB-накопитель работает:

    Подтверждение подключения USB в ВМ
    Подтверждение подключения USB в ВМ

    Примечание

    После выполнения проброса есть возможность активировать высокую доступность для ВМ с V-USB с выбором приоритета "best-effort".

  7. Для отключения V-USB от ВМ необходимо выполнить команду:

    xe vusb-unplug uuid=<vusb_uuid> 
    

  8. Для удаления V-USB:

    xe vusb-destroy uuid=<vusb_uuid>
    

Внимание!

Для дальнейшей корректной работы ВМ необходимо отключить USB от целевой ВМ. В противном случае часть функций, таких как копирование ВМ, снимки состояния и т.п. работать не будут.

Преобразование и установка образов ВМ#

Свернуть/раскрыть

Для преобразования и установки образа ВМ в Numa vServer необходимо выполнить следующие действия:

1. Выполнить подключение к vServer и скопировать необходимый для дальнейшей работы образ ВМ.

2. Преобразовать образ ВМ в формат VHD:

qemu-img convert -f <image_format_input> -O vpc <input_file.image_format_input> <outputfile.vhd>
[root@vserver:~]# qemu-img convert -f vmdk -O vpc ubuntu-18.10-server-cloudimg-amd64.vmdk ubuntuKs.vhd

где

  • <image_format_input> - формат входного файла согласно таблице;
  • <input_file.image_format_input> - наименование входного файла (с расширением);
  • <outputfile.vhd> - наименование итогового файла (с расширением).

Тип формата <image_format_input>
raw raw
qcow2 qcow2
VDI vdi
VMDK vmdk
VHD vpc
VHDX vhdx

3. Просмотреть информацию о созданном файле:

qemu-img info <outputfile.vhd>
[root@vserver:~]# qemu-img info ubuntuKs.vhd
image: ubuntuKs.vhd
file format: vps
virtual size: 10 GiB (10737893376 bytes)
disk size: 1.12 GiB
cluster_size: 2097152
Child node '/file':
    filename: ubuntuKs.vhd
    protocol type: file
    file length: 1.16 GiB (1250230784 bytes)
    disk size: 1.12 GiB

4. Создать ВМ по шаблону импортируемой ВМ:

xe template-list
xe vm-install template=<template-name> new-name-label=<name_VM>
xe vif-create vm-uuid=<uuid_VM> network-uuid=<network-uuid> mac=random device=0
где <network-uuid> можно узнать, использовав команду:
xe network-list

5. Создать неразмеченный виртуальный диск:

xe vdi-create name-label=<name_VDI> virtual-size=<vitrual_size_GiB> sr-uuid=<uuid_sr>
[root@vserver:~]#xe vdi-create name-label=ubuntuKs virtual-size=12GiB sr-uuid=5df7ebd8-cb45-34ee-fef7-5bafbf8fe717
df1feba5-6984-4623-8e56-8e4e5c8d9bb4

где

  • <name_VDI> - имя виртуального диска;
  • <vitrual_size_GiB> - объем создаваемого диска. Указываемый объем должен быть на 15-20% больше, чем планируемый объем импортируемого диска. Указываются также единицы изменения;
  • <uuid_sr> - UUID хранилища, в которое требуется поместить виртуальный диск.

В качестве вывода vServer присвоит созданному VDI UUID.

6. Создать новый VBD для отображения виртуального диска в ВМ:

xe vbd-create vm-uuid=<uuid_VM> device=1 vdi-uuid=<uuid_VDI> bootable=true type=Disk mode=RW
[root@vserver:~]# xe vbd-create vm-uuid=7681fc64-7c32-f046-eac8-1eae3310cfc5 device=1 vdi-uuid=df1feba5-6984-4623-8e56-8e4e5c8d9bb4 bootable=true type=Disk mode=RW
f94bd2f9-9e43-bb4e-9e57-74c008df772c

где

  • <uuid_VM> - UUID виртуальной машины;
  • <uuid_VDI> - UUID VDI полученный на предыдущей этапе.

В качестве вывода vServer присвоит созданному VBD UUID.

7. Импортировать сконвертированный на 1 этапе VDI

xe vdi-import filename=<outputfile.vhd> format=vhd uuid=<uuid_VDI>
[root@vserver:~]# xe vdi-import filename=ubuntuKs.vhd format=vhd uuid=df1feba5-6984-4623-8e56-8e4e5c8d9bb4

где

  • <outputfile.vhd> - итоговый файл, полученный на этапе 1;
  • <uuid_VDI> - UUID VDI, полученный на этапе 5.

После чего ВМ будет доступна к запуску и дальнейшей работе.

Внимание!

Для корректного запуска ОС семейства Red Hat следует выполнить следующие команды в shell ОС до импорта или в shell ОС в rescue-режиме:

yum install dracut-config-generic dracut-network
dracut --add-drivers xen-blkfront -f /boot/initramfs-$(uname -r).img $(uname -r)

В случае дальнейшего использование Legacy:

dracut --regenerate-all -f && grub2-mkconfig -o /boot/grub2/grub.cfg

При использовании UEFI:

dracut --regenerate-all -f && grub2-mkconfig -o /boot/efi/EFI/<your distribution>/grub.cfg