В этом документе описывается инструмент добавления зеркальных узлов (Mirror) mxaddmirrors.
mxaddmirrors можно добавить зеркальные узлы в систему YMatrix, развернутую изначально без них, и запустить процесс онлайн-репликации между основными сегментами (Primary) и соответствующими им зеркалами.Примечание!
Во время процесса добавления зеркал база данных должна быть простаивающей. Не должно выполняться никаких рабочих нагрузок и других запросов.
Ниже приведено подробное описание аргументов командной строки:
| Подкоманда | Параметр | Описание | Опционально |
|---|---|---|---|
| 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 |
Обязательно |
Примечание!
Если поведение по умолчанию вас устраивает, необходимо указывать только обязательные параметры.
Команда mxaddmirrors должна выполняться пользователем с правами sudo на хосте Master (кроме пользователя mxadmin — в этом случае используйте абсолютный путь /opt/ymatrix/matrixdb5/bin/mxaddmirrors). Если команда mxaddmirrors init была случайно запущена от имени пользователя без прав sudo, файл mxaddmirrors.init будет создан в контексте этого пользователя и станет доступен только для чтения другим пользователям. В этом случае вы должны удалить этот файл и повторно выполнить команду под пользователем с правами sudo, чтобы пересоздать его.
Предоставлены два варианта использования: один с поведением по умолчанию, другой — с пользовательской конфигурацией. Подробности ниже:
Примечание!
Выберите либо 3.1, либо 3.2. Поведение по умолчанию использует политику размещения зеркал в виде кольца Ring mirror placement policy от YMatrix. При использовании пользовательской конфигурации вы можете изменить расположение зеркал по своему усмотрению. Независимо от выбранного метода, необходимо строго следовать полному циклу добавления зеркал.
Сбор информации об узлах и частичной конфигурации базы данных.
$ mxaddmirrors init > /tmp/mxaddmirrors.init
Генерация плана развертывания на основе собранной информации — этот план содержит точные шаги развертывания.
$ mxaddmirrors plan --init-file /tmp/mxaddmirrors.init > /tmp/mxaddmirrors.plan
Выполнение развертывания.
$ mxaddmirrors setup --plan-file /tmp/mxaddmirrors.plan --mode cli
Сохранение сгенерированной конфигурации в файл config. Если файл не существует, он будет создан автоматически.
$ mxaddmirrors config --filename /tmp/config
Редактирование файла config.
$ edit config
Сбор информации об узлах и частичной конфигурации базы данных.
$ mxaddmirrors init > /tmp/mxaddmirrors.init
Генерация плана развертывания с использованием собранных данных и пользовательской конфигурации.
$ mxaddmirrors plan --init-file /tmp/mxaddmirrors.init --custom-config /tmp/config > /tmp/mxaddmirrors.plan
Выполнение развертывания.
$ 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.