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

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

Как сменить IP-адрес в Numa Collider?#

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

Для смены IP-адреса ВМ Numa Collider выполните следующие действия:

  1. Авторизуйтесь в ВМ, используя логин и пароль ncadmin.
  2. В консоли ВМ введите команду:

    sudo nmtui
    

  3. Выберите пункт «Edit a connection» и нажмите Enter.

  4. Выберите соединение «System eth0» и нажмите Enter.

  5. Во вкладке «IPv4 CONFIGURATION» выберите тип подключения «Manual».

  6. В поле «Addresses» введите IP-адрес и маску сети, например, 172.16.1.1/16.

  7. В поле «Gateway» введите IP-адрес шлюза по умолчанию, например, 172.16.1.254.
  8. При наличии или необходимости введите DNS-серверы и домен поиска.
  9. По окончании ввода нажмите «OK».
  10. Для выхода из nmtui нажмите два раза клавишу Esc.
  11. Откройте в браузере Numa Collider, используя новый адрес.

Как задать статический IP-адрес в Numa Collider при отсутствии DHCP#

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

Для смены IP-адреса ВМ c Numa Collider выполните следующие действия:

  1. Авторизуйтесь под локальным суперпользователем root в консоли Numa vServer.
  2. Определите ID виртуальной машины с Numa Collider:

    xl list
    

    Вывод списка ВМ, получение ID ВМ, подключение к консоли ВМ Numa Collider
    Вывод списка ВМ, получение ID ВМ, подключение к консоли ВМ Numa Collider

  3. Выполните подключение к консоли ВМ с Numa Collider:

    xl console <ID_ВМ>
    

  4. Авторизуйтесь в ВМ, используя логин и пароль ncadmin.

    Аутентификация в ВМ Numa Collider
    Аутентификация в ВМ Numa Collider

  5. В консоли введите команду:

    sudo nmtui
    

    Запуск утилиты nmtui с правами суперпользователя
    Запуск утилиты nmtui с правами суперпользователя

  6. Выберите пункт «Edit a connection» и нажмите Enter..

    Изменение настроек подключения
    Изменение настроек подключения

  7. Выберите соединение «System eth0» и нажмите Enter.

    Выбор сетевого интерфейса
    Выбор сетевого интерфейса

  8. Во вкладке «IPv4 CONFIGURATION» выберите тип подключения «Manual».

  9. В поле «Addresses» введите IP-адрес и маску сети.
  10. В поле «Gateway» введите IP-адрес шлюза по умолчанию.

    Пример ввода статических параметров сети
    Пример ввода статических параметров сети

  11. При наличии или необходимости введите DNS-серверы и домен поиска.

  12. По окончании ввода нажмите «OK».

    Подтверждение ввода новых параметров сети
    Подтверждение ввода новых параметров сети

  13. Нажатием клавиши Esc выйдите в меню.

  14. Выберите пункт «Activate a connection» и нажмите Enter.

    Выбор пункта меню активации сетевого подключения
    Выбор пункта меню активации сетевого подключения

  15. Для применения настроек деактивируйте и снова активируйте соединение. Для этого выберите необходимый интерфейс, далее «Deactivate».

    Деактивация сетевого подключения
    Деактивация сетевого подключения

  16. Убедитесь, что значение изменилось на «Activate» и нажмите Enter.

    Активация сетевого подключения
    Активация сетевого подключения

  17. Нажатием клавиши Esc выйдите в меню и нажмите «OK».

  18. Выполните команду для проверки настроенных параметров:

    ip a sh dev eth0
    

    Проверка настроек сети
    Проверка настроек сети

  19. Для выхода из консоли ВМ Numa Collider используйте комбинацию клавиш Ctrl+].

  20. Откройте в браузере Numa Collider, используя новый адрес.

Как назначить пользователю права read-only?#

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

Для создания пользователя с правами «только чтение» выполните следующие действия в меню Настройки → Контроль доступа:

  1. Выберите пользователя или группу пользователей.
  2. Вберите объект доступа, например, пул.
  3. Выберите роль Viewer.
  4. Нажмите Создать.

Назначение пользователю права read-only
Назначение пользователю права read-only

Настройка синхронизации даты и времени с NTP-сервером в Numa Collider#

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

Для настройки синхронизации времени с NTP-сервером в Numa Collider:

  1. Авторизуйтесь в ВМ Numa Collider (ncvm) через Инфраструктура → ВМ → 'ncvm_demo' → Консоль или подключитесь по ssh к ncvm (логин и пароль ncadmin).
  2. С помощью утилиты Vim отредактируйте конфигурационный файл /etc/chrony.conf (vim /etc/chrony.conf).
  3. Перезагрузите ncvm.

    Примечание

    Перезагрузку возможно выполнить из web-интерфейса Numa Collider или через CLI хоста Numa vServer (xe vm-reboot uuid=<uuid_VM>), на котором развернута виртуальная машина Numa Collider.

Через несколько минут после полной загрузки ncvm произойдет синхронизация времени с указанным в конфигурационном файле NTP-сервером. Для просмотра, что синхронизация прошла успешно, можно ввести в Numa Collider команды chronyc sources и chronyc tracking. Дальнейшая настройка (например, установка параметра timezone) осуществляется с помощью базовой утилиты timedatectl.

Внимание!

NCVM поддерживает Stratum не ниже 3. Если у NTP-сервера уровень доверия 4 и ниже - синхронизация не произойдет.

Настройка даты и времени в Numa Collider при отсутствии NTP-сервера#

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

Для настройки даты и времени в Numa Collider при отсутствии NTP-сервера:

  1. Авторизуйтесь в ВМ Numa Collider (ncvm) (Инфраструктура → ВМ → 'ncvm_demo' → Консоль) или подключитесь по ssh к ncvm (логин и пароль ncadmin).
  2. Выполните следующие команды для настройки даты и времени:

    sudo timedatectl set-ntp 0
    
    sudo timedatectl set-time "YYYY-MM-DD HH:MM:SS"
    

  3. Внесенные изменения можно посмотреть с помощью команды:

    date
    

Возможность контроля трафика с применением межсетевых экранов: применение виртуальных МЭ на уровне подсетей, виртуальных МЭ на уровне ядра гипервизора#

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

Виртуальный коммутатор значительно упрощает администрирование в виртуальных сетей – все настройки и данные статистики ВМ остаются связанными с ВМ, даже если она мигрирует с одного сервера общего пула на другой.

При использовании контроллера программно-определяемых сетей (SDN-controller) поддерживающего протокол OpenFlow, виртуальные коммутаторы обеспечивают дополнительную функциональность, например, списки управления доступом (Access Control List, ACL).

Примечание

Контроллер программно-определяемых сетей не входит в стандартный состав дистрибутива Numa vServer.

Определение сетевого стека#

  1. Для определения сетевого стека, настроенного в настоящее время, выполните:

    xe host-param-get param-name=software-version param-key=network_backend uuid=<host_uuid>
    

  2. Если после выполнения команды вернулась строка "bridge", переключите стек на Open vSwitch и выполните перезагрузку:

    xe-switch-network-backend openvswitch
    
    reboot
    

  3. Для возвращения к стеку Linux-моста выполните следующую команду и перезагрузите сервер:

    xe-switch-network-backend bridge
    
    reboot
    

Стек Linux-моста не поддерживает протокол OpenFlow, межсерверные частные сети (Cross Server Private Networks) и не может управляться посредством контроллера программно-определяемых сетей.

Настройка iptables#

Далее выполните настройку iptables на всех хостах Numa vServer.

  1. Откройте через текстовый редактор nano файл для хранения правил iptables:

    nano /etc/iptables/iptables
    

  2. Добавьте строки:

    :xapi-INPUT - [0:0]
    :xapi_nbd_input_chain - [0:0]
    :xapi_nbd_output_chain - [0:0]
    -A INPUT -j xapi-INPUT
    -A INPUT -p tcp -m tcp --dport 10809 -j xapi_nbd_input_chain
    -A INPUT -p gre -j ACCEPT
    -A OUTPUT -p tcp -m tcp --sport 10809 -j xapi_nbd_output_chain
    -A vServer-Firewall-0-INPUT -p tcp -m tcp --dport 21064 -j ACCEPT
    -A vServer-Firewall-0-INPUT -p udp -m multiport --dports 5404,5405 -j ACCEPT
    -A xapi-INPUT -p tcp -m conntrack --ctstate NEW -m tcp --dport 6653 -j ACCEPT
    -A xapi-INPUT -p tcp -m conntrack --ctstate NEW -m tcp --dport 6640 -j ACCEPT
    -A xapi-INPUT -p udp -m conntrack --ctstate NEW -m udp --dport 6640 -j ACCEPT
    -A xapi-INPUT -j RETURN
    -A xapi_nbd_input_chain -j REJECT --reject-with icmp-port-unreachable
    -A xapi_nbd_output_chain -j REJECT --reject-with icmp-port-unreachable
    
    В итоге /etc/iptables/iptables приобретет вид:
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    :vServer-Firewall-0-INPUT - [0:0]
    :xapi-INPUT - [0:0]
    :xapi_nbd_input_chain - [0:0]
    :xapi_nbd_output_chain - [0:0]
    -A INPUT -j xapi-INPUT
    -A INPUT -p tcp -m tcp --dport 10809 -j xapi_nbd_input_chain
    -A INPUT -p gre -j ACCEPT
    -A INPUT -j vServer-Firewall-0-INPUT
    -A FORWARD -j vServer-Firewall-0-INPUT
    -A OUTPUT -p tcp -m tcp --sport 10809 -j xapi_nbd_output_chain
    -A vServer-Firewall-0-INPUT -i lo -j ACCEPT
    -A vServer-Firewall-0-INPUT -p icmp --icmp-type any -j ACCEPT
    # DHCP for host internal networks (CA-6996)
    -A vServer-Firewall-0-INPUT -p udp -m udp --dport 67 --in-interface xenapi -j ACCEPT
    -A vServer-Firewall-0-INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    # Linux HA hearbeat
    -A vServer-Firewall-0-INPUT -m conntrack --ctstate NEW -m udp -p udp --dport 694 -j ACCEPT
    -A vServer-Firewall-0-INPUT -m conntrack --ctstate NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A vServer-Firewall-0-INPUT -m conntrack --ctstate NEW -m tcp -p tcp --dport 80 -j ACCEPT
    -A vServer-Firewall-0-INPUT -m conntrack --ctstate NEW -m tcp -p tcp --dport 443 -j ACCEPT
    -A vServer-Firewall-0-INPUT -p tcp -m tcp --dport 21064 -j ACCEPT
    -A vServer-Firewall-0-INPUT -p udp -m multiport --dports 5404,5405 -j ACCEPT
    -A vServer-Firewall-0-INPUT -j REJECT --reject-with icmp-host-prohibited
    -A xapi-INPUT -p tcp -m conntrack --ctstate NEW -m tcp --dport 6653 -j ACCEPT
    -A xapi-INPUT -p tcp -m conntrack --ctstate NEW -m tcp --dport 6640 -j ACCEPT
    -A xapi-INPUT -p udp -m conntrack --ctstate NEW -m udp --dport 6640 -j ACCEPT
    -A xapi-INPUT -j RETURN
    -A xapi_nbd_input_chain -j REJECT --reject-with icmp-port-unreachable
    -A xapi_nbd_output_chain -j REJECT --reject-with icmp-port-unreachable
    COMMIT
    

  3. Сохраните файл сочетанием клавиш Ctrl+O.

  4. Подтвердите сохранение изменений нажатием Enter .
  5. Выйдите из редактора nano сочетанием клавиш Ctrl+X.
  6. Перезагрузите МЭ.
    systemctl restart iptables
    

Настройка TLS#

Для настройки TLS-соединения необходимо сгенерировать:

  1. Для каждого хоста виртуализации:
    1. Корневой сертификат (sdn-controller-ca.pem)
    2. Серверный сертификат (server-cert.pem)
    3. Серверный ключ (server-key.pem)
  2. Для ВМ Numa Collider:
    1. Корневой сертификат (ca-cert.pem)
    2. Сертификат клиента (client-cert.pem)
    3. Ключ клиента (client-key.pem)

Настройки в CLI Numa Collider, приведенные ниже, необходимо провести для каждого хоста виртуализации.

  1. Скопируйте sdn-controller-ca.pem, server-cert.pem и server-key.pem в /etc/stunnel/certs/.

  2. Войдите в CLI Numa vServer как суперпользователь root (ssh или локальная консоль).

  3. Перейдите в каталог /etc/stunnel/certs/ и создайте файл xapi-stunnel-ca-bundle.pem. Для этого выполните следующие команды:

    find /etc/stunnel/certs -name '*.pem' | xargs cat > /etc/stunnel/xapi-stunnel-ca-bundle.pem.tmp
    
    mv /etc/stunnel/xapi-stunnel-ca-bundle.pem.tmp /etc/stunnel/xapi-stunnel-ca-bundle.pem
    

  4. Находясь в /etc/stunnel/certs/, создайте файл xapi-ssl.pem и скопируйте его в /etc/xcp.

    cat server-key.pem > xapi-ssl.pem
    
    cat server-cert.pem >> xapi-ssl.pem
    
    mv ./xapi-ssl.pem /etc/xcp/
    

  5. Включите SSL в Open vSwitch.

    ovs-vsctl set-ssl /etc/stunnel/certs/server-key.pem /etc/stunnel/certs/server-cert.pem /etc/stunnel/certs/sdn-controller-ca.pem
    

  6. Перезапустите xe-toolstack и загрузите модуль vport_vxlan.

    xe-toolstack-restart
    
    modprobe vport_vxlan
    

  7. Войдите в CLI ВМ Numa Collider (ncvm), используя логин и пароль ncadmin.

  8. Создайте каталог хранения сертификатов и ключа.

    mkdir /home/ncadmin/certs
    

  9. Скопируйте ca-cert.pem, client-cert.pem, client-key.pem в /home/ncadmin/certs/.

  10. В Numa Collider подключите настроенные серверы (Добавить → Сервер).

Настройка дополнения настройки оверлейных сетей sdn-controller#

В Numa Collider модуль sdn-controller является дополнением для настройки оверлейных сетей. Для настройки данного дополнения:

  1. Перейдите в меню Настройки → Дополнения. Найдите модуль sdn-controller.

    Внимание

    При попытке инкапсулировать в GRE пакет размером в 1500 байт, реальный размер пакета увеличится до 1524 байт (за счет добавления дополнительных заголовков GRE), а в виду установленного маршрутизатором DF-бита (do not fragment), фрагментация пакета невозможна. Решить эту проблему можно принудительным снятием бита DF, тем самым побуждая маршрутизатор совершить фрагментацию пакета, но этот способ не рекомендуется, поскольку увеличивает количество передаваемых пакетов и количество служебной информации (overhead), тем самым снижая максимально доступную пропускную способность и увеличивая нагрузку на оборудование, также сама процедура фрагментации требует дополнительного буфера памяти для хранения фрагментов, а также вычислительных мощностей для совершения сборки и фрагментирования пакетов. При наличии маршрутизаторов на пути следования пакетов рекомендуется уменьшить MTU до 1476, либо увеличить MTU на всех интерфейсах и каналах между маршрутизаторами формирующими GRE (использование Jumbo-кадров c MTU от 1500 до 9216 байт).

  2. В блоке "cert-dir" укажите путь к сертификатам в ncvm (/home/ncadmin/certs).

  3. Сохраните конфигурацию.
  4. Для загрузки дополнения переведите его в положение (включено).

Настройка модуля sdn-controller
Настройка модуля sdn-controller

Создание оверлейной сети#

Далее рассматривается создание оверлейной сети с инкапсуляцией GRE. Сеть с VxLAN создается аналогично (на шаге 7 из выпадающего списка выбирается инкапсуляция VxLAN). Настройка IPTABLES, OPENVSWITCH и SDN-контроллера уже выполнена с учетом использования как GRE, так и VxLAN инкапсуляции.

Для создания сети:

  1. Перейдите в меню Добавить → Сеть.
  2. Выберите основной пул (1).
  3. Включите режим «Частная сеть» (2).
  4. Выберите сетевой интерфейс (3).
  5. Задайте имя для новой сети (4).
  6. При необходимости задайте MTU (5).
  7. Выберите тип инкапсуляции (6).
  8. Нажмите «Добавить пул» и выберите все пулы и их физические сетевые интерфейсы, для которых создается сеть (7).
  9. Нажмите «Создать сеть» (8).

Создание сети GRE (часть 1)
Создание сети GRE (часть 1)

Создание сети GRE (часть 2)
Создание сети GRE (часть 2)

Создание сети GRE (часть 3)
Создание сети GRE (часть 3)

По завершении процесса создания сети откроется вкладка "Сеть" мастер-хоста пула, который был назначен на шаге 2 создания сети.

Вкладка Сеть мастер-хоста, содержащая созданную сеть (gre)
Вкладка Сеть мастер-хоста, содержащая созданную сеть (gre)

Созданный сетевой интерфейс (tunnel0)
Созданный сетевой интерфейс (tunnel0)

Проверка работы созданной сети#

Проверить работу созданного туннеля возможно следующим способом:

  1. Создайте ВМ на хостах Numa vServer, содержащих tunnel0.
  2. Переведите VIF ВМ в сеть созданного ранее туннеля.
  3. Включите ВМ.
  4. Повторите шаги с 1, 2, 3 для других ВМ.
  5. В консоли ВМ выполните команду:
    ping <ip_vm>
    
    где <ip_vm> - IP другой виртуальной машины с VIF в сети созданного туннельного подключения.

Вкладка «Сеть» виртуальной машины

Вкладка "Перевод VIF ВМ в сеть туннеля (gre)"
Вкладка «Перевод VIF ВМ в сеть туннеля (gre)»

VIF ВМ в сеть туннеля (gre)
VIF ВМ в сеть туннеля (gre)

Внимание!

В случае если в новой сети нет DHCP-сервера, сетевым интерфейсам ВМ необходимо установить статические IP-адреса.

IP виртуальной машины №1
IP виртуальной машины №1

IP виртуальной машины №2
IP виртуальной машины №2

Ping ВМ №2 из ВМ №1
Ping ВМ №2 из ВМ №1

В виртуальной машине с ОС Windows не работают стандартные гостевые драйвера#

Свернуть/раскрыть
  1. Удалите установленные гостевые драйвера из виртуальной машины (ВМ).
  2. Выполните перезагрузку ВМ.
  3. В Numa Collider перейдите во вкладку «Расширенные настройки» ВМ и убедитесь, что переключатель «Обновление Windows tools» находится в положении (выключено).
  4. Загрузите свободные драйвера по ссылке: Windows.PV.Drivers.8.2.2.200-rc1.iso.
  5. Выполните установку загруженных драйверов.

Зависают элементы UI в виртуальной машине (Ubuntu, Gnome3)#

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

Если в ВМ графическим сервером по умолчанию выступает Wayland в то время как доступен X.Org, выполните следующие действия:

  1. Откройте в текстовом редакторе (nano/vim) /etc/gdm3/custom.conf.
  2. Раскомментируйте строку WaylandEnable=false.
  3. Сохраните изменения.
  4. Выполните перезагрузку.

Removable storage в Numa Collider не отображается, но присутствует в выводе команды xe sr-list#

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

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

  1. Отключите PBD у Removable storage и выполните команду sr-forget:

    xe sr-param-get param-name=PBDs uuid=<sr-uuid>
    
    xe pbd-unplug uuid=<pbd-uuid>
    
    xe sr-forget uuid=<sr-uuid>
    

    1
    UUID PBD будет отображен после выполнения первой команды.
    
  2. Создайте новое хранилище для съемных устройств и выполните сканирование созданного хранилища:

    xe sr-create name-label=Removable\ storage type=udev content-type=disk device-config:location=/dev/xapi/block
    
    xe sr-scan uuid=<new-sr-uuid>
    

Добавление Numa Collider в Zabbix#

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

Добавление шаблона Numa Collider в Zabbix#

  1. Пройдите авторизацию в веб-оболочке Zabbix-server.

    Страница авторизации Zabbix

  2. В панели навигации нажмите на "Data collection" → "Templates".

    Вкладка "Templates"

  3. В открывшейся странице нажмите "Import".

    Окно импорта шаблона

  4. В открывшейся форме нажмите "Choose File".

  5. В файловом проводнике выберите шаблон template_numa_collider.yaml и нажмите "Open".
  6. Нажмите "Import".

    Импорт шаблона

Подключение Numa Collider к Zabbix#

  1. Пройдите авторизацию в веб-оболочке Zabbix-server.

    Страница авторизации Zabbix

  2. В панели навигации нажмите "Monitoring" → "Hosts".

    Панель управления Zabbix Zabbix

  3. В открывшейся странице нажмите "Create host".

    Вкладка "Hosts"

  4. В открывшейся форме в поле для ввода "Host name" введите имя добавляемого хоста.

  5. В поле для ввода "Templates" введите "Numa Collider by HTTP" и выберите совпадение в выпадающем меню.
  6. В поле для ввода "Host groups" введите "Virtual machines" и выберите совпадение в выпадающем меню.

    Окно добавления хоста

  7. Во вкладке "Macros" добавьте следующие макросы:

    • {$NC.AUTH.TOKEN} - токен аутентификации (процедура получения токена описана здесь);
    • {$NC.URL} - URL или IP-адрес Numa Collider;
    • {$NC.PROXY.URL} - URL Proxy-сервера (опционально);
    • {$NC.SR.THRESHOLD.CRIT} - критическое значение утилизации хранилища, в процентах (опционально);
    • {$NC.SR.THRESHOLD.WARN} - высокое значение утилизации хранилища, в процентах (опционально).

    Вкладка добавления макросов

  8. Нажмите "Add".

    После обновления окна браузера автоматически будут добавлены хосты виртуализации и виртуальные машины.

    Добавленная виртуальная машина Numa Collider и хосты Numa vServer

    Метрики хоста Numa vServer

Получение токена аутентификации с Numa Collider#

  1. Установите утилиту XO-CLI, используя пакетный менеджер npm на рабочей станции:
    npm install --global xo-cli
    
  2. С помощью XO-CLI выполните запрос к ВМ Numa Collider (ncvm) и сгенерируйте токен аутентификации:
    xo-cli create-token http://<ncvm-ip> admin