Документация ispmanager 6 lite, pro, host

Миграция с ОС CentOS 7 на AlmaLinux 8

Данный скрипт предназначен для упрощения процесса конвертации операционной системы CentOS 7 на AlmaLinux 8 в рамках одного сервера. Скрипт подготавливает операционную систему к конвертации, а саму конвертацию осуществляет с помощью инструмента Elevate.

Подготовка

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

Ограничения

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

  • версия CentOS ниже 7.9;
  • использование ядра не последней доступной версии. Elevate не позволит провести конвертацию в таком случае. Рекомендуется выполнить yum update и перезапустить сервер перед конвертацией;
  • использование PHP из репозиториев remi/rhel/scl. После конвертации такие конфигурации могут не работать. Рекомендуется воспользоваться импортом панели;
  • использование MySQL версии ниже 8.0.36 или MariaDB ниже 5.5.68. Elevate не может успешно конвертировать базы данных таких версий, что может вызвать множество проблем;
  • недостаток оперативной памяти (менее 4 ГБ) или дискового пространства в директории /var/lib/ (менее 5 ГБ). Конвертация потребляет много ресурсов и при их недостатке может прерваться с ошибкой;
  • xfc ftype=0. Конвертация в такой конфигурации не завершится;
  • зашифрованные разделы файловой системы. Конвертация в таком случае не завершится;
  • версия ispmanager ниже 6.95.0. Проверить можно командой /usr/local/mgr5/bin/core ispmgr -v;
Обратите внимание!
Не рекомендуется запускать процесс конвертации во время обновления панели.

Рекомендации 

  • версия Centos 7.9;
  • ispmanager версии не ниже 6.95.0;
  • установлены следующие пакеты: grub и python3;
  • не меньше 4 Гигабайт оперативной памяти;
  • не меньше 5 Гигабайт дисковой памяти;
  • использовать утилиту screen на случай разрыва ssh соединения;

Как использовать

Процесс конвертации состоит из следующих этапов: подготовка, конвертация ОС, перезапуск и восстановление работы панели. Скрипт запускается дважды: до перезапуска для подготовки и после перезапуска для восстановления работы панели.

Запуск скрипта

Скрипт запускается с помощью Python 3. Для запуска выполните команду в директории со скриптом.

screen
curl -o centos7-to-alma8.tgz "http://download.ispmanager.com/tools/centos7-to-alma8.tgz"
tar -xzvf centos7-to-alma8.tgz
cd centos7-to-alma8
python3 main.py

 

После запуска будет выведено предупреждение. Для подтверждения начала процесса подготовки ОС и её конвертации введите yes.

Скрипт проверит сервер на соответствие критериям, описанным выше. Если все критерии выполнены, начнется подготовка и конвертация. После этого сервер нужно перезапустить и снова запустить скрипт. Убедитесь, что подключены актуальные репозитории ОС и отключены/удалены неактуальные репозитории, чтобы избежать ошибок при установке пакетов после перезагрузки.

Можно не перезапускать сервер вручную, если указать флаг --reboot. В этом случае скрипт сам перезапустит сервер и запустится сразу после того, как сервер поднимется. Пример команды:

python3 main.py --reboot

Дополнительная информация

После успешной конвертации и восстановления работы панели рекомендуется ещё раз перезапустить сервер.

Перед конвертацией проверьте список исключений yum, так как их наличие может повлиять на успешность конвертации.

Скрипт миграции записывает логи в директории скрипта — convertation.log. В них выводится информация о текущем процессе и возможных ошибках. Elevate также записывает логи в /var/log/leapp/preupgrade.log и /var/log/leapp/upgrade.log.

После успешной конвертации в директории скрипта будет создан файл convertation-report.txt, в котором содержатся конфигурационные файлы, измененные при подготовке среды. Исходные варианты конфигурационных файлов сохраняются в /var/config_backups/.

Скрипт может завершиться с ошибкой по множеству причин. После исправления ошибок скрипт можно запустить заново — он продолжит выполнение с того места, на котором прервался.

На сервере могут остаться пакеты из репозиториев CentOS 7. Проверить их наличие можно командой:

rpm -qa | grep el7

Известные проблемы

  • Если используется OpenLiteSpeed и PostgreSQL, то после конвертации PostgreSQL не запускается. Решения пока нет;
  • Если используется Afterlogic, то после конвертации он будет заменен на RoundCube, но при этом сам Afterlogic продолжает работать.