4 Описание объектов
Кластер
Кластер — группа соединённых высокоскоростными каналами связи серверов, логически объединённых, и с точки зрения пользователя работающих как единый ресурс.
Серверы, которые входят в состав кластера, называются узлами. Все вычислительные узлы кластера используют одинаковое оборудование и одну и ту же операционную систему.
Главной задачей кластера является исключение неработоспособности системы: любой инцидент, связанный с внешним вмешательством или внутренним сбоем в работе ресурса, должен оставаться незамеченным для пользователя.
Общая логика работы кластера серверов создается на уровне программных протоколов и дает возможность:
-
управлять произвольным количеством аппаратных средств с помощью одного программного модуля;
-
добавлять и модернизировать программные и аппаратные ресурсы для повышения производительности, избыточности и отказоустойчивости, без остановки системы и значимых архитектурных преобразований;
-
обеспечивать бесперебойную работу системы при выходе из строя или отключения для обслуживания одного или нескольких серверов;
-
синхронизировать данные между узлами кластера;
-
эффективно распределять и перераспределять нагрузки серверов;
-
использовать общую базу данных кластера.
Для кластеров Pacemaker/Corosync доступны операции:
-
регистрации (импорта);
-
запуска;
-
остановки;
-
изменения дополнительных параметров (описание, тэги, узлы СХД);
-
создания отчётов Cluster Report;
-
удаления из Спектра;
-
добавления сервиса.
Для кластеров Patroni доступны операции импорта и удаления из Спектра.
Геокластер
Геокластер – географически распределённая сеть локальных кластеров, связанных между собой глобальными сетевыми каналами.
Конфигурирование собственно геокластера "Спектром" не осуществляется. Действия в "Спектре" изменяют только конфигурацию самого "Спектра" и соответствующее отображение объектов в его интерфейсе.
Для геокластеров Pacemaker/Corosync доступны операции:
-
создания;
-
перемещения активной части геосервиса на другой кластер-компонент;
-
расформирования.
Узел
Узлы представляют собой полнофункциональные автономные компьютеры (серверы).
На серверном узле, входящем в кластер, устанавливается ПО СУБД для запуска экземпляров СУБД и организации из них сервисов СУБД.
Для узлов Pacemaker/Corosync доступны операции:
-
запуска;
-
остановки;
-
вывода в режим обслуживания (
standby); -
ввода в работу (
unstandby); -
вывода в режим обслуживания (
maintenance); -
ввода в работу (
unmaintenance).
Управление сбоями узлов
Когда узел в кластере выходит из строя, для поддержания работоспособности остальной части системы могут использоваться такие методы защиты, как fencing ("ограждение"). Fencing – это процесс изоляции узла или защиты общих ресурсов, когда узел неисправен или по какой-либо причине недоступен. Существует два класса методов ограждения:
-
Изоляция отказавшего узла (STONITH - Shoot The Other Node In The Head). Как следует из названия, STONITH защищает кластер путем сброса или отключения питания отказавшего узла.
-
Запрещение доступа к ресурсам, таким как общие диски, без отключения питания узла.
Сервис СУБД
Это целостная служба СУБД, работающая на конкретном кластере.
Сервис работает на двух и более узлах, на каждом из которых установлен экземпляр СУБД.
В каждый момент времени только один из экземпляров СУБД находится в режиме ведущего (primary или master), остальные — синхронные или асинхронные реплики (standby).
Для синхронизации данных между репликами и мастером используется потоковая репликация (streaming replication).
В случае кластера pacemeker / corosync сервис состоит из набора кластерных ресурсов, обычно связанных между собой кластерными правилами (location, colocation, ordering constraints).
Для сервисов СУБД кластеров Pacemaker/Corosync доступны операции:
-
создания; создания и удаления standalone-сервиса;
-
запуска;
-
остановки;
-
удаления;
-
перезапуска;
-
перезагрузки конфигурации;
-
выполнения pg_repack;
-
создания отчёта PgBadger;
-
создания отчёта collect.sh;
-
создания, проверки и удаления резервной копии;
-
создания, редактирования, остановки и запуска расписаний резервного копирования;
-
создания, редактирования и удаления правил аудита;
-
добавления, редактирования и удаления PgBouncer;
-
управления параметрами конфигурации и аутентификации PostgreSQL;
-
управление параметрами pg_probackup.
Экземпляр сервиса СУБД
Это работающий на конкретном узле набор процессов PostgreSQL определённой версии. Всегда принадлежит одному сервису СУБД.
|
В документации PostgreSQL экземпляр СУБД называется кластером (cluster), но в данном документе этот термин не используется, поскольку кластером обозначается группа узлов. |
На узле могут работать несколько экземпляров СУБД, для этого могут использоваться техники изоляции между ними (например, контрольные группы).
Экземпляр сервиса СУБД может находиться в состоянии ведущего (Primary, Master), синхронной (Sync) или асинхронной (Async) реплики.
Экземпляр сервиса СУБД резервной части геосервиса может иметь роль листовой асинхронной реплики (LEAF) или каскадной асинхронной реплики (CASCADE).
Для экземпляров сервисов СУБД кластеров Pacemaker/Corosync доступны операции:
-
остановки;
-
запуска;
-
создания standalone-сервиса из резервной копии (PITR);
-
восстановления из резервной копии;
-
перемещения ролей между узлами;
-
применения WAL;
-
восстановления реплик с помощью pg_basebackup.
База данных
База данных — это набор структурированной информации или данных, которые хранятся в компьютерной системе в электронном виде.
База данных является объектом сервиса СУБД, в котором пользователи создают таблицы, представления, хранимые процедуры. Как правило, для каждого сервиса СУБД создаётся база данных по умолчанию (PostgreSQL), но могут быть штатно созданы и использоваться дополнительные БД.
Для баз данных кластеров Pacemaker/Corosync доступны операции:
-
переименования;
-
смены владельца.