Spec-Zone.ru › MariaDB

Миграция с MariaDB 10.2 на MariaDB 10.3 с использованием кластера Galera

MariaDB, начиная с 10.1

С MariaDB 10.1 патч MySQL-wsrep был интегрирован в MariaDB Server. Поэтому в MariaDB 10.1 и выше функциональность кластера MariaDB Galera может быть получена посредством установки стандартных пакетов MariaDB Server и пакета библиотеки поставщика Galera wsrep.

Начиная с MariaDB 10.1, Galera Cluster входит в состав MariaDB Server. Обновление узла Galera Cluster очень похоже на обновление сервера с MariaDB 10.2 на MariaDB 10.3. Более подробную информацию об этом процессе, а также о несовместимостях между версиями, см. в руководстве по обновлению.

Выполнение поэтапного обновления

Следующие шаги можно использовать для поэтапного обновления с MariaDB 10.2 на MariaDB 10.3 при использовании Galera Cluster. При поэтапном обновлении каждый узел обновляется индивидуально, поэтому кластер всегда остается работоспособным. С точки зрения приложения, простоя не будет.

Сначала, перед началом:

  1. Сначала ознакомьтесь с обновлением с MariaDB 10.2 на MariaDB 10.3, чтобы узнать, что изменилось между основными версиями.
    1. Проверьте, были ли изменены или удалены системные переменные или параметры. Убедитесь, что конфигурация вашего сервера совместима с новой версией MariaDB перед обновлением.
    2. Проверьте, были ли изменены параметры репликации в новой версии MariaDB, которые могут вызвать проблемы при обновлении кластера, содержащего обновленные и не обновленные узлы.
    3. Проверьте, были ли добавлены новые функции в новую версию MariaDB. Если новая функция в новой версии MariaDB не может быть реплицирована в старой версии MariaDB, не используйте эту функцию, пока все узлы кластера не будут обновлены до новой версии MariaDB.
  2. Далее, убедитесь, что номера версий Galera совместимы.
    1. Если вы обновляете последнюю версию MariaDB 10.2 на MariaDB 10.3, то версии будут совместимы. И MariaDB 10.2, и MariaDB 10.3 используют Galera 3 (т.е. версии поставщика Galera wsrep 25.3.x), поэтому они должны быть совместимы.
    2. См. Что такое MariaDB Galera Cluster?: Версии поставщика Galera wsrep для получения информации о том, какие версии MariaDB используют какие версии Galera wsrep provider.
  3. В идеале вы хотите иметь достаточно большой gcache, чтобы избежать передачи моментальных снимков состояния (SST) во время поэтапного обновления. Размер gcache можно настроить, установив gcache.size Например:
    wsrep_provider_options="gcache.size=2G"

Перед обновлением лучше всего создать резервную копию вашей базы данных. Это всегда хорошая идея перед обновлением. Мы рекомендуем использовать Mariabackup.

Затем, для каждого узла выполните следующие действия:

  1. Измените конфигурацию репозитория, чтобы система менеджер пакетов установила MariaDB 10.3. Например,
    • В дистрибутивах Linux, подобных Debian, Ubuntu и другим, см. Обновление репозитория MariaDB APT до новой основной версии для получения дополнительной информации.
    • В дистрибутивах Linux, подобных RHEL, CentOS, Fedora и другим, см. Обновление репозитория MariaDB YUM до новой основной версии для получения дополнительной информации.
    • В дистрибутивах Linux, подобных SLES, OpenSUSE и другим, см. Обновление репозитория MariaDB ZYpp до новой основной версии для получения дополнительной информации.
  2. Если вы используете прокси-сервер балансировки нагрузки, такой как MaxScale или HAProxy, убедитесь, что сервер выведен из пула, чтобы он не принимал новые подключения.
  3. Остановить MariaDB.
  4. Удалить старую версию MariaDB и поставщика Galera wsrep.
    • В дистрибутивах Linux, подобных Debian, Ubuntu и другим, выполните следующую команду:
      sudo apt-get remove mariadb-server galera
    • В дистрибутивах Linux, подобных RHEL, CentOS, Fedora и другим, выполните следующую команду:
      sudo yum remove MariaDB-server galera
    • В дистрибутивах Linux, подобных SLES, OpenSUSE и другим, выполните следующую команду:
      sudo zypper remove MariaDB-server galera
  5. Установить новую версию MariaDB и поставщика Galera wsrep.
    • В дистрибутивах Linux, подобных Debian, Ubuntu и другим, см. Установка пакетов MariaDB с помощью APT для получения дополнительной информации.
    • В дистрибутивах Linux, подобных RHEL, CentOS, Fedora и другим, см. Установка пакетов MariaDB с помощью YUM для получения дополнительной информации.
    • В дистрибутивах Linux, подобных SLES, OpenSUSE и другим, см. Установка пакетов MariaDB с помощью ZYpp для получения дополнительной информации.
  6. Внесите необходимые изменения в параметры конфигурации в файлах параметров, такие как my.cnf. Это включает удаление любых системных переменных или параметров, которые больше не поддерживаются.
  7. В дистрибутивах Linux, использующих systemd , возможно, потребуется увеличить время ожидания запуска службы, так как стандартное время ожидания в 90 секунд может быть недостаточно. Смотрите Systemd: Настройка таймаута службы Systemd для получения дополнительной информации.
  8. Запустить MariaDB.
  9. Запустить mysql_upgrade с параметром --skip-write-binlog.
    • mysql_upgrade выполняет две задачи:
      1. Обеспечивает полную совместимость системных таблиц в базе данных mysql с новой версией.
      2. Выполняет очень быструю проверку всех таблиц и помечает их как совместимые с новой версией MariaDB.

После завершения этого процесса для одного узла переходите к следующему узлу.

Обратите внимание, что при обновлении поставщика Galera wsrep иногда может измениться версия протокола Galera. Поставщик Galera wsrep не должен начинать использовать новую версию протокола, пока все узлы кластера не будут обновлены до новой версии, поэтому это, как правило, не проблема во время поэтапного обновления. Однако это может вызвать проблемы, если вы перезапустите не обновленный узел в кластере, где остальные узлы были обновлены.

Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется заранее компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержимом, не обязательно отражают мнения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/upgrading-from-mariadb-102-to-mariadb-103-with-galera-cluster/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API