Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Типовое обслуживание
Секционирование
Резервное копирование и восстановление
Масштабирование
Мониторинг
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Конфигурация
Справочник по SQL
Часто задаваемые вопросы
В этом документе описывается инструмент миграции экземпляров зеркальных сегментов (Mirror) — mxmoveseg.
Примечание!
mxmovesegиспользуется исключительно для миграции экземпляров сегментов, у которых в таблицеgp_segment_configurationзначение столбцаrole(текущая роль) равноm(зеркало). Значение столбцаpreferred_role(предпочитаемая роль) не учитывается.
mxmoveseg поддерживает перенос любого экземпляра базы данных, выступающего в роли Mirror, на другой сервер.mxmoveseg не поддерживает миграцию Standby Master.Примечание!
Перед использованием этого инструмента необходимо вручную проверить состояние всех серверов в кластере. Если какие-либо серверы неисправны, их следует явно указать, чтобыmxmovesegсобирал информацию только с работоспособных хостов.
В таблице ниже перечислены доступные параметры командной строки:
| Параметр | Описание |
|---|---|
--config |
Создает конфигурационный файл для зеркальных сегментов, подлежащих миграции |
--plan |
Генерирует план миграции на основе конфигурации |
--setup |
Выполняет миграцию согласно плану |
-h / --help |
Отображает справочную информацию |
Примечание!
На новом сервере должен быть установлен пакет YMatrix RPM/DEB той же версии, что и в текущем кластере, в соответствии с документацией по развертыванию YMatrix, однако не следует инициализировать новый кластер через графический интерфейс.
Примечание!
Новый сервер может содержать кластер YMatrix с другой основной версией (например, YMatrix 4.8 на старом сервере и YMatrix 5.1 на новом).
Соберите информацию о существующем кластере базы данных. Используйте more /etc/matrixdb5/cluster.conf, чтобы посмотреть идентификатор кластера.
[<username>@<master_hostname> ~]$ sudo /opt/ymatrix/matrixdb5/bin/mxctl expand init --cluster-id <clusterid> --unrestrict > /tmp/init
Добавьте новый сервер.
[<username>@<master_hostname> ~]$ cat /tmp/init | sudo /opt/ymatrix/matrixdb5/bin/mxctl expand add --unrestrict --host <newhost> > /tmp/initadd
Проверьте сетевую связь между обнаруженными серверами.
[<username>@<master_hostname> ~]$ cat /tmp/initadd | sudo /opt/ymatrix/matrixdb5/bin/mxctl expand netcheck > /tmp/netcheck
Переключитесь на пользователя mxadmin.
[<username>@<master_hostname> ~]$ sudo su - mxadmin
Создайте конфигурационный файл миграции и отредактируйте его в соответствии с внутренними инструкциями, указав экземпляры для миграции.
$ mxmoveseg config --db-cluster-id <clusterid> --filename /tmp/migrate.cfg
# After creating the configuration file, manually edit the dbid (obtained by running SELECT * FROM gp_segment_configuration; after connecting to the database), hostname, etc., of the segments to be migrated. SPEC: If port conflicts exist between the new and old servers, assign new ports in the configuration file.
$ vim /tmp/migrate.cfg
Сформируйте план миграции.
$ mxmoveseg plan --init-file /tmp/netcheck --config-file /tmp/migrate.cfg > /tmp/plan
Выполните миграцию.
$ mxmoveseg setup --plan-file /tmp/plan --mode cli
После успешной миграции проверьте состояние перемещённого зеркала с помощью графического интерфейса: «Управление кластером» → «Обзор кластера» → «Просмотр экземпляров», либо с помощью SQL-запроса SELECT * FROM gp_segment_configuration.
Внимание!
Если исходный сервер был отключен во время миграции, не перезагружайте старый сервер после завершения миграции. Его перезапуск приведёт к запуску старых процессов управления, что вызовет конфликты обнаружения служб с новыми процессами и может привести к нестабильности кластера.
Соберите информацию о существующем кластере базы данных. Используйте more /etc/matrixdb5/cluster.conf, чтобы посмотреть идентификатор кластера.
[<username>@<master_hostname> ~]$ sudo /opt/ymatrix/matrixdb5/bin/mxctl expand init --cluster-id <clusterid> --unrestrict > /tmp/init
Проверьте сетевую связь между обнаруженными серверами.
[<username>@<master_hostname> ~]$ cat /tmp/init | sudo /opt/ymatrix/matrixdb5/bin/mxctl expand netcheck > /tmp/netcheck
Переключитесь на пользователя mxadmin.
[<username>@<master_hostname> ~]$ sudo su - mxadmin
Создайте конфигурационный файл миграции и отредактируйте его в соответствии с внутренними инструкциями, указав зеркальные экземпляры для миграции.
$ mxmoveseg config --db-cluster-id <clusterid> --filename /tmp/migrate.cfg
# After creating the configuration file, manually edit the dbid (obtained by running SELECT * FROM gp_segment_configuration; after connecting to the database), hostname, etc., of the Mirror segments to be migrated. SPEC: If port conflicts exist between the target and original servers, assign new ports in the configuration file.
$ vim /tmp/migrate.cfg
Сформируйте план миграции.
$ mxmoveseg plan --init-file /tmp/netcheck --config-file /tmp/migrate.cfg > /tmp/plan
Выполните миграцию.
$ mxmoveseg setup --plan-file /tmp/plan --mode cli
После успешной миграции проверьте состояние перемещённого зеркала с помощью графического интерфейса: «Управление кластером» → «Обзор кластера» → «Просмотр экземпляров», либо с помощью SQL-запроса SELECT * FROM gp_segment_configuration.