mxaddmirrors

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

1 Описание

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

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

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

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

Подкоманда Параметр Описание Опционально
config Создает пользовательский конфигурационный файл
--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/matrixdb5/bin/mxaddmirrors). Если команда mxaddmirrors init была случайно запущена от имени пользователя без прав sudo, файл mxaddmirrors.init будет создан в контексте этого пользователя и станет доступен только для чтения другим пользователям. В этом случае вы должны удалить этот файл и повторно выполнить команду под пользователем с правами sudo, чтобы пересоздать его.

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

Примечание!
Выберите либо 3.1, либо 3.2. Поведение по умолчанию использует политику распределения зеркал по кольцу Ring mirror distribution policy от 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. Сохранение сгенерированной конфигурации в файл config. Если файл не существует, он будет создан автоматически.

    $ mxaddmirrors config --filename /tmp/config
  2. Редактирование файла config.

    $ edit config
  3. Сбор информации об узлах и частичных данных о текущем развертывании существующей базы данных.

    $ mxaddmirrors init > /tmp/mxaddmirrors.init
  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.