Кластерные действия

Статья описывает действия, которые можно выполнять с кластером ADB в пользовательском интерфейсе ADCM.

Обзор

Управление кластером ADB осуществляется на странице Clusters.

Страница Clusters
Страница Clusters

Описание страницы Clusters и общих действий на этой странице приведено в документации ADCM.

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

  • actions default dark actions default light — открывает список действий, доступных для работы с кластером.

    Открытие списка кластерных действий ADB
    Открытие списка доступных действий
  • upgrade default — указывает, доступна ли новая версия бандла, и позволяет запустить обновление кластера до новой версии.

  • delete default — удаляет информацию о кластере из ADCM (не удаляет ADB и не производит никаких изменений на хостах, относящихся к кластеру).

Набор кластерных действий (доступных при нажатии иконки actions default dark actions default light) определяется текущим статусом кластера ADB.

Доступные действия в зависимости от статуса ADB
Статус Условие Доступные действия

created

Кластер ADB создан в ADCM, но еще не установлен

running

Кластер ADB успешно установлен в ADCM и запущен

stopped

Кластер ADB успешно установлен в ADCM и остановлен

activating_standby

В результате выполнения действия Activate standby активация резервного мастера выполнена успешно, но в процессе последующей настройки возникли некоторые ошибки

ready to upgrade

Проведена подготовка кластера ADB к обновлению — путем запуска действия, доступного после нажатия на иконку upgrade default

Действия Precheck и Install подробно описаны в статье Установка кластера. Прочие действия, доступные для уже установленного кластера, приведены ниже.

Activate standby

Действие Activate standby активирует резервный (standby) мастер в случае сбоев на действующем мастере.

ВАЖНО
  • Активация standby-мастера возможна, когда хост действующего мастера недоступен. Если же хост мастера доступен, для переключения на standby необходимо предварительно остановить сервис ADB и установить флаг force activation в параметрах действия Activate standby. В иных случаях запуск действия завершается ошибкой.

  • Если в кластере ADB установлен сервис ADBC agents, то во время выполнения действия Activate standby должен быть запущен соответствующий сервис ADB Control в кластере ADB ES. Если в кластере ADB установлен сервис ADBM agents, то во время выполнения действия Activate standby должен быть запущен соответствующий сервис ADBM в кластере ADB ES. В противном случае запуск действия завершается ошибкой (однако ошибку можно исправить, запустив сервисы и применив действие Activate standby postprocess).

  • Если в кластере ADB установлен сервис Monitoring, то должно выполняться условие, что компонент Greengage Exporter находится на хосте с мастером и standby-мастером (если standby-мастер присутствует), а компонент Process Exporter находится на всех хостах ADB. Поэтому если вы не планируете инициализировать прежний мастер в качестве нового standby-мастера, то после выполнения действия Activate standby потребуется удалить компоненты Greengage Exporter и Process Exporter с хоста прежнего мастера с помощью действия Add/Remove components в сервисе Monitoring.

При выборе действия Activate standby открывается диалоговое окно, в котором можно указать следующие параметры:

  • force activation — флаг, определяющий необходимость принудительного переключения на резервный мастер, когда хост действующего мастера доступен, но процесс мастера внутри операционной системы остановлен;

  • run analyze — флаг, определяющий необходимость запуска ANALYZE после переключения на резервный мастер во всех базах кроме template0, template1 и postgres.

Окно для ввода параметров действия Activate standby
Окно для ввода параметров действия Activate standby

Для редактирования какого-либо параметра нажмите на его текущее значение и в открывшемся окне выберите новое значение, после чего нажмите кнопку Apply.

Ввод нового значения параметра
Ввод нового значения параметра

Для запуска действия Activate standby нажмите Run в исходном окне с параметрами, а затем подтвердите действие в открывшемся стандартном окне.

Во время выполнения действия кластер ADB находится в статусе activating_standby. Если действие завершается успешно, кластер переводится в статус running. Если активация standby выполнена, но в процессе последующей настройки возникают некоторые ошибки — кластер остается в статусе activating_standby, а в списке кластерных действий становится доступно действие Activate standby postprocess. В этом случае необходимо определить причину ошибки на странице Jobs, внести необходимые исправления и запустить Activate standby postprocess.

Постобработка
  • Для того чтобы на новом мастере были созданы необходимые cron-задачи, примените следующие действия после завершения Activate standby:

    • Действие Reconfigure parameter archiving для кластера ADB — чтобы выгружать конфигурации ADB в соответствии с расписанием, настроенным с помощью кластерных параметров Parameter archiving/Parameter archiving job setting.

    • Действие Reconfigure для сервиса ADB — чтобы запускать скрипты, взаимодействующие со схемой arenadata_toolkit.

  • После того, как хост прежнего мастера вновь станет доступен (или сразу после завершения действия Activate standby, если переключение на резервный мастер не связано с недоступностью этого хоста), выполните на нем следующие шаги:

    • Удалите задачи cron, подключившись к хосту под администратором ADB (gpadmin по умолчанию). Это необходимо для предотвращения обращений к незапущенному процессу устаревшего мастера:

      $ sudo su - gpadmin
      $ crontab -r
    • Переименуйте или удалите каталог мастера (/data1/master по умолчанию) для того, чтобы случайно не запустить устаревший мастер и иметь возможность расположить на этом хосте новый резервный мастер в будущем.

  • После переключения на standby-мастер старый мастер перестает участвовать в работе кластера ADB. При этом резервного мастера больше нет, так как он стал основным. Для создания нового standby-мастера необходимо запустить действие Init Standby Master.

  • Если используется сервис PgBouncer, выполните действие сервиса PgBouncer Reconfigure. Если PgBouncer был установлен на хосте прежнего мастера, то сначала удалите PgBouncer с хоста прежнего мастера с помощью действия Add/Remove сервиса PgBouncer.

Activate standby postprocess

Действие Activate standby postprocess становится доступно, если в результате выполнения Activate standby активация резервного мастера проведена успешно, но в процессе последующей настройки возникли некоторые ошибки. После их устранения необходимо запустить Activate standby postprocess, чтобы завершить обработку и перевести кластер ADB в работающее состояние (running).

При выборе действия Activate standby postprocess открывается диалоговое окно, в котором можно указать параметр run analyze, описание которого приведено выше для действия Activate standby.

Окно для ввода параметров действия Activate standby postprocess
Окно для ввода параметров действия Activate standby postprocess

Для запуска действия Activate standby postprocess нажмите Run в окне с параметрами, а затем подтвердите действие в открывшемся стандартном окне.

Init Standby Master

Действие Init Standby Master предназначено для добавления либо удаления резервного (standby) мастера из кластера ADB. После выбора действия необходимо выполнить следующие шаги:

  1. На вкладке Configuration открывшегося окна заполните параметры:

    • Reboot new servers after installation — флаг, определяющий необходимость автоматической перезагрузки хостов ADB после выполнения действия Init Standby Master. Если флаг сброшен, перезагрузку потребуется выполнить вручную.

    • Reboot timeout, sec — время ожидания перезагрузки хостов (в секундах).

      Окно для ввода параметров действия Init Standby Master
      Окно для ввода параметров действия Init Standby Master

      Для редактирования какого-либо параметра нажмите на его текущее значение и в открывшемся окне выберите новое значение, после чего нажмите кнопку Apply.

      Ввод нового значения параметра
      Ввод нового значения параметра
  2. Нажмите Next.

  3. На открывшейся вкладке Host - Component выполните одно из действий:

    • При добавлении резервного мастера — разместите компонент ADB Standby на отдельном хосте. Для этого нажмите Add hosts в секции компонента и выберите хост в открывшемся диалоговом окне.

      ПРИМЕЧАНИЕ
      • Для размещения standby-мастера можно использовать хост, на котором ранее располагался основной мастер — до применения действия Activate standby. Для этого требуется предварительно переименовать или удалить каталог мастера (/data1/master по умолчанию) на выбранном хосте.

      • Если используется служба Monitoring, то на вкладке Host - Component хост нового резервного мастера требуется добавить компонентам Greengage Exporter и Process Exporter.

      Добавление Standby Master
      Добавление Standby Master
    • При удалении резервного мастера — нажмите Remove для хоста, назначенного компоненту ADB Standby.

      Удаление Standby Master
      Удаление Standby Master
  4. Нажмите Run.

  5. Подтвердите действие в открывшемся стандартном окне, нажав Run.

Move Host Segment

Действие Move Host Segment доступно начиная с версии ADB 6.27.1.59 и предназначено для перемещения сегментов с одного хоста кластера ADB на другой. После выбора действия необходимо выполнить следующие шаги:

  1. На вкладке Configuration открывшегося окна заполните параметры:

    • Source host — исходный хост, с которого требуется переместить сегменты с данными. Для выбора доступны хосты текущего кластера ADB, на которых установлен компонент ADB Segment.

    • Destination host — целевой хост, на который планируется переместить сегменты с исходного хоста. Для выбора доступны хосты текущего кластера ADB без компонента ADB Segment.

    • Reboot new segment host after installation — флаг, определяющий необходимость автоматической перезагрузки нового сегмент-хоста ADB после выполнения действия Move Host Segment. Если флаг сброшен, перезагрузку потребуется выполнить вручную для применения конфигурационных настроек.

    • Reboot timeout, sec — время ожидания перезагрузки сегмент-хоста (в секундах).

      Окно для ввода параметров действия Move Host Segment
      Окно для ввода параметров действия Move Host Segment

      Для редактирования какого-либо параметра нажмите на его текущее значение и в открывшемся окне выберите новое значение, после чего нажмите кнопку Apply.

      Выбор нового значения параметра
      Выбор нового значения параметра
  2. Нажмите Next.

  3. Подтвердите действие в открывшемся стандартном окне, нажав Run.

ПРИМЕЧАНИЕ

Наряду с непосредственным перемещением сегментов, в процессе выполнения действия Move Host Segment на новом сегмент-хосте автоматически осуществляется следующее:

  • Подготовка окружения, включая установку бинарных файлов ADB, применение необходимых конфигураций и т.д.

  • Установка дополнительных компонентов, присутствующих на сегмент-хостах текущего кластера (PXF, агенты ADB Control/ADBM, мониторинг и другое).

Expand

Действие Expand осуществляет расширение кластера ADB путем добавления новых сегмент-хостов.

Начиная с ADB 6.30.0 действие Expand основано на ADCM-компоненте Wizard. Wizard делает более удобным запуск сложных действий: состояние конфигурации сохраняется на каждом из шагов (описанных ниже), поэтому вы можете выйти из Wizard в любой момент и вернуться к настройке позже. Вы также можете провалидировать конфигурацию перед запуском действия. Описание общих принципов и элементов интерфейса Wizard приводится в статье Wizard документации ADCM.

Подготовка

Перед началом выполнения расширения кластера:

  1. Создайте и настройте необходимые хосты на странице Hosts в ADCM, используя один из доступных хостпровайдеров.

  2. Если используется хостпровайдер SSH, то для каждого созданного хоста примените действия Check connection и Install statuschecker. Проверьте, что действия завершены успешно и все хосты доступны.

  3. Убедитесь, что хосты добавлены в выбранный кластер ADB.

Новые хосты на странице Hosts
Новые хосты на странице Hosts
ВНИМАНИЕ

Если в кластере ADB используется зеркалирование (mirroring), число новых хостов должно быть достаточным для применения одной из его политик: spread или group. Если количество новых хостов больше числа сегментов на хост в используемой конфигурации, во время расширения кластера применяется spread-зеркалирование, иначе — group. При использовании политики зеркалирования group требуется не менее 2 новых хостов, в противном случае запуск действия завершится ошибкой: Not enough hosts for grouped mirroring. You must have at least 2.

Шаг 1.1. Configuration

  1. На вкладке Configuration открывшегося окна заполните приведенные ниже параметры:

    • Reboot new servers after installation — флаг, определяющий необходимость автоматической перезагрузки хостов ADB с новыми компонентами после выполнения действия Expand. Перезагрузка требуется для применения значений некоторых параметров, изменяемых в процессе установки. Если флаг сброшен, перезагрузку потребуется выполнить вручную.

    • Reboot timeout, sec — время ожидания перезагрузки хостов (в секундах).

    • Additional primary segment count — количество primary-сегментов, которые необходимо дополнительно добавить на все хосты в кластере (включая уже существующие). Например, если в исходной конфигурации указано два primary-сегмента на хост и значение параметра 2 — на уже существующие хосты кластера будут добавлены два дополнительных primary-сегмента, на новые — четыре. Дополнительно, если в кластере используется зеркалирование, для каждого нового primary-сегмента также будут добавлены mirror-сегменты. Если увеличение количества сегментов не требуется, следует оставить значение по умолчанию — 0.

    • Attach new data directory (optional) — директория, которая будет использоваться для хранения данных новых сегментов. Все используемые data-каталоги должны содержать одинаковое количество сегментов во избежание неравномерной нагрузки на дисковую подсистему. В ином случае подготовка к расширению завершается ошибкой. Если поле не заполнено (по умолчанию), сегменты равномерно распределяются по существующим каталогам данных.

    • Storage device for data directory (optional) — имя блочного устройства хранения данных для монтирования к директории Attach new data directory (optional) на новых сегмент-хостах. Например, sdc (без указания префикса /dev).

    • Specify path for every non-default tablespace — пути к директориям для хранения данных табличных пространств (tablespace). Пути необходимо указать, если заполнен параметр Attach new data directory (optional).

    • Check array — флаг, определяющий необходимость проверки того, что все сегмент-хосты имеют одинаковое количество primary-сегментов и сегментов-зеркал, а адреса хостов сегментов (значение address из таблицы gp_segment_configuration) имеют вид hostname-<n> (hostname-1, hostname-2, hostname-3 и т.д.) или не имеют суффикса.

    • Directory for gpexpand tar file (optional) — полный путь к директории на сегмент-хостах, куда утилита gpexpand копирует временный TAR-архив. Архив содержит файлы базы данных, используемые для создания сегментов. По умолчанию используется домашняя директория пользователя.

    • Pause before rollback — продолжительность паузы (в минутах) перед запуском отката расширения (gpexpand -r) в случае сбоя задачи Create expansion schema. Пауза может требоваться, если вам нужно собрать логи до выполнения отката. Значение по умолчанию — 0.

      Окно для ввода параметров действия Expand
      Окно для ввода параметров действия Expand

      Для заполнения параметра Specify path for every non-default tablespace (как и любого иного, представляющего собой массив значений) разверните узел с именем параметра и нажмите Add property. В открывшемся диалоговом окне укажите имя tablespace в поле Enter field name и путь к директории в поле Enter field value. Нажмите Apply для сохранения данных.

      Переход к заполнению пути для tablespace
      Переход к заполнению пути для tablespace
      Заполнение пути для tablespace
      Заполнение пути для tablespace
  2. Нажмите Next step.

Шаг 1.2. Host component mapping

  1. В открывшейся форме сопоставления хостов и компонентов назначьте компоненту ADB Segment новые сегмент-хосты. Для этого нажмите Add hosts в секции компонента и выберите хосты в открывшемся диалоговом окне.

    Назначение новых хостов компоненту ADB Segment
    Назначение новых хостов компоненту ADB Segment
    ВАЖНО

    Если в кластере используются опциональные сервисы, их компоненты также требуется разместить на новых сегмент-хостах:

    • для сервиса PXF — компонент PXF;

    • для сервиса Chrony — компонент NTP Slave;

    • для сервиса Monitoring — компоненты Node Exporter и Process Exporter.

  2. Нажмите Next step.

Шаг 1.3. Validation

  1. На шаге валидации нажмите Validate. Будет выполнен набор предварительных проверок. Затем добавленные хосты будут подготовлены к расширению, и на них будут установлены пакеты, необходимые для корректной работы ADB. Если кластер ADB интегрирован с кластером ADB ES, на новые хосты также будут установлены соответствующие агенты ADBC и ADBM.

    Валидация действия Expand
    Валидация действия Expand
  2. Дождитесь завершения валидации и нажмите Next step.

Шаг 2. Preparing for running

После успешной валидации нажмите Run для запуска действия Expand.

Запуск действия Expand
Запуск действия Expand

На этом этапе утилита gpexpand создает временную схему gpexpand в базе данных postgres. Объекты схемы будут использоваться для хранения метаданных о таблицах, подлежащих перераспределению между сегментами кластера. В случае успешного завершения всех шагов действия в сервисе ADB становится доступно действие Redistribute. Запуск перераспределения необходим, поскольку в противном случае таблицы продолжат работать в пределах прежних сегмент-хостов без какого-либо увеличения производительности.

ПРИМЕЧАНИЕ

Начиная с ADB 6.31, статус кластера expanding не применяется, и все кластерные действия доступны после выполнения действия Expand.

Reinstall

Действие Reinstall переустанавливает кластер ADB. При выборе действия открывается диалоговое окно, в котором можно ввести следующие параметры:

  • Reboot cluster servers after installation — флаг, определяющий необходимость автоматической перезагрузки хостов ADB после выполнения действия Reinstall. Если флаг сброшен, перезагрузку потребуется выполнить вручную.

  • Reboot timeout, sec — время ожидания перезагрузки хостов (в секундах).

Окно для ввода параметров действия Reinstall
Окно для ввода параметров действия Reinstall

Для редактирования какого-либо параметра нажмите на его текущее значение и в открывшемся окне выберите новое значение, после чего нажмите кнопку Apply.

Ввод нового значения параметра
Ввод нового значения параметра

Для запуска действия Reinstall нажмите Run в исходном окне с параметрами, а затем подтвердите действие в открывшемся стандартном окне.

Reinstall statuschecker

Действие Reinstall statuschecker перенастраивает и перезапускает службу проверки состояния (statuschecker) для всех сервисов кластера. Используется в случае миграции кластера под управление нового сервера ADCM.

После выбора действия открывается стандартное окно подтверждения, в котором следует нажать Run. Ввод дополнительных параметров не требуется.

Reconfigure Vault integration

Действие Reconfigure Vault integration предназначено для применения изменений к параметрам Vault integration, редактирование которых доступно на вкладке Configuration на странице кластера. Эти параметры определяют необходимость хранения секретов сервисов ADB в HashiCorp Vault.

После выбора действия открывается стандартное окно подтверждения, в котором следует нажать Run. Ввод дополнительных параметров не требуется.

ВАЖНО
  • Перед вводом интеграционных параметров убедитесь, что Vault предварительно установлен и сконфигурирован.

  • После каждого изменения и сохранения значений параметров из секции Vault integration необходимо запускать кластерное действие Reconfigure Vault integration.

  • В настоящий момент Vault может использоваться для хранения параметров аутентификации сервисов ADB Control и ADBM.

  • При необходимости сохранения в Vault учетных данных для баз данных ADB Control Query DB и Metrics DB эти базы должны быть настроены как внешние.

Reconfigure parameter archiving

Действие Reconfigure parameter archiving предназначено для применения изменений к параметрам Parameter archiving/Parameter archiving job setting, редактирование которых доступно на вкладке Configuration на странице кластера. Эти параметры определяют необходимость выгрузки конфигураций ADB в соответствии с настроенным расписанием.

После выбора действия открывается стандартное окно подтверждения, в котором следует нажать Run. Ввод дополнительных параметров не требуется.

ВАЖНО

После каждого изменения и сохранения значений полей Parameter archiving и Parameter archiving job setting необходимо запускать кластерное действие Reconfigure parameter archiving.

Check

Действие Check проверяет соответствие настроек хостов, сервисов и компонентов требованиям кластера ADB (аналогично действию Precheck) и дополнительно анализирует, работают ли установленные компоненты кластера правильно.

После выбора действия открывается стандартное окно подтверждения, в котором следует нажать Run. Ввод дополнительных параметров не требуется.

Start

Действие Start запускает все сервисы остановленного кластера ADB.

После выбора действия открывается стандартное окно подтверждения, в котором следует нажать Run. Ввод дополнительных параметров не требуется.

После успешного применения действия Start кластер ADB переводится в статус running.

Stop

Действие Stop останавливает все сервисы работающего кластера ADB. При выборе действия открывается диалоговое окно, в котором можно выбрать режим остановки кластера ADB shutdown mode:

  • fast — принудительная остановка кластера после прерывания и отката выполняющихся транзакций, а также закрытия всех активных соединений. Этот режим используется по умолчанию.

  • smart — остановка только в случае отсутствия клиентских соединений к базе данных. Иначе действие завершается с предупреждением.

  • immediate — принудительное завершение процессов postgres без корректной обработки активных транзакций. Этот режим не рекомендуется к использованию, так как в некоторых случаях может привести к повреждению базы данных.

Окно для ввода параметров действия Stop
Окно для ввода параметров действия Stop

Для редактирования режима остановки кластера нажмите на текущее значение поля ADB shutdown mode и в открывшемся окне выберите новое значение, после чего нажмите кнопку Apply.

Выбор режима остановки кластера
Выбор режима остановки кластера

Для запуска действия Stop нажмите Run в исходном окне с параметрами, а затем подтвердите действие в открывшемся стандартном окне.

После успешного применения действия Stop кластер ADB переводится в статус stopped.

Upgrade

Для обновления кластера ADB выполните следующие шаги:

  1. Загрузите бандл ADB нужной версии (см. разделы Шаг 1. Загрузка бандла и Шаг 2. Загрузка бандла в ADCM в статье Создание кластера). В результате бандл отображается на странице Bundles в ADCM.

    Бандл ADB на странице Bundles
    Бандл ADB на странице Bundles
  2. На странице Clusters нажмите на иконку upgrade default в строке с кластером ADB, который требуется обновить. Иконка становится активной после успешной загрузки бандла на предыдущем шаге. При этом версия загруженного бандла должна быть больше, чем текущая версия кластера.

    Нажатие на иконку Upgrade
    Нажатие на иконку Upgrade
  3. В открывшемся диалоговом окне выберите версию бандла в поле Upgrade to version и нажмите Upgrade.

    Запуск подготовки к обновлению
    Запуск подготовки к обновлению
  4. Подтвердите действие в открывшемся окне, нажав Run.

    Подтверждение запуска подготовки к обновлению
    Подтверждение запуска подготовки к обновлению

    В результате запускается задача подготовки к обновлению Upgrade: <bundle_version>, где <bundle_version> — выбранная версия бандла: например, Upgrade: 6.26.0_arenadata53_b1 (enterprise). В случае успешного выполнения задачи кластер ADB переводится в статус ready to upgrade.

    Кластер ADB готов к обновлению
    Кластер ADB готов к обновлению
  5. На странице Clusters нажмите на иконку actions default dark actions default light в столбце Actions для кластера, требующего обновления. Выберите действие Upgrade.

    Выбор действия Upgrade
    Выбор действия Upgrade
  6. В открывшемся окне заполните следующие параметры:

    • Migrate db_files_history table now? — флаг, определяющий необходимость миграции таблицы arenadata_toolkit.db_files_history во время обновления. При установке флага таблица пересоздается с последующей загрузкой данных, а также опций партиционирования/сжатия данных. Для больших таблиц этот процесс может занять длительное время. Сброс флага означает, что миграция будет выполнена позднее вручную либо при следующем обновлении.

    • Make sure all postgres processes have been stopped — флаг, установка которого говорит о необходимости проверки, что все процессы postgres были остановлены перед началом обновления.

    • Reboot timeout, sec — время ожидания перезагрузки хостов после обновления (в секундах).

      Окно для ввода параметров действия Upgrade
      Окно для ввода параметров действия Upgrade

    Для редактирования какого-либо параметра нажмите на его текущее значение и в открывшемся окне выберите новое значение, после чего нажмите кнопку Apply.

    Ввод нового значения параметра
    Ввод нового значения параметра
  7. Нажмите Run в исходном окне с параметрами, а затем подтвердите действие в открывшемся стандартном окне.

    Подтверждение действия Upgrade
    Подтверждение действия Upgrade

    В случае успешного обновления кластер ADB переводится в статус running, а его версия актуализируется на странице Clusters.

    Действие Upgrade завершено
    Действие Upgrade завершено
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней