Автоматизированное обновление СУБД Pangolin#

При переходе к данному разделу предполагается, что изучена информация общего блока «Обновление».

Автоматизированное обновление следует запускать на отдельном хосте не входящем в экземпляр кластера СУБД Pangolin.

Автоматизированное обновление поддерживает обновление исполняемых файлов с обновлением данных системных каталогов и без, а также обновление с переносом данных.

Ограничения и требования#

Перед запуском Ansible плейбука, либо перед началом использования инструмента Pangolin Installer, убедитесь, что:

Предусловие#

Выполните настройка виртуального окружения перед началом использования скриптов автоматизации:

  1. Разархивируйте rpm-пакет venv из 3rdparty части:

    tar -xz -f 3rdparty/3rdparty.tar.gz ./pangolin-ansible-venv-controller*
    
  2. Выполните установку пакета:

    sudo dnf install pangolin-ansible-venv-controller-{product_version}-{OS}.x86_64.rpm
    
    sudo yum install pangolin-ansible-venv-controller-rhel{version_OS}.x86_64.rpm
    
    sudo apt install pangolin-ansible-venv-controller-{product_version}_amd64.deb
    
    sudo apt-get install pangolin-ansible-venv-controller-altlinux{version_OS}.x86_64.rpm
    

    Пример готовой команды:

    sudo dnf -y install pangolin-ansible-venv-controller-6.5.0-sberlinux8.x86_64.rpm
    
  3. Активируйте виртуальное окружение для начала последующей установки:

    source /opt/pangolin-ansible-venv-controller/bin/activate
    

Выбор способа обновления#

Автоматизированное обновление СУБД, как и автоматизированная установка, доступно двумя способами:

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

  • Запуск обновления с помощью инструмента Pangolin Installer предназначен скорее для пользователей, которые хотят максимально упростить все процессы по использованию сценариев и не погружаться в тонкости их запуска. Инструмент предоставляет интуитивный запуск сценария, не требующего от пользователя никаких дополнительных шагов, кроме установки rpm/deb-пакета инструмента с помощью пакетного менеджера.

Воспользуйтесь одной из предложенных инструкций, в зависимости от выбора сценария:

Внимание

Перед выполнением обновления рекомендуется сделать резервную копию базы данных до начала всех работ, чтобы избежать возможных проблем и иметь возможность откатиться к первоначальному состоянию в случае их возникновения.

Схемы процесса автоматизированного обновления#

Схемы процессов различных сценариев обновления СУБД Pangolin автоматизированными скриптами представлены в разделе «Схемы работы сценариев автоматизации СУБД Pangolin».

Время обновления#

В данном разделе приведена информация о произведенных тестовых обновлениях СУБД Pangolin, при помощи скриптов автоматизации, разной конфигурации и версии под нагрузкой.

Методика тестирования:

  1. Установка и обновление продуктов версии:

    • c 5.5.4 до 6.4.0 - обновление с переносом данных;

    • c 6.1.8 до 6.4.0 - обновление исполняемых файлов с обновлением системных данных;

    • с 6.1.6 до 6.3.1 - обновление исполняемых файлов;

    • с 6.4.1 до 6.4.3 - обновление исполняемых файлов (патч).

  2. Создание тестовой базы данных и генерация тестовых данных (~100ГБ).

  3. Запуск сценария стабильной нагрузки на время обновления. Алгоритм:

    • запускается нагрузка, продолжается 5 минут (100TPS);

    • стартует обновление;

    • после окончания обновления запускается повторная нагрузка на протяжении 10 минут.

  4. Сравнение результатов

Результаты обновления:

Вариант обновления

Тип конфигурации

Время обновления

Размерность

c 5.5.4 до 6.4.0

standalone

25

Минуты

cluster

64

Минуты

c 6.1.8 до 6.4.0

standalone

10

Минуты

cluster

23

Минуты

с 6.1.6 до 6.3.1

standalone

9

Минуты

cluster

24

Минуты

с 6.4.1 до 6.4.3

standalone

11

Минуты

cluster

32

Минуты

Обновление компонентов#

Обновление компонентов происходит во время сценария обновления СУБД.

Проверка результатов обновления#

Для проверки успешности обновления СУБД рекомендуется использовать чек-лист проверки корректности работы.

Восстановление продукта после неудачного обновления#

Сценарий осуществляется автоматически, в случае возникновения проблемы, инструментом Pangolin Installer или Ansible плейбуком.

Пример сообщения из лог-файла после восстановления:

RLM.FAIL__E05002:В процессе обновления возникла ошибка. Было произведено восстановление версии СУБД Pangolin до запуска обновления.  Ознакомьтесь с логами.__RLM.FAIL