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. Поведение по умолчанию использует политику размещения зеркал в виде кольца Ring mirror placement 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.