Перейти к основному содержимому

Как управлять узлами кластера

Когда использовать​

Узел выводят из работы перед обслуживанием, возвращают после него, сверяют его оборудование с ведомостью, выравнивают версии пакетов по кластеру и правят параметры системы. Все эти задачи решаются из одного места — карточки узла в разделе Server Nodes.

Держите в голове разделение ответственности. Состав кластера и статусы узла ведёт Cluster Manager: команды ввода и вывода узла vStack Center только передаёт ему. Инвентарь, версии ПО и конфигурация приезжают от агента узла и складываются в базу — поэтому свежесть данных видна по времени последнего обнаружения. Метрики живут в InfluxDB.

ЗадачаГде в интерфейсе
Состав кластера и состояние узловServer Nodes, таблица узлов
Вывод узла из работы и возвратКарточка узла в Server Nodes
Аппаратный инвентарьКарточка узла, блок Hardware
Версии ПОКнопка Software на списке узлов и на карточке узла
Конфигурационные параметрыКнопка Configure на карточке узла
Метрики узлаКарточка узла, блок Perfdata

Предусловия​

  • роль Cluster master (role_id=1) — её требуют все операции с узлами и команды ввода-вывода узла;
  • включённый признак feature.node_config_management — для запуска сбора аппаратного инвентаря (код отказа -23201), для конфигурации узлов (код отказа -23110, а у списка параметров -23301) и для сбора версий ПО (код отказа -43201);
  • включённый признак feature.hardware_inventory — для просмотра уже собранного инвентаря (код отказа -26001) и утилизации ядер (код отказа -26101);
  • включённый признак feature.physical_disc_management — для операций с физическими дисками (коды отказа -24201 и соседние в том же ряду);
  • включённый признак feature.network_ports_management — для таба Portgroup на карточке узла (код отказа -25001); по умолчанию признак выключен;
  • версия vStack Center — 3.0.3.

Посмотреть состав и состояние узлов​

Состав кластера показывает таблица узлов: она отвечает на вопросы «сколько узлов» и «какой из них живой».

  1. Откройте Provider Data Center → Server Nodes. Таблица узлов несёт колонки ID, Name, Health, CPU (Cores), RAM (GB).
  2. Выберите узел в таблице или переключитесь на его таб (node01, node02 и далее) — откроется карточка узла с блоками Overview, Software, Hardware, Disks и Perfdata.

Таблица узлов кластера на табе Server Nodes

Состав таблицы определяет Cluster Manager. Если таблица пуста и экран сообщает об ошибке получения статуса, данные о составе кластера брать неоткуда — смотрите доступность Cluster Manager.

Вывести узел из работы и вернуть​

Вывод узла — административное решение. Он меняет разрешение, а не убивает узел: vStack Center передаёт Cluster Manager команду вывода, и дальше узел перестаёт принимать нагрузку. Возврат работает симметрично.

warning

Отключение узла влияет на размещённые на нём машины и сервисы. Перед выводом узла из работы проверьте в Storage Resources, какие пулы он сейчас несёт (колонка Current node), и перенесите нагрузку.

  1. Откройте Server Nodes и найдите узел по колонкам ID и Name.
  2. Откройте карточку узла и выполните для него вывод из работы, подтвердив действие.
  3. Убедитесь, что решение доехало: вернитесь к таблице узлов. Выведенный узел остаётся в списке, но помечен как запрещённый к работе.
  4. После обслуживания верните узел тем же путём — операцией возврата в работу.

Принятая команда означает, что её получил Cluster Manager, а не что узел уже сменил состояние. Фактическую смену показывает состояние узла в колонке Health — она обновится, когда узел отчитается.

Идентификатор узла — число. Значение с посторонними символами кластер отклоняет с кодом -20122 ещё до отправки команды на узлы.

Собрать аппаратный инвентарь​

Инвентарь работает в два такта. Сначала запускается сбор — vStack Center рассылает команду агентам узлов. Затем результат показывается на карточке узла. Между такими тактами проходит время: команда сбора только передаётся агентам и ничего не говорит об исходе.

Такты закрыты разными признаками возможностей. Сбор требует feature.node_config_management, а просмотр собранного — feature.hardware_inventory. Поэтому «сбор не запускается» и «данные не показываются» — это две разные опции кластера.

  1. Запустите инвентаризацию оборудования. Сбор можно адресовать всему кластеру или одному узлу, а также сузить до одного класса устройств.

    Класс устройствЧто собирает
    ifnetСетевые интерфейсы
    sesКорзины дисков
    camДисковая подсистема
    nvmeУстройства NVMe
    smbiosДанные SMBIOS
    класс не выбранПолная инвентаризация
  2. Откройте карточку узла и разверните блок Hardware. Таб Inner view показывает состав узла таблицей Manufacturer / Description / Product / Serial number / Version; вложенные табы Node data, CPU и RAM переключают срез.

  3. Таб Portgroup показывает портовые группы узла — колонки Name, Hash, Last_seen, MAC, Proto, Status. Таб закрыт признаком feature.network_ports_management. По умолчанию признак выключен, и таб отдаёт код отказа -25001. Таб Utilization показывает загрузку ядер по NUMA-доменам; данные там свежие, не старше десяти минут.

  4. Размещение дисков смотрите в блоке Disks: таб Placement несёт колонки Enclosure_device, Enclosure_id, Dev_index, Device, таб LED on panel — индикаторы Led_fault и Led_locate, а табы Disk props и ZFS props — свойства дисков и пула.

Карточка узла: блоки Overview, Software, Hardware и Disks

Отдельно стоит сбор данных о хостах: он рассылает команду всем узлам в состоянии ONLINE, собирает от их агентов данные о пулах и машинах и обновляет карту состояния виртуальных машин. Операция открыта только роли Cluster master и признаком возможности не закрыта; если карта состояния кластера недоступна, она отвечает кодом -200. Сначала команда только передаётся узлам, результат появляется после того, как они ответят.

Сверить версии ПО​

Версии пакетов нужны при обновлении кластера: разъезд версий между узлами — частая причина странного поведения.

  1. Нажмите Software на списке узлов или на карточке узла. Откроется таблица Name / Version / Last_seen — по каждому пакету видно версию и время, когда пакет был обнаружен последний раз. Отдельно показываются версии узловых пакетов и версии самого кластера.
  2. Смотрите на Last_seen. В колонке время, когда пакет обнаружили в последний раз. Старое значение означает, что узел давно не отчитывался, и показанная версия может не совпадать с установленной.
  3. Если данные устарели, запустите сбор версий ПО. Без выбора узла команда уходит на все узлы в состоянии ONLINE. Команда лишь передаётся агентам — новые значения появятся в таблице после того, как узлы отчитаются.

Часть пакетов необязательна: vStack-vm-prio, vStack-storage-san и vStack-zpool могут отсутствовать в таблице. Их отсутствие — не сбой сбора.

Прочитать и изменить конфигурацию узлов​

Конфигурация узла — это набор параметров, каждый из которых адресуется своим идентификатором (OID). Параметр принадлежит группе и классу: группа объединяет близкие параметры (например, лимиты ВМ), а класс задаёт профиль, в рамках которого значение применяется.

  1. Откройте карточку узла и нажмите Configure. Откроются параметры узла с текущими значениями, разбитые по группам, и время последнего обнаружения каждого значения.
  2. Прежде чем править значение, посмотрите, числовой параметр или строковый: от этого зависит, что примет форма.
  3. Укажите новое значение параметра и выберите класс, в котором оно должно действовать. Изменение можно адресовать одному узлу или всем узлам кластера сразу.
  4. Подтвердите изменение. Команда передаётся агентам узлов, поэтому результат виден не сразу: откройте параметры заново — у изменённого параметра обновятся значение и время обнаружения.

Числовые параметры vStack Center проверяет по диапазону сам: значение ниже минимума отклоняется с кодом -23124, выше максимума — с кодом -23125, и на узлы такое значение не уходит. Неизвестный параметр отклоняется кодом -23121, параметр, которого vStack Center не поддерживает, — кодом -23122, а параметр без запрошенного класса — кодом -23123.

Посмотреть метрики узла​

Метрики узла рисует блок Perfdata на карточке узла. Данные приходят из InfluxDB, поэтому график существует ровно настолько, насколько собраны метрики.

  1. Откройте карточку узла и разверните блок Perfdata. Показываются два графика: загрузка процессора и использование памяти.
  2. Выберите период и шаг переключателями над графиком — по умолчанию выбраны период 15 m и шаг 30 s.
  3. Читайте легенду. У графика процессора это Iowait, System и User; у графика памяти — Active, Inactive, Wired, Buffered и Free. Колонка Current показывает текущее значение каждой составляющей.

Пустой график — не ошибка экрана: за выбранный период по узлу нет данных. Сократите период или проверьте сбор метрик по этому узлу.

Если не получилось​

Что видитеПочемуЧто делать
Операция с узлом отказывает с кодом -403 «Access denied»Операция открыта только роли Cluster master. Ввод и вывод узла из работы — тожеВойдите под ролью уровня кластера
Код ошибки -20122Идентификатор узла не прошёл проверкуУкажите идентификатор узла числом, без посторонних символов
Код ошибки -713Команду не удалось передать Cluster ManagerПроверьте доступность Cluster Manager; до узлов команда не дошла
Таблица узлов пуста, код ошибки -2Сбой обмена с Cluster ManagerТо же
Код ошибки -23110 у чтения и записи параметров, -23301 у списка параметровВыключен признак feature.node_config_managementВключите управление конфигурацией в опциях кластера и перезапустите диспетчер кластера
Код ошибки -26001 или -26101Выключен признак feature.hardware_inventory: он закрывает просмотр состава узла и утилизацию ядерВключите признак в опциях кластера и перезапустите диспетчер кластера
Код ошибки -23201 или -43201Выключен признак feature.node_config_management: он же закрывает запуск инвентаризации узла и сбор версий ПОТо же
Код ошибки -24201Выключен признак feature.physical_disc_managementТо же
Код ошибки -25001Выключен признак feature.network_ports_management: он закрывает таб PortgroupТо же
Код ошибки -200 или -25003Карта состояния кластера недоступна, собирать данные не от когоПроверьте доступность Cluster Manager и состояние узлов
Код ошибки -23203Выбран недопустимый класс устройствВыберите класс из списка выше
Код ошибки -23120, -23121, -23122 или -23123Параметр не скалярный, неизвестен, не поддерживается либо у него нет запрошенного классаСверьте параметр и класс с тем, что показывает Configure
Код ошибки -23124 или -23125Числовое значение параметра ниже минимума либо выше максимумаПриведите значение к границам параметра
Код ошибки -23109 или -23133Не удалось получить список конфигурационных параметров либо передать команду агенту узлаОткройте экран заново; при повторении — диагностика control plane
Код ошибки -3907, -3911, -3912 или -3914Метрика, период, шаг или имя узла заданы неверноВыберите период и шаг переключателями над графиком
Код ошибки -3903 или -3904Хранилище метрик не ответило или вернуло ошибку HTTPПроверьте доступность InfluxDB
Команда принята, но данные не изменилисьСбор и запись выполняются асинхронно: команда только передана агенту узлаОткройте экран заново; свежесть значений смотрите по Last_seen
Узел показан живым, но нагрузку не принимаетУзел выведен из работы административно, но ещё отчитываетсяВерните узел в работу, если вывод был ошибкой

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

См. также​

Методы API​

Операции этой страницы в API: node-list, cluster-node-disable, cluster-node-enable, node-inventory, host-inventory, node-hw-list, node-cpu-cores, node-software, node-software-inventory, portgroup-list, node-config-map, node-config-get, node-config-set, node-perfdata — см. Справочник API.