mxaddmirrors

В этом документе описывается инструмент добавления зеркальных узлов (Mirror) mxaddmirrors.

1 Описание

  • Функциональность
    • С помощью инструмента mxaddmirrors можно добавить зеркальные узлы в систему YMatrix, развернутую изначально без них, и запустить процесс онлайн-репликации между основными экземплярами сегментов (Primary) и соответствующими им зеркалами.
    • Как только все зеркала будут синхронизированы со своими основными узлами, ваша система баз данных YMatrix обеспечит полную избыточность данных.

Примечание!
Во время процесса добавления зеркал база данных должна быть простаивающей. Не должно выполняться никаких рабочих нагрузок и других запросов.

2 Аргументы командной строки

Ниже приведено подробное описание аргументов командной строки:

Подкоманда Параметр Описание Опционально
config Создает пользовательский конфигурационный файл
--init-file Инициализирует шаблон конфигурации Обязательно
--db-cluster-id Идентификатор кластера базы данных. Используется для идентификации уникального кластера базы данных Опционально
--filename Сохраняет сгенерированный конфигурационный файл по указанному пути. Если файл не существует, он будет создан автоматически. Можно также использовать перенаправление вывода Опционально
init Преобразует собранные данные в базовый план
--db-cluster-id Идентификатор кластера базы данных. Хранится в файле /etc/matrixdb5/cluster.conf. Используйте последний ClusterID, если развернут только один кластер; в противном случае выберите соответствующий --db-cluster-id Обязательно
--mirror-port-base Начальный порт, с которого начинается поиск свободного порта для прослушивания зеркалом. По умолчанию поиск начинается с порта 7000 Опционально
plan Генерирует план развертывания
--init-file Абсолютный путь к файлу вывода, полученному от команды init Обязательно
--custom-config Абсолютный путь к файлу, сгенерированному командой config Опционально
setup Выполняет развертывание
--plan-file Абсолютный путь к файлу вывода, полученному от команды plan Обязательно

Примечание!
Достаточно указать только обязательные параметры, если поведение по умолчанию вас устраивает.

3 Примеры использования

Инструмент mxaddmirrors должен выполняться пользователем с правами sudo на хосте мастера (кроме пользователя mxadmin, используйте абсолютный путь /opt/ymatrix/matrixdb6/bin/mxaddmirrors). Если команда mxaddmirrors init была случайно запущена под пользователем без прав sudo, файл mxaddmirrors.init будет создан в контексте этого пользователя и станет доступен только для чтения другим пользователям. В этом случае необходимо удалить этот файл и повторно выполнить команду под пользователем с правами sudo, чтобы пересоздать его.

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

Примечание!
Выберите либо 3.1, либо 3.2. Поведение по умолчанию следует политике распределения зеркал Ring от YMatrix. Пользовательская конфигурация позволяет адаптироваться к другим желаемым стратегиям зеркалирования. Независимо от выбора, необходимо выполнить полный цикл добавления зеркал.

3.1 Поведение по умолчанию

  1. Сбор информации об узлах и частичной конфигурации развертывания базы данных.

    $ mxaddmirrors init > /tmp/mxaddmirrors.init
  2. Генерация плана развертывания на основе собранной информации.

    $ mxaddmirrors plan --init-file /tmp/mxaddmirrors.init > /tmp/mxaddmirrors.plan
  3. Выполнение развертывания.

    $ mxaddmirrors setup --plan-file /tmp/mxaddmirrors.plan --mode cli

3.2 Пользовательская конфигурация

  1. Сбор информации об узлах и частичной конфигурации развертывания базы данных.

    $ mxaddmirrors init > /tmp/mxaddmirrors.init
  2. Сохранение сгенерированной конфигурации в файл config. Если файл не существует, он будет создан автоматически.

    $ mxaddmirrors config --init-file /tmp/mxaddmirrors.init > /tmp/config

    Примечание!
    Разумная конфигурация генерируется как для сбалансированных, так и для несбалансированных кластеров, но ручная проверка всё равно необходима.

  3. Редактирование файла config.

    $ edit config
  4. Генерация плана развертывания с использованием собранных данных и пользовательской конфигурации.

    $ mxaddmirrors plan --init-file /tmp/mxaddmirrors.init --custom-config /tmp/config > /tmp/mxaddmirrors.plan
  5. Выполнение развертывания.

    $ mxaddmirrors setup --plan-file /tmp/mxaddmirrors.plan --mode cli

Сгенерированный конфигурационный файл имеет формат CSV:

0||7000|
1||7000|
  • Файл содержит четыре столбца: content_id, hostname, port и rootdir of datadir (используются для создания каталогов и файлов баз данных).
  • Пустые значения означают отсутствие изменений; будут использованы значения по умолчанию.
  • Значение content_id не должно быть пустым и должно быть уникальным. Все изменённые параметры применяются немедленно — «что видите, то и получите».

Примечание!
Для несбалансированных развертываний обратитесь к соответствующему разделу в руководстве по развертыванию асимметричных кластеров за правилами конфигурации.

Примечание!
Начиная с версии YMatrix 5, была внедрена новая архитектура базы данных. Для добавления зеркал теперь используется инструмент mxaddmirrors, который несовместим с gpaddmirrors. Предыдущие версии могут продолжать использовать gpaddmirrors.

См. также: mxinitstandby, mxdeletesystem.