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 на хосте master (кроме mxadmin, используйте абсолютный путь /opt/ymatrix/matrixdb5/bin/mxaddmirrors). Если команда mxaddmirrors init была случайно запущена от имени пользователя без прав sudo, файл mxaddmirrors.init будет создан в контексте этого пользователя — он будет доступен для чтения, но не для записи другим пользователям. В этом случае необходимо удалить этот файл и повторно выполнить команду от имени пользователя с правами sudo, чтобы пересоздать его.

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

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

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.