Консольные утилиты

Сервис NodeControl API

Предоставляет API для управления узлами.

  • Команда:

    tnx-node-control-api
    
  • Имя службы systemd:

    tionix-node-control-api.service
    
Аргументы утилиты
Наименование Описание Значение по умолчанию
--host IP-адрес, на котором будет запущен сервис. 0.0.0.0
--port Порт, на котором будет запущен сервис. 9362
--certfile Путь к файлу SSL-сертификата для защищенного соединения.  
--keyfile Путь к приватному ключу SSL-сертификата для защищенного соединения.  
--debug Аргумент позволяет запустить сервис в режиме DEBUG. False
--logfile Путь к файлу для логирования. /var/log/tionix/node-control/node-control-api.log

Мониторинг и управление вычислительными узлами

Функциональность пакета мониторинга и управления вычислительными узлами разработана для обеспечения отказоустойчивости и позволяет:

Дает возможность назначить резервные гипервизоры из списка доступных.

Гипервизор относится к резервным если:

  • Выставлен и помечен как резервный;
  • Имеет порт управления питанием;
  • Выключен по питанию через устройство управления питанием.

При смене статуса гипервизора на down выполняется следующий алгоритм:

  1. Определяется число потерянных вычислительных узлов, которое рассчитывается как число всех вычислительных узлов в статусе down за исключением резервных;
  2. Если число потерянных вычислительных узлов превышает число, указанное в параметре MAX_DOWN_HOSTS, алгоритм прерывается;
  3. Если не выставлен параметр ALLOW_HOST_AUTO_POWER_OFF, то выполняется автоэвакуация с включением резервного вычислительного узла:
  4. Иначе выполняются следующие действия:
  • Команда:

    tnx-node-control-node-syncer
    
  • Имя службы systemd:

    tionix-node-control-node-syncer.service
    
Аргументы утилиты
Наименование Описание Значение по умолчанию
--debug Аргумент позволяет запустить сервис в режиме DEBUG. False
--logfile Путь к файлу для логирования. /var/log/tionix/node-control/node-syncer.log

Синхронизация вычислительных узлов

Утилита позволяет синхронизировать информацию о вычислительных узлах между базой данных службы Nova и базы данных модуля TIONIX.NodeControl для корректного отображения списка вычислительных узлов в TIONIX.Dashboard.

В процессе работы утилиты выполняются следующие действия:
  • Команда:

    tnx-node-control-node-tracker
    
  • Имя службы systemd:

    tionix-node-control-node-tracker.service
    
Аргументы утилиты
Наименование Описание Значение по умолчанию
--debug Аргумент позволяет запустить сервис в режиме DEBUG. False
--logfile Путь к файлу для логирования. /var/log/tionix/node-control/node-tracker.log

Обработка очереди задач модуля

Утилита выполняет асинхронные задачи модуля.

  • Команда:

    tnx-node-control-worker
    
  • Имя службы systemd:

    tionix-node-control-worker.service
    
Аргументы утилиты
Наименование Описание Значение по умолчанию
--debug Аргумент позволяет запустить сервис в режиме DEBUG. False
--logfile Путь к файлу для логирования. /var/log/tionix/node-control/worker.log

Мониторинг событий Nova

Утилита позволяет отслеживать события Nova и поддерживать актуальную информацию об узле в метаданных виртуальной машины. Метаданные обновляются при создании виртуальной машины или ее миграции на другой вычислительный узел.

  • Команда:

    tnx-node-control-nova-listener
    
  • Имя службы systemd:

    tionix-node-control-nova-listener.service
    
Аргументы утилиты
Наименование Описание Значение по умолчанию
--debug Аргумент позволяет запустить сервис в режиме DEBUG. False
--logfile Путь к файлу для логирования. /var/log/tionix/node-control/nova-listener.log

Автоматическое применение результатов DRS аудита

Утилита позволяет автоматически применять результаты успешного аудита по возможности балансировки виртуальных машин на узлах в рамках агрегаторов узлов.

  • Команда:

    tnx-node-control-drs-trigger
    
  • Имя службы systemd:

    tionix-node-control-drs-trigger.service
    
Аргументы утилиты
Наименование Описание Значение по умолчанию
--debug Аргумент позволяет запустить сервис в режиме DEBUG. False
--logfile Путь к файлу для логирования. /var/log/tionix/node-control/drs-trigger.log

Сбор информации о блочных хранилищах Cinder

Примечание

Для корректной работы необходимо наличие запущенной службы tionix-agent с типом control на узлах со службой openstack-cinder-volume.

Утилита позволяет собирать информацию о блочных хранилищах Cinder.

  • Команда:

    tnx-node-control-storage-syncer
    
  • Имя службы systemd:

    tionix-node-control-storage-syncer.service
    
Аргументы утилиты
Наименование Описание Значение по умолчанию
--debug Аргумент позволяет запустить сервис в режиме DEBUG. False
--logfile Путь к файлу для логирования. /var/log/tionix/node-control/storage-syncer.log

Команды утилиты OpenStack

Примечание

По умолчанию отключен вывод сообщений с уровнем логирования WARNING и ниже. Для включения подробного вывода нужно выставить уровень логирования и запустить команду с флагом --verbose.

Механизм аутентификации описан в разделе «Аутентификация в OpenStackClient».

Заполнение информации о вычислительных узлах

Утилита позволяет заполнить дополнительную информацию о вычислительном узле.

В процессе работы утилиты осуществляется последовательный опрос пользователя для всех вычислительных узлов. Можно как согласится с опросом по текущему вычислительному узлу, так и отказаться от него. В случае отказа от заполнения дополнительной информации по текущему узлу, дополнительная информация в базу данных не вносится. В случае выбора вычислительного узла пользователю предоставляется возможность последовательно ввести необходимые значения параметров этого вычислительного узла. Для каждого параметра имеется значение по умолчанию (отображается в скобках). В случае нажатия на Enter без ввода какой-либо информации в качестве значения параметра запишется его значение по умолчанию. В случае выбора пользователем опции q, произойдет выход из процесса без записи изменений в базу данных.

Примечание

Используется модуль assign_data из пакета node_assign_info.

Команда:

openstack tnx nodes update
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.

Пример:

Do you want to edit this node 0 ([Y]/n/q)?
-Y
Datacenter number (Default: 444): (must be unsigned_int)?
-0
Datacenter Rack number (Default: 134): (must be unsigned_int)?
-0
Row number (Default: None): (must be unsigned_int)?
-0
Inventory code (Default: None): (must be limited_string)?
-123456
Rack Unit number (Default: 127): (must be unsigned_int)?
-0
Select image name (Default: 1):
1: Debian Stable
2: Zarafa Server
3: AD Server
4: DB Server
5: Windows Server with IIS
-2
Is reserved (Default: True): (must be boolean)?
-Yes
CPU Benchmark (Default: test): (must be limited_string)?
-test_upd

На конечном этапе произойдет запись в базу данных дополнительной информации о вычислительных узлах.

Инициализация вычислительных узлов

Утилита позволяет сопоставить порт устройства управления питанием с IP и MAC-адресами вычислительного узла.

В процессе работы утилиты запускается последовательное выключение вычислительных узлов путем перебора ячеек устройств, отвечающих за управление питанием. Таким образом, определяется соответствие вычислительного узла и порта (ячейки) устройства, управляющего питанием. Для каждого вычислительного узла в базу данных вносится информация о сопоставленных портах устройств управления питанием. После процедуры установки все сопоставленные между собой вычислительные узлы и ячейки устройств управления питанием формируют список “по умолчанию” и поэтому при последующих запусках сопоставления уже не требуют.

Примечание

Используется модуль init_nodes из пакета node_initialization и init_devices из пакета power_control.

Команда:

openstack tnx nodes init
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.
--auto Запуск автоматического режима.
--partial-init Запуск выборочного режима.
--excluded-nodes Исключение выбранных вычислительных узлов.

Процесс установки выполняется одним из вариантов:

  1. Ручной режим, с запросом разрешения на выключение вычислительных узлов;
    • Запуск:

      openstack tnx nodes init
      
    • Описание процесса:
      • сопоставляются имеющиеся IP-адреса вычислительных узлов и их MAC-адреса;
      • запускается процесс настройки устройств управления питанием;
      • выключается нода на 0 порту одного из устройств, программа входит в цикл ожидания выключения вычислительного узла, затем, если выключившийся узел найден, происходит сопоставление его с портом и устройством. Опрос циклически повторяется для всех вычислительных узлов. Пользователь может как согласится с выключением, так и отказаться от него. В случае отказа информация о сопоставлении данного узла с ячейкой и устройством не сохранится и не попадет в базу данных;
      • конечный этап: произойдет запись в базу данных информации о портах устройства управления питанием с привязкой к вычислительному узлу. В случае выбора пользователем опции q, произойдет выход из программы без записи изменений в базу данных.
  2. Автоматическом режим, без запроса разрешения на выключение вычислительных узлов;
  3. Выборочный режим, выборочное выключение вычислительных узлов.
    • Запуск:

      openstack tnx nodes init --partial-init
      
    • Описание процесса:
      • В отличие от ручного режима пропускаются вычислительные узлы, которые уже были проинициализированы.
    • Запуск с исключением конкретных вычислительных узлов:

      openstack tnx nodes init --excluded-nodes node1.local node2.local ... nodeN.local
      
    • Описание процесса
      • В отличие от ручного режима при указании перечня вычислительных узлов, выбранные узлы буду исключаться при определении порта устройства.

Подсказка

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

  • без сохранения данных о вычислительных узлах перезапускаем процесс установки, в ручном, автоматическом или в выборочном режиме;
  • с сохранением данных о предыдущих процессах инициализации следует указать флаг –partial-init. В этом случае не будет учитываться статус уже проинициализированных узлов, в том числе не будут предлагаться на выключение порты, привязанные к определенному вычислительному узлу.

Вывод вычислительного узла из эксплуатации

Утилита позволяет вывести вычислительный узел из эксплуатации с возможностью переноса запущенных виртуальных машин при помощи: живой миграции, холодной миграции или эвакуации.

Для переноса виртуальных машин необходимо указать один или несколько способов:

Важно

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

  • Разрешить живую миграцию виртуальной машины;
  • Разрешить остановку и миграцию виртуальной машины;
  • Разрешить эвакуацию виртуальной машины.

При выборе нескольких способов перенос виртуальных машин будет осуществляться согласно их приоритету и в случае успешного выполнения одного, остальные выполнятся не будут.

Примечание

Приоритет выполнения переноса виртуальных машин при указании нескольких способов:

  • Живая миграция виртуальной машины - Высокий;
  • Остановка и миграция виртуальной машины - Средний;
  • Эвакуация виртуальной машины - Низкий.

Команда:

openstack tnx nodes decommission <hostname>
Аргументы утилиты
Параметр Описание Значение по умолчанию
-h, --help Вывод справки.  
<hostname> Имя узла.  
--allow-live-migrate Разрешить живую миграцию виртуальной машины. False
--allow-migrate Разрешить миграцию виртуальной машины. False
--allow-evacuate Разрешить эвакуацию виртуальной машины. False

Управление динамическим конфигурированием компонентов узлов

Важно

Доступно только при установленном и настроенном модуле TIONIX.Agent на вычислительных узлах.

Утилита позволяет включать и отключить динамическое конфигурирование компонентов вычислительных узлов. Команда:

openstack tnx nodes dcc
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.
--enable Включить динамическое конфигурирование компонентов. При создании узла параметр выставляется по умолчанию.
--disable Отключить динамическое конфигурирование компонентов.
<hostname> Имя или IP-адрес узла, * для выполнения действия для всех узлов.

Создание образа для PXE

Примечание

Для создания образа необходимы права администратора.

Позволяет вносить информацию в базу данных об образах, с которых можно загрузиться по PXE.

Команда:

openstack tnx pxe-image create
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.
-name Имя образа.
-file Адрес образа.

Пример:

openstack tnx pxe-image create --name default --file /var/lib/tftpboot/pxelinux.cfg/default

Отображение информации по указанному PXE образу

Команда:

openstack tnx pxe-image show
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.
--id ID образа.

Пример:

openstack tnx pxe-image show --id 1
+---------------+-----------------------------------------------------+
| Field         | Value                                               |
+---------------+-----------------------------------------------------+
| Image ID      | 1                                                   |
| Image Name    | default                                             |
| Image Content | default vesamenu.c32                                |
|               | aprompt 1                                           |
|               | timeout 30                                          |
|               | label ubuntu 14.04                                  |
|               | menu label CENTER COMPUTE NODE DEFAULT              |
|               | kernel vmlinuz                                      |
|               | append initrd=dracut root=192.168.100.1:/mnt/rootfs |
|               | biosdevname=0 ip=eth0:on ip=eth1:on                 |
|               | bond=bond0:eth0,eth1:mode=6 ip=bond0:dhcp ro        |
+---------------+-----------------------------------------------------+

Удаление образа

Примечание

Для удаления образа необходимы права администратора.

Команда:

openstack tnx pxe-image delete
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.
--id ID образа.

Пример:

openstack tnx pxe-image delete --id 1

Просмотр списка образов

Команда:

openstack tnx pxe-image list
Аргументы утилиты
Параметр Описание
-h`, --help Вывод справки.

Инициализация устройств управления питанием

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

Команда:

openstack tnx power init
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.

Пример:

Предлагается инициализировать, удалить или отредактировать установленные устройства управления питанием:

Do you want (a)dd device, (e)dit or (d)elete existing (a/e/d/[n])?

Можно выбрать а - для добавления, е - для редактирования, d - для удаления, либо n - для пропуска этого шага.

Добавление устройства.

Добавление нового устройства управления питанием. При выборе варианта а запускается опросник о новом устройстве:

  1. Предоставляется на выбор из списка реализованных устройств:

    Select device name?
    
  2. Предоставляется на выбор из списка реализованных клиентов для протоколов:

    Select protocol name?
    
  3. Вводим IP-адрес либо хост устройства для соединения с ним по выбранному протоколу:

    Ip address or host of device?
    
  4. Вводим порт устройства для соединения с ним по выбранному протоколу:

    Port number of device?
    
  5. Вводим имя пользователя (может быть пустым) для соединения с ним по выбранному протоколу:

    Username to access device?
    
  6. Вводим пароль (может быть пустым) устройства для соединения с ним по выбранному протоколу:

    Password to access device?
    

Изменение устройства.

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

Do you want edit this device: device_attributes_and_name ([y]/n/q)? и запущен опросник об устройстве.

Удаление устройства.

В случае выбора, d режима удаления будет происходить перебор имеющихся устройств, с предложением удалить каждое:

Do you want delete this device: device_attributes_and_name ([y]/n/q)?

При выборе y будет повторно запущено добавление устройства.

Отображение списка вычислительных устройств

Утилита отображает список вычислительных узлах и их состояние.

Команда:

openstack tnx power list -h
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.
-a, --all Выводить все порты устройств, без указания флага выводятся только порты устройств, привязанные к вычислительным узлам.

Пример:

openstack tnx power list

------------------------------------------------------------------------------------------------------------------
N | Имя хоста     | Наименование ноды | Наименование устройства | Номер порта | Состояние питания | Состояние ноды
------------------------------------------------------------------------------------------------------------------
1 | cn.7c48.local | fnc амт21         | 10_10_15_21             | 1           | ВКЛ               | Включен
2 | cn.2dae.local | амт13             | 10.10.15.13_13          | 1           | ВКЛ               | Включен
3 | cn.46f1.local | тестовая нода     | 10.10.15.17_17          | 3           | ВКЛ               | Включен
4 | cn.4b5c.local | baremetal_node    | 10.10.15.17_17          | 1           | ВЫКЛ              | Выключен
------------------------------------------------------------------------------------------------------------------

Управление питанием вычислительных узлов

Утилита позволяет получать по запросу состояние устройства управления питанием и осуществлять включение и отключение вычислительного узла.

Команда:

openstack tnx power manage -h
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.
-a, --all Вывод всех портов устройств, без указания флага выводятся только порты устройств, привязанные к вычислительным узлам.

Важно

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

Зеркалирование диска

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

Команда:

openstack tnx volume mirror
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.
<volume> Имя или UUID диска.
--type Тип зеркалирования (standard или mirrored).

Миграция диска между PV

Утилита позволяет мигрировать диск между физическими дисками (PV).

Команда:

openstack tnx volume pvmigrate
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.
<volume> Имя или UUID диска.
--source Исходный физический диск.
--target Целевой физический диск.

Создание хранилища проверки доступности

Утилита позволяет создать хранилище проверки доступности.

Команда:

openstack tnx storage create
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.
<name> Имя хранилища проверки доступности.
<compute-path> Путь к хранилищу проверки доступности на вычислительном узле.
<controller-path> Путь к хранилищу проверки доступности на управляющем узле.

Пример:

openstack tnx storage create test0 /var/ /home/

+-------------------+------+
|Field              |Value |
+-------------------+------+
|Storage ID         |44    |
+-------------------+------+
|Storage Name       |test0 |
+-------------------+------+
|Path for compute   |/var/ |
+-------------------+------+
|Path for controller|/home/|
+-------------------+------+

Изменение хранилища проверки доступности

Утилита позволяет изменить имя хранилища проверки доступности, а также путь к хранилищу проверки доступности на вычислительном и управляющем узлах.

Команда:

openstack tnx storage update
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.
<id> ID хранилища проверки доступности.
--name Новое имя хранилища проверки доступности.
--compute-path Новый путь к хранилищу на вычислительном узле.
--controller-path Новый путь к хранилищу на управляющем узле.

Пример:

openstack tnx storage update 44 --compute-path /tmp/ --controller-path /tmp/

+-------------------+-----+
|Field              |Value|
+-------------------+-----+
|Storage ID         |44   |
+-------------------+-----+
|Storage Name       |test0|
+-------------------+-----+
|Path for compute   |/tmp/|
+-------------------+-----+
|Path for controller|/var/|
+-------------------+-----+

Удаление хранилища проверки доступности

Утилита позволяет удалить ранее созданное хранилище проверки доступности.

Команда:

openstack tnx storage delete
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.
<id> ID хранилища проверки доступности.

Пример:

openstack tnx storage delete 44

Назначение узлов хранилищу проверки доступности

Утилита позволяет назначить один или несколько узлов хранилищу проверки доступности.

Команда:

openstack tnx storage assign
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.
<id> ID хранилища проверки доступности.
--nodes ID назначаемых узлов.

Пример:

openstack tnx storage assign 1 --nodes 1 2 3

Снятие назначения узла хранилищу проверки доступности

Утилита позволяет снять назначение узла хранилищу проверки доступности.

Команда:

openstack tnx storage unassign
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.
<id> ID хранилища.
--node ID узла.

Пример:

openstack tnx storage unassign 1 --node 2

Назначение хранилищ проверки доступности узлу

Утилита позволяет назначить одно или несколько хранилищ проверки доступности узлу.

Команда:

openstack tnx storage assign
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.
<id> ID узла.
--storages ID назначаемых хранилищ проверки доступности.

Пример:

openstack tnx storage assign 1 --storages 1 2 3

Снятие назначения хранилища проверки доступности узлу

Утилита позволяет снять назначение хранилища проверки доступности узлу.

Команда:

openstack tnx storage unassign
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.
<id> ID узла.
--storage ID хранилища проверки доступности.

Пример:

openstack tnx storage unassign 1 --storage 3

Вывод списка хранилищ проверки доступности

Утилита позволяет вывести на экран список созданных хранилищ проверки доступности.

Команда:

openstack tnx storage list
Аргументы утилиты
Параметры Описание
-h, --help Вывод справки.
--detail Вывести пути для хранилища на вычислительном узле и на управляющем узле.

Пример:

openstack tnx storage list

+----------+------------+
|Storage ID|Storage Name|
+----------+------------+
|36        |test1       |
+----------+------------+
|43        |test2       |
+----------+------------+

openstack tnx storage list --detail

+----------+------------+----------------+-------------------+
|Storage ID|Storage Name|Path for compute|Path for controller|
+----------+------------+----------------+-------------------+
|36        |test1       |/tmp/           |/tmp/              |
+----------+------------+----------------+-------------------+
|43        |test2       |/usr/           |/home/             |
+----------+------------+----------------+-------------------+

Скрипты bash

Миграция базы данных

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

Команда:

openstack tnx db migrate -n tnx_node_control