• Русский
  • Обновление

    WARNING

    Удаление PXC в Alauda Database Service for MySQL v4.3.0
    MySQL-PXC устарел и удален начиная с Alauda Database Service for MySQL v4.3.0. Существующие экземпляры PXC продолжат работать, но больше не будут управляться MySQL operator. Если у вас есть экземпляры PXC, вы должны мигрировать их в MySQL-MGR до обновления до MySQL Operator v4.3.0 или более поздней версии.

    • Руководство по миграции: См. Migrate MySQL-PXC to MySQL-MGR для полного пошагового описания, включая совместимость схемы, наборы символов, пользователей и привилегии.

    Alauda Database Service for MySQL-MGR будет выполнять обновления на основе настроенной стратегии обновления:

    • Automatic: автоматические обновления запускаются немедленно при обнаружении новых версий компонентов.
    • Manual: требуется ручное подтверждение перед запуском процесса обновления.

    Существует три вида обновления для MySQL-MGR:

    • Обновление версии patch — в пределах той же major-версии MySQL (например, 8.0.x или 8.4.x), чтобы получить исправления и улучшения. См. Patch Version Upgrade.
    • Обновление major-версии MySQL (8.0 → 8.4) — обновление существующего кластера 8.0 до 8.4 на месте. См. ниже.
    • Миграция MySQL-PXC в MySQL-MGR — требуется перед обновлением operator до v4.3.0 или более поздней версии, если вы все еще используете экземпляры PXC. См. контрольный список ниже и Migrate MySQL-PXC to MySQL-MGR.

    Обновление major-версии MySQL (8.0 → 8.4)

    Начиная с v4.4.0, вы можете обновить существующий кластер MySQL 8.0 MGR на месте до MySQL 8.4 без пересоздания кластера или миграции данных. Operator выполняет поэтапное обновление по одному участнику за раз, сохраняя данные и членство Group Replication, автоматически обновляет метаданные InnoDB Cluster и продолжает обслуживать трафик через MySQL Router.

    Это обновление major-версии, и оно необратимо — запланируйте окно обслуживания и сначала создайте резервную копию.

    Требования и полную пошаговую процедуру см. в Upgrade MySQL 8.0 to 8.4.

    Контрольный список перед обновлением PXC

    Если на вашей платформе есть экземпляры MySQL-PXC, выполните следующие действия до обновления до MySQL Operator v4.3.0 или более поздней версии:

    1. Определите все экземпляры PXC

    Выполните следующую команду в каждом кластере, чтобы получить список всех экземпляров PXC:

    kubectl get perconaxtradbcluster -A

    Если экземпляры PXC не найдены, пропустите остальные шаги.

    2. Оцените срочность миграции

    СценарийТребуемое действие
    Обновление до MySQL Operator 4.2.xPXC по-прежнему управляется. Запланируйте миграцию до будущего обновления 4.3+.
    Обновление до MySQL Operator 4.3.0+PXC становится неуправляемым сразу после обновления operator. Нужно мигрировать до обновления.

    3. Выполните проверки перед миграцией

    Перед миграцией выполните анализ совместимости для каждого экземпляра PXC:

    • Совместимость схемы: обнаружение зарезервированных ключевых слов для целевой версии MySQL (8.0 или 8.4), столбцов ZEROFILL, недопустимых значений по умолчанию для дат.
    • Анализ набора символов: определение таблиц, не использующих utf8mb4.
    • Проверка GTID: убедитесь, что @@gtid_mode = ON и @@enforce_gtid_consistency = ON.

    Подробные инструкции см. в Migrate MySQL-PXC to MySQL-MGR (Шаг 1 и Шаг 2).

    4. Создайте целевые экземпляры MGR

    Создайте экземпляры MySQL-MGR в качестве целей миграции до начала обновления operator. Следуйте Instance Creation Guide и обратите внимание на следующие параметры:

    • Версия MySQL: 8.0 или 8.4. В operator v4.4.0 и более поздних версиях для новых экземпляров рекомендуется 8.4; выбирайте 8.0 только если сначала нужно совпасть с версией источника, а затем обновиться до 8.4 позже (см. Upgrade MySQL 8.0 to 8.4).
    • Хранилище: в 2–3 раза больше размера исходной базы данных PXC
    • Выделение ресурсов: такое же или больше, чем у исходного PXC

    5. Выполните полную резервную копию

    Создайте полную логическую резервную копию (mysqldump) каждого экземпляра PXC перед миграцией. Убедитесь, что резервную копию можно восстановить. Подробные инструкции см. в Migrate MySQL-PXC to MySQL-MGR.

    6. Выполните миграцию данных

    Выполните миграцию с помощью логической резервной копии mysqldump и восстановления. Пошаговые инструкции см. в Migrate MySQL-PXC to MySQL-MGR.

    7. Проверьте миграцию

    После миграции проверьте:

    • Все пользовательские базы данных присутствуют в экземпляре MGR.
    • Подключения приложений указывают на новый endpoint MGR.
    • Проверки целостности данных проходят успешно (количество строк, контрольная сумма).

    8. Выведите экземпляры PXC из эксплуатации

    После успешной миграции и проверки удалите custom resources PXC:

    kubectl delete perconaxtradbcluster <pxc-instance-name> -n <namespace>

    Очистите PVC, если они больше не нужны:

    kubectl delete pvc -l app.kubernetes.io/instance=<pxc-instance-name> -n <namespace>

    Сценарии обновления PXC

    Следующие сценарии применяются при обновлении до MySQL Operator v4.3.0 или более поздней версии:

    Сценарий 1: экземпляры PXC отсутствуют

    Дополнительные действия не требуются. Продолжайте стандартное обновление MySQL operator.

    Сценарий 2: экземпляры PXC присутствуют — выполните миграцию до обновления

    Если в кластере есть экземпляры PXC, вы должны мигрировать их в MySQL-MGR до обновления MySQL operator. После завершения и проверки миграции можно продолжить стандартное обновление.

    Шаги:

    1. Определите все экземпляры PXC: kubectl get perconaxtradbcluster -A
    2. Для каждого экземпляра следуйте руководству Migrate MySQL-PXC to MySQL-MGR.
    3. Убедитесь, что приложения подключаются к новым endpoints MGR.
    4. Выведите экземпляры PXC из эксплуатации.
    5. Продолжите обновление MySQL operator.

    Сценарий 3: экземпляры PXC присутствуют — сначала обновите operator, мигрируйте позже

    WARNING

    Этот подход рекомендуется только в том случае, если миграцию невозможно завершить до окна обслуживания. Экземпляры PXC сразу после обновления operator станут неуправляемыми. Они продолжат работать, но не будут получать обновления operator, резервное копирование или поддержку отказоустойчивого переключения.

    Если вам необходимо сначала обновить operator:

    1. Обновите MySQL operator, следуя стандартной процедуре.
    2. После обновления экземпляры PXC остаются запущенными, но не управляются.
    3. Спланируйте и выполните миграцию PXC в MGR как можно скорее после обновления.
    4. Внимательно отслеживайте экземпляры PXC на предмет любых проблем в период, когда они не управляются.

    Сценарий 4: смешанный кластер (часть PXC, часть MGR)

    Кластеры, содержащие как PXC, так и MGR экземпляры, можно обновлять, но после обновления operator управляемыми останутся только экземпляры MGR. Для каждого экземпляра PXC выберите либо сценарий 2 (сначала миграция), либо сценарий 3 (сначала обновление, миграция позже).

    План аварийного реагирования для PXC

    Если во время или после обновления operator у экземпляров PXC в неуправляемом состоянии возникают проблемы, используйте следующие процедуры:

    Pod PXC не запущен после обновления

    Экземпляры PXC больше не управляются operator, поэтому автоматическое восстановление не произойдет.

    1. Проверьте состояние pod:
      kubectl get pod -n <namespace> | grep <pxc-instance-name>
      kubectl describe pod <pxc-pod-name> -n <namespace>
    2. Вручную перезапустите pod PXC:
      kubectl delete pod <pxc-pod-name> -n <namespace>
    3. Проверьте восстановление:
      kubectl get pod -n <namespace>  # Wait for pod to reach Running state
    4. Если pod не восстанавливается, проверьте состояние PVC и журналы. При устойчивых проблемах обратитесь в техническую поддержку.

    Обнаружена несогласованность данных PXC

    Если есть подозрение на несогласованность данных:

    1. Немедленно остановите запись в затронутый экземпляр PXC, чтобы предотвратить дальнейшее расхождение.
    2. Определите последнюю известную рабочую резервную копию до обновления.
    3. Оцените варианты восстановления:
      • Если доступна недавняя резервная копия и окно потери данных допустимо, восстановите данные из резервной копии.
      • Если потеря данных недопустима, обратитесь в техническую поддержку за помощью.
    4. После восстановления в приоритетном порядке завершите миграцию PXC в MGR, чтобы вернуть управляемое состояние.

    Миграция PXC в MGR не удалась в течение окна обновления

    Если миграцию невозможно завершить в пределах окна обслуживания:

    1. Верните подключения приложений к исходным endpoints PXC, если приложения уже были переключены.
    2. Убедитесь, что PXC по-прежнему работает: kubectl get perconaxtradbcluster -n <namespace>
    3. Отложите дальнейшую миграцию до запланированного окна обслуживания.
    4. Задокументируйте сбой для последующего анализа.
    Важно: не удаляйте PXC CR до завершения и проверки миграции

    Удаление custom resource PXC приведет к удалению всех связанных pod и данных. Всегда проверяйте целостность данных в целевом экземпляре MGR перед выводом исходного экземпляра PXC из эксплуатации.

    Соображения по откату

    MySQL operator нельзя откатить до предыдущей версии после обновления. Если возникает критическая проблема:

    • Экземпляры PXC остаются запущенными (на само обновление operator они не влияют, затрагивается только потеря управления со стороны operator).
    • Экземпляры MySQL-MGR продолжают нормально работать.
    • Обратитесь в техническую поддержку, чтобы оценить проблему и определить дальнейшие действия.