Добавление узлов в кластер | Tdg

Версия:

2.x

Добавление узлов в кластер

Добавление нового узла (экземпляра) в кластер TDG – это фактически та же операция развертывания.

В этом примере мы возьмем уже развернутый кластер TDG, развернем новый экземпляр TDG и настроим его через веб-интерфейс, создав новый набор реплик с кластерной ролью «storage».

Чтобы развернуть новый экземпляр, требуются те же ресурсы, что и для первоначального развертывания кластера: пакет tar.gz и инструмент Ansible с предопределенными файлом инвентаря и конфигурацией плейбука.

  1. Перейдите в директорию развертывания, извлеченную ранее из пакета tar.gz, и отредактируйте файл инвентаря Ansible hosts.yml. Добавьте описание и параметры нового экземпляра. В приведенном ниже примере кода параметры, которые нужно заполнить, отмечены комментариями # <-- Добавьте....

    children:
      tdg_group:
    
        ### Instances ###
    
        hosts:
    
          ...
    
          storage_3:  # <-- Добавьте новый экземпляр и параметры конфигурации для него
            config:
              advertise_uri: "172.19.0.2:3005"
              http_port: 8085
              memtx_memory: 1073741824  # 1024 МБ
    
        children:
    
          ### Machines ###
    
          vm1:
            hosts:
              stateboard_instance:
              core:
              runner_1:
              storage_1:
              storage_2:
              storage_3:  # <-- Добавьте этот экземпляр к hosts на vm1
            vars:
              ansible_host: "172.19.0.2"
    

    Важно

    Внимательно проверьте следующие параметры при редактировании hosts.yml:

    • cartridge_package_path — используйте ту же версию пакета, что и при первоначальном развертывании кластера.

    • cartridge_cluster_cookie — cookie должен быть тем же, что и во время первоначального развертывания, иначе новый экземпляр не будет включен в кластер.

  2. Выполните развертывание нового экземпляра, используя плейбук deploy_without_topology.yml:

    $ ansible-playbook -i hosts.yml --limit storage_3 playbooks/deploy_without_topology.yml
    

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

  3. Откройте или обновите страницу с интерфейсом TDG. В нашем примере она находится по адресу http://172.19.0.2:8081. Новый экземпляр появится на вкладке Cluster в разделе Unconfigured servers.

    Добавлен несконфигурированный экземпляр
  4. Последний шаг — создание нового набора реплик с ролью «storage». Нажмите Configure напротив экземпляра «storage_3». В диалоговом окне Configure server укажите следующие параметры и нажмите Create replica set:

    • Replica set name: storage_3

    • Roles: storage

    • Replica set weight: 1

    Настройка нового набора реплик

Значение параметра Replica set weight должно быть таким же, как и в остальных наборах реплик с ролью «storage». Тогда после добавления нового хранилища запустится автоматическая балансировка данных между всеми хранилищами.

Вы можете проверить, корректно ли была проведена балансировка, обратившись к параметру Buckets. Его значение должно совпадать для всех экземпляров с ролью «storage» на одном сервере (172.19.0.2 в этом примере). Балансировка займет некоторое время, поэтому результат в веб-интерфейсе появится не сразу: немного подождите и обновите страницу.

Создан новый набор реплик
Нашли ответ на свой вопрос?
Обратная связь