Стратегии обновления¶
Существуют различные стратегии, которые следует учитывать при обновлении 8.0 до 8.4.
Обновление «на мест延
Обновление на 8.4 не позволяет откатиться. Стратегия обновления «на месте» не рекомендуется, и ее следует использовать только в крайнем случае.
Обновление «на месте» включает в себя завершение работы сервера 8.0 и замену бинарных файлов или пакетов сервера новыми. На этом этапе новую версию сервера можно запустить в существующем каталоге данных. Обратите внимание, что сервер должен быть настроен на медленное завершение работы, т.е. должна быть установлена системная переменная innodb_fast_shutdown=0
перед выключением.
Особенности обновления «на месте»:
-
Меньше дополнительных затрат на инфраструктуру по сравнению с новой средой, но узлы необходимо тестировать.
-
Обновление большого кластера может выполняться постепенно в течение нескольких недель с паузами между обновлениями узла кластера, предназначенных для чтения.
-
Требуется аварийное переключение производственного трафика, и для минимального времени простоя необходимо иметь хорошие инструменты высокой доступности.
Если вы используете XA-транзакции с InnoDB, запуск XA RECOVER
перед обновлением проверяет наличие незафиксированных XA-транзакций. Если эта команда возвращает непустой результат, зафиксируйте или откатите XA-транзакции, выполнив команды XA COMMIT
или XA ROLLBACK
.
Новое окружение с переключением¶
Обновление с помощью нового окружения предполагает создание дублирующей среды с тем же количеством серверов, с теми же характеристиками оборудования и той же операционной системой, что и на текущих производственных узлах.
На новом оборудовании устанавливается целевая версия MySQL. После этого настраивается новое окружение и восстанавливаются производственные данные. Помните, что вы можете использовать утилиту pt-config-diff
из пакета Percona Toolkit для сверки конфигураций MySQL.
Затем настраивается репликация из текущего окружения во вновь созданное.
Во время переключения с текущего окружения на новое вся запись в текущее окружение остановливается, и трафик приложения необходимо перенаправить в новый окружение. Переключение можно выполнить с помощью виртуального IP-адреса или вручную перенаправив само приложение. Как только записи будут получены в новой окружении, вы окажетесь в ситуации невозможности возврата, и на этом этапе можно отключить старое окружение.
Особенности обновления с помощью нового окружения:
-
Этот подход требует дополнительных затрат на инфраструктуру, поскольку необходимо построить совершенно новое окружение.
-
Возможность апгрейда одновременно и ОС, и СУБД.
-
Позволяет легко обновлять оборудование.
-
Требуется только одно окно переключения.