mxaddmirrors

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

1 Описание

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

Примечание!
Процесс добавления зеркал требует значительных системных ресурсов: пропускной способности сети, операций ввода-вывода и вычислительной мощности ЦП. Если система находится под высокой нагрузкой, это может повлиять на текущие бизнес-операции.
Рекомендуется выполнять процесс добавления зеркал при простое базы данных, минимизируя активные запросы и общую нагрузку на систему.

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

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

Подкоманда Параметр Описание Необязательный
config Создает пользовательский конфигурационный файл
--db-cluster-id Идентификатор кластера базы данных. Используется для идентификации уникального кластера Необязательный
--filename Сохраняет созданный конфигурационный файл по указанному пути. Если файл не существует, он будет создан автоматически. Также можно использовать перенаправление вывода Необязательный
init Собирает информацию о системе и формирует базовый план
--db-cluster-id Идентификатор кластера базы данных. Хранится в файле /etc/matrixdb6/cluster.conf. При наличии одного кластера используйте последнее значение ClusterID; при нескольких кластерах выберите подходящее значение --db-cluster-id для целевого кластера Обязательный
--mirror-port-base Начальный порт, с которого начинается поиск свободного порта для процессов Mirror. По умолчанию поиск начинается с порта 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 mirror distribution policy) по умолчанию в YMatrix (подробнее). При использовании пользовательской конфигурации можно задать альтернативные стратегии размещения зеркал. Независимо от выбранного метода, необходимо соблюдать полный рабочий процесс добавления зеркал.

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

  1. Сбор информации о хостах и развертывании базы данных:
$ mxaddmirrors init > /tmp/mxaddmirrors.init
  1. Генерация плана развертывания на основе собранной информации:
$ mxaddmirrors plan --init-file /tmp/mxaddmirrors.init > /tmp/mxaddmirrors.plan
  1. Выполнение развертывания:
$ mxaddmirrors setup --plan-file /tmp/mxaddmirrors.plan --mode cli

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

  1. Сохранение сгенерированной конфигурации в файл config. Если файл не существует, он будет создан автоматически:
$ mxaddmirrors config --filename /tmp/config
  1. Редактирование файла config:
$ edit config
  1. Сбор информации о хостах и развертывании базы данных:
$ mxaddmirrors init > /tmp/mxaddmirrors.init
  1. Генерация плана развертывания с использованием пользовательской конфигурации:
$ mxaddmirrors plan --init-file /tmp/mxaddmirrors.init --custom-config /tmp/config > /tmp/mxaddmirrors.plan
  1. Выполнение развертывания:
$ 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. В версиях до YMatrix 5 используйте инструмент gpaddmirrors.

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