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

Сервис CloudManager API

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

  • Команда:

    aos-cloud-manager-api
    
  • Имя службы systemd:

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

Запуск периодических задач

Утилита выполняет периодический запуск задач, выполняемых службой aos-cloud-manager-worker:

nodes_tracker
Мониторинг и управление вычислительными узлами
node_syncer
Синхронизация вычислительных узлов
drs_trigger
Автоматическое применение результатов DRS аудита
storage_syncer
Сбор информации о блочных хранилищах Cinder
  • Команда:

    aos-cloud-manager-beat
    
  • Имя службы systemd:

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

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

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

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

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

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

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

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

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

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

В процессе работы утилиты выполняются следующие действия:
  • периодически опрашивается база данных службы Nova и, если обнаружены изменения в списке вычислительных узлов, то происходит синхронизация этого списка с базой данных вычислительных узлов модуля CloudManager;
  • обновляется информация о состоянии питания портов устройств управления питанием, сопоставленных с вычислительными узлами.
  • обновляется информация о количестве свободных гипервизоров на агрегаторах узлов и сопоставляется со значением „free_hypervisor_count“ в метаданных агрегатора. При превышении количества свободных гипервизоров часть гипервизоров переводится в резерв и выключается. При недостатке свободных гипервизоров включаются гипервизоры из резерва.

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

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

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

Примечание

Для корректной работы требуется запустить службу agent с типом lvm на узлах со службой openstack-cinder-volume.

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

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

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

  • Команда:

    aos-cloud-manager-listener
    
  • Имя службы systemd:

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

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

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

  • Команда:

    aos-cloud-manager-worker
    
  • Имя службы systemd:

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

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

Примечание

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

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

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

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

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

Примечание

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

Команда:

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

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

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

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

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

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

Подсказка

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

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

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

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

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

Важно

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

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

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

Примечание

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

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

Команда:

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

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

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

Команда:

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

Управление службой SNMP узла

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

Команда:

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

Управление службой SSH узла

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

Команда:

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

Отображение списка узлов инфраструктуры

Утилита выводит список доступных узлов инфраструктуры.

Команда:

openstack aos nodes list

Пример:

openstack aos nodes list

+----+----------------------------------+-----------+------+--------------+
| ID | Name                             | Class     | Type | IP addresses |
+----+----------------------------------+-----------+------+--------------+
| 1  | node1.stand.loc                  | Hypervisor| Qemu | 10.35.222.11 |
|    |                                  |           |      | 192.168.4.21 |
+----+----------------------------------+-----------+------+--------------+
| 2  | node2.stand.loc                  | Hypervisor| Qemu | 10.35.222.12 |
+----+----------------------------------+-----------+------+--------------+
| 3  | -                                | Server    | -    | 10.35.115.3  |
+----+----------------------------------+-----------+------+--------------+

Включение питания узла

Команда:

openstack aos nodes power-on
Аргументы утилиты
Параметр Описание
<name> Имя или ID узла.

Пример:

openstack aos nodes power-on node1.local

Отключение питания узла

Команда:

openstack aos nodes power-off
Аргументы утилиты
Параметр Описание
<name> Имя или ID узла.

Пример:

openstack aos nodes power-off node1.local

Перезапуск узла

Команда:

openstack aos nodes reset
Аргументы утилиты
Параметр Описание
<name> Имя или ID узла.

Пример:

openstack aos nodes reset node1.local

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

Примечание

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

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

Команда:

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

Пример:

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

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

Команда:

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

Пример:

openstack aos 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 aos pxe-image delete
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.
--id ID образа.

Пример:

openstack aos pxe-image delete --id 1

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

Команда:

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

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

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

Команда:

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

Пример:

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

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

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

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

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

  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?
    

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

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

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 aos power list -h
Аргументы утилиты
Параметр Описание
-h, --help Вывод справки.
-a, --all Выводить все порты устройств, без указания флага выводятся только порты устройств, привязанные к вычислительным узлам.

Пример:

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

Важно

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

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

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

Команда:

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

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

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

Команда:

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

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

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

Команда:

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

Пример:

openstack aos storage create test0 /var/ /home/

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

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

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

Команда:

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

Пример:

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

Пример:

openstack aos storage delete 44

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

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

Команда:

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

Пример:

openstack aos storage assign 1 --nodes 1 2 3

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

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

Команда:

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

Пример:

openstack aos storage unassign 1 --node 2

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

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

Команда:

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

Пример:

openstack aos storage assign 1 --storages 1 2 3

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

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

Команда:

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

Пример:

openstack aos storage unassign 1 --storage 3

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

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

Команда:

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

Пример:

openstack aos storage list

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

openstack aos storage list --detail

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

Скрипты bash

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

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

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

Команда:

openstack aos db migrate -n node_control