2. Руководство по эксплуатации / 2.3. Администрирование кластера
2. Руководство по эксплуатации / 2.3. Администрирование кластера

2.3. Администрирование кластера

2.3. Администрирование кластера

В данной главе описываются следующие операции по администрированию кластера:

2.3.1. Изменение топологии кластера (добавление инстансов)

При добавлении нового инстанса в набор реплик (новый или уже существующий) происходит следующее:

1. Кластер валидирует обновление конфигурации, проверяя доступность нового инстанса с помощью модуля membership. Все узлы в кластере должны быть рабочими, чтобы валидация была пройдена.

2. Новый инстанс ожидает, пока другой инстанс в кластере не получит обновление конфигурации и не обнаружит его. На этом шаге у нового инстанса еще нет своего UUID.

3. Как только инстанс понимает, что кластер знает о нем, инстанс вызывает функцию box.cfg и начинает работу.

Чтобы добавить в кластер новые инстансы:

1. Разверните необходимое количество новых инстансов Tarantool’а как описано в разделе по установке.

Если новые инстансы не появились в web-интерфейсе на вкладке Cluster, используйте функцию Probe server для проверки их доступности. Если они доступны, то появятся в списке.

2. В зависимости от того как вы хотите изменить топологию кластера, создайте с помощью вновь развернутых инстансов новые наборы реплик или включите новые инстансы в уже существующие наборы реплик. См. описание процедуры в разделе «Настройка кластера».

3. Если вы добавляете инстанс с ролью storage, следует помнить, что вес (параметр Weight) такого инстанса по умолчанию устанавливается равным «0». Это определяется при инициализации модуля vshard, которая происходит во время первоначального развертывания кластера.

В данном случае нужно увеличить значение параметра Weight для того, чтобы система произвела балансировку данных, перенеся часть их на новый инстанс с ролью storage.

Для этого нажмите кнопку Edit у нужного набора реплик. В диалоговом окне Edit Replica Set, увеличьте значение параметра Weight и нажмите Submit, чтобы начать балансировку данных.

../_images/weight_1.png

2.3.2. Балансировка данных

Балансировка данных (решардинг) запускается регулярно, а также после добавления в кластер нового набора реплик с ненулевым весом (параметр Weight). Для получения дополнительной информации см. раздел о процессе балансировки в документации по модулю vshard.

Мониторинг процесса балансировки можно вести, отслеживая количество активных виртуальных сегментов (virtual buckets) на инстансах с ролью storage. Первоначально в новом наборе реплик нет активных сегментов. Через некоторое время фоновый процесс балансировки начинает переносить сегменты из других наборов в новый. Балансировка продолжается до тех пор, пока данные не будут распределены равномерно по всем наборам реплик.

Чтобы отслеживать текущее количество сегментов, подключитесь к нужному инстансу с ролью storage через консоль и выполните команду

vshard.storage.info().bucket

В web-интерфейсе администратора это можно сделать на вкладке Console.

../_images/vshard_buckets.png

2.3.3. Исключение инстанса из кластера

Система позволяет исключить какой-либо инстанс из кластера. После того как инстанс будет исключен, остальные инстансы будут информированы об этом и не будут считать его членом кластера. Снова вернуть исключенный инстанс в кластер будет нельзя.

Для исключения инстанса из кластера:

  1. В web-интерфейсе на вкладке Cluster для нужного инстанса нажмите […] > Expel.

../_images/instance_expel.png
  1. В окне подтверждения нажмите OK.

Инстанс больше не будет отображаться на вкладке Cluster.

2.3.4. Включение автоматического восстановления после отказа (Failover)

Если в кластера задана конфигурация «мастер-реплика» и включено автоматическое восстановление после отказа (failover), то при отказе мастера в каком-либо наборе реплик кластер автоматически выбирает следующую реплику из списка приоритетов и назначает ей роль активного мастера (read/write). Когда вышедший из строя мастер возвращается к работе, его роль восстанавливается, а назначенный ранее активный мастер снова становится репликой (read-only).

Чтобы установить приоритет инстансов в наборе реплик:

  1. В web-интерфейсе на вкладке Cluster, нажмите кнопку Edit у нужного набора реплик.

  2. В диалоговом окне отсортируйте, используя drag-and-drop, инстансы в списке в нужном порядке приоритета и нажмите Submit.

../_images/instance_priority.png

По умолчанию восстановление после отказа отключено, на что указывает статус на кнопке Failover: disabled. Нажмите эту кнопку для включения данной функции.

В диалоговом окне FAILOVER CONTROL, нажмите кнопку Enable.

../_images/failover_control.png

Статус функции восстановления после отказа изменится на Failover: enabled.

../_images/failover_enabled.png

2.3.5. Изменение мастера в наборе реплик

Чтобы вручную изменить мастера в наборе реплик:

  1. В web-интерфейсе на вкладке Cluster, нажмите кнопку Edit у нужного набора реплик.

  2. В диалоговом окне выберите в качестве мастера другую ноду и нажмите Submit.

../_images/master_change.png

2.3.6. Отключение набора реплик

Под отключением набора реплик с ролью storage (например, для технического обслуживания) подразумевается перемещение всех его виртуальных сегментов в другие наборы реплик.

Чтобы отключить набор реплик:

  1. В web-интерфейсе на вкладке Cluster, нажмите кнопку Edit у нужного набора реплик.

  2. В диалоговом окне установите значение параметра Weight равным «0» и нажмите Submit.

    ../_images/weight_0.png
  3. Подождите, пока процесс балансировки не завершит перенос всех виртуальных сегментов. Текущее количество сегментов в данном наборе реплик можно отслеживать как это описано в разделе о балансировке данных.