Кластер, узлы и сервисы
Что такое кластер
Кластер — это группа серверов, которой vStack Center управляет как одним ресурсом. Каждый сервер в составе кластера называется узлом: он несёт гипервизор, локальные диски и пулы хранения. Виртуальные машины и виртуальные ЦОД (ВЦОД) живут поверх этой группы, а не поверх конкретного сервера.
У кластера есть собственная витрина параметров — опции. Там лежат имя и
идентификатор кластера, площадка и локация, предельные значения для новых
объектов (vcpu_max, max_disk_size, max_ram_size, mtu_max), порог
заполнения пула (pool_capacity_treshold) и набор признаков включённых
возможностей. Опции показываются вместе с составом узлов: это одна витрина
состояния кластера.
Кто чем управляет
vStack Center не трогает узлы напрямую. Команды состава кластера — включить узел, отключить узел, запустить или остановить сервис — уходят в Cluster Manager, компонент vStack OS. Диспетчер кластера обменивается с ним сообщениями по ZeroMQ, а Cluster Manager уже доводит команду до узлов по AMQP. Поэтому недоступность Cluster Manager видна в API отдельным классом ошибок: сам vStack Center жив, а команду доставить некому.
Cluster Manager и Cluster master — разные вещи. Cluster Manager — это компонент, который управляет узлами. Cluster master — роль доступа №1 с полными правами на кластер. Первое отвечает на вопрос «кто исполняет», второе — «кому разрешено просить».
Часть данных vStack Center собирает не через Cluster Manager. Аппаратный инвентарь, версии пакетов и конфигурационные параметры узлов приезжают от агента узла и хранятся в базе. Фактическое потребление CPU и памяти приходит из InfluxDB. Разные источники ведут себя по-разному, и это заметно на экранах.
| Что смотрите | Откуда берётся | Что бывает при сбое источника |
|---|---|---|
| Состав узлов, статусы узлов и сервисов | Cluster Manager по ZeroMQ | Состояние не показывается вовсе, экран сообщает об ошибке получения статуса |
| Аппаратный инвентарь, версии ПО, конфигурация | База данных, наполняется агентом узла | Значения показываются, но устаревшие — смотрите колонку Last_seen |
| Фактическое потребление CPU и RAM | InfluxDB | Потребление нулевое, ёмкость узла не показывается |
| Провизионирование (сколько выдано ВМ) | База данных vStack Center | Считается всегда, от метрик не зависит |
Практический вывод: «нулевая утилизация» и «нет данных» — разные состояния. Провизионированные значения остаются достоверными даже тогда, когда метрики не собираются.
Два статуса у каждого объекта
Узел и сервис описываются парой статусов, а не одним. Административный статус — это то, что администратор разрешил. Операционный — то, что происходит на самом деле. Расхождение между ними и есть сигнал: узел выведен из работы намеренно либо отвалился сам.
| Поле | Объект | Значения | Смысл |
|---|---|---|---|
admin_status | узел | ONLINE, OFFLINE | Разрешён ли узел к работе администратором |
oper_status | узел | состояние узла | Что узел сообщает о себе фактически |
enabled | узел, сервис | true, false | Короткая форма административного разрешения |
admin_status | сервис | STARTED, STOPPED | Целевое состояние сервиса |
oper_status | сервис | состояние сервиса | Фактическое состояние сервиса |
nodeId | сервис | идентификатор узла | Узел, на котором сервис работает |
Сервис кластера — это единица, которую Cluster Manager запускает на конкретном
узле. К сервисам относятся пулы хранения (имена вида zpool_tank0) и системные
службы кластера. У сервиса поэтому две независимые оси: разрешён он или запрещён
и запущен он или остановлен. Разрешение не запускает сервис, а запуск не
переживёт запрета.
Что видно разным пользователям
Карта состояния кластера у всех одна, но видно из неё разное — состав зависит от привилегий. Администратор кластера получает полную карту, наблюдатель — ту же карту в режиме «только дашборд», а обычный пользователь — лишь список своих ВЦОД.
| Привилегия | Что видно |
|---|---|
View Cluster Status Map (full) (6003) | Полная карта: узлы, сервисы, опции кластера |
View Cluster Status Map (6000) без 6003 | Список ВЦОД пользователя и опции; состава кластера нет |
View Cluster Status Map (dashboard) (6004) без 6003 и без 6000 | Тот же состав данных, но помеченный как дашборд — только для просмотра сводки |
Привилегии разбираются в таком порядке: 6003, затем 6000, затем 6004. Поэтому у пользователя, совмещающего роли vDC Admin (role_id=2) и Resource Viewer (role_id=5), привилегия 6000 перевешивает 6004. Такой пользователь получает список ВЦОД. Режим дашборда достаётся тому, у кого есть 6004 и нет ни 6003, ни 6000.
Рядом с узлами и сервисами vStack Center показывает состояние управляющей машины: её файловые системы, загрузку процессора и память. Это не узел кластера, а сам control plane — не путайте одно с другим.
Возможности за признаками
Часть возможностей открыта не всегда. Опции кластера содержат признаки вида
feature.*, и возможность, закрытая признаком, при выключенном признаке
недоступна — даже роли Cluster master. Сверьтесь с признаком заранее: это дешевле,
чем разбирать отказ.
| Признак | Что открывает |
|---|---|
feature.hardware_inventory | Аппаратный инвентарь узлов и утилизация ядер по узлам |
feature.node_config_management | Конфигурация узлов: просмотр параметров, их изменение, сбор версий ПО |
feature.physical_disc_management | Работа с физическими дисками узлов |
feature.network_ports_management | Портовые группы узлов |
Признак принимает три значения: включён, выключен и не задан. Не заданный признак считайте выключенным.
Где смотреть состояние
Идите сверху вниз. Экран Overview в разделе Provider Data Center отвечает на вопрос «сколько ёмкости в кластере и сколько занято», а его таб Resources разворачивает ту же картину по узлам. Раздел Server Nodes показывает состав узлов и состояние каждого. Раздел Storage Resources — пулы хранения и узлы, которые их сейчас несут. Ниже всего лежит карточка узла: блоки Software, Hardware, Disks и Perfdata дают версии пакетов, инвентарь, диски и метрики одного узла.
См. также
- Как посмотреть ресурсы кластера — обзор ресурсов кластера и суммарные показатели.
- Как управлять узлами кластера — ввод и вывод узла, инвентаризация, конфигурация.
- Как управлять сервисами кластера — разрешение, запуск и остановка сервисов.
Методы API
Операции этой страницы в API: get-statusmap, cluster-totals,
cluster-overview — см. Справочник API.