Миграция CentOS 7 на AlmaLinux 8, CentOS 8, Rocky Linux 8
Обновите CentOS 7 до AlmaLinux 8, CentOS Stream 8, Oracle Linux 8 и Rocky Linux 8.
Как вы, возможно, уже знаете, мигрировать между основными версиями производных RHEL было невозможно. Это означает, что вы не можете напрямую обновить CentOS 7.x до версии CentOS 8.x. Единственным способом была новая установка. Уже нет! Теперь вы можете легко перейти с CentOS 7.x на любую версию 8.x по вашему выбору с помощью инструмента ELevate. В этом руководстве объясняется, как перенести CentOS 7 на AlmaLinux 8, CentOS Stream 8, Oracle Linux 8 и Rocky Linux 8 с помощью инструмента AlmaLinux ELvate.
Что такое ЭЛевейт?
ELevate — это инструмент миграции с открытым исходным кодом, разработанный командой AlmaLinux. Он позволяет легко и плавно переходить между основными версиями дистрибутивов на основе RHEL с версии 7.x на версию 8.x.
ELevate сочетает в себе платформу Red Hat Leapp с созданной сообществом библиотекой и сервисом для необходимого для нее набора метаданных миграции.
В настоящее время он поддерживает миграцию с CentOS 7 на следующие операционные системы:
- АльмаЛинукс ОС 8
- CentOS поток 8
- Оракул Линукс 8
- Рокки Линукс 8
Миграцию можно выполнить на месте, что означает сохранение данных и файлов конфигурации. Другими словами, все установленные приложения, настройки и данные останутся нетронутыми. Однако пользователям НАСТОЯТЕЛЬНО РЕКОМЕНДУЕТСЯ выполнить резервное копирование важных данных перед началом миграции.
ELevate — это программа с открытым исходным кодом, выпущенная под лицензией Apache 2.0.
Для тех, кому интересно: буквы «EL» из ELevate обозначают Enterprise Linux.
Что следует помнить перед началом миграции на CentOS 7
- Как говорилось ранее, настоятельно рекомендуется сделать резервную копию важных данных и настроек.
- Живая миграция не поддерживается. Ваша система перезагрузится дважды. Убедитесь, что все важные задания (например, запланированное резервное копирование) не выполняются.
- ELevate все еще находится в стадии разработки. Поэтому я предлагаю вам тщательно протестировать его в виртуальной системе или в песочнице, прежде чем использовать его в рабочей среде.
Я протестировал инструмент ELevate на только что установленной виртуальной машине CentOS 7. Миграция прошла гладко и без ошибок. Если у вас возникнут какие-либо проблемы, сообщите о них в систему отслеживания ошибок AlmaLinux и/или в канал миграции чата AlmaLinux.
Обновите систему CentOS 7.
Убедитесь, что вы используете последнюю ветку CentOS 7.x. Если нет, обновите вашу систему CentOS с помощью команды:
sudo yum update
sudo yum upgrade
Перезагрузите систему, чтобы применить изменения:
sudo reboot
Проверьте текущую установленную версию CentOS 7 с помощью команды:
$ cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
$ cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
Проверьте версию CentOS
Как видите, моя система работает с версией CentOS 7.9. Это последняя версия в ветке 7.x.
Миграция CentOS 7 на AlmaLinux 8, CentOS 8, Rocky Linux 8 и Oracle Linux 8
Шаг 1. Установите ELevate
Установите пакет elevate-release
в вашей системе CentOS 7 с помощью команды:
sudo yum install http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm
Установите программу ELevate в CentOS 7
Шаг 2. Установите Leapp и перенесите данные
Пакет elevate-release
содержит утилиту Leapp и необходимые данные для миграции Enterprise Linux 7.x на любую версию Enterprise Linux 8.x по нашему выбору.
В зависимости от дистрибутива, который вы хотите обновить, вам необходимо установить любой из следующих пакетов:
- jumpp-data-almalinux
- jumpp-data-centos
- jumpp-data-oraclelinux
- jumpp-data-rocky
Например, если вы хотите перенести CentOS 7 на AlmaLinux 8, вам необходимо установить следующие пакеты:
sudo yum install -y leapp-upgrade leapp-data-almalinux
Чтобы перенести CentOS 7 на CentOS 8, установите следующие пакеты:
sudo yum install -y leapp-upgrade leapp-data-centos
Чтобы перенести CentOS 7 на Oracle Linux 8, установите следующие пакеты:
sudo yum install -y leapp-upgrade leapp-data-oraclelinux
Чтобы перенести CentOS 7 на Rocky Linux 8, установите следующие пакеты:
sudo yum install -y leapp-upgrade leapp-data-rocky
Теперь мы установили пакет leap-upgrade
и данные миграции для ОС, которую хотим обновить.
Для целей данного руководства я собираюсь обновить CentOS 7 до AlmaLinux 8.
Обновите CentOS 7 до AlmaLinux 8.
Шаг 3. Запустите проверку перед обновлением
Затем выполните следующую команду, чтобы проверить, возможно ли обновление:
sudo leapp preupgrade
Это выполнит ряд действий и проверит, возможно ли выполнить обновление.
==> Processing phase `configuration_phase`
====> * ipu_workflow_config
IPU workflow config actor
==> Processing phase `FactsCollection`
====> * scanmemory
Scan Memory of the machine.
====> * source_boot_loader_scanner
Scans the boot loader configuration on the source system.
.
.
.
============================================================
UPGRADE INHIBITED
============================================================
Upgrade has been inhibited due to the following problems:
1. Inhibitor: Detected loaded kernel drivers which have been removed in RHEL 8. Upgrade cannot proceed.
2. Inhibitor: Multiple devel kernels installed
3. Inhibitor: Possible problems with remote login using root account
4. Inhibitor: Missing required answers in the answer file
Consult the pre-upgrade report for details and possible remediation.
============================================================
UPGRADE INHIBITED
============================================================
Debug output written to /var/log/leapp/leapp-preupgrade.log
============================================================
REPORT
============================================================
A report has been generated at /var/log/leapp/leapp-report.json
A report has been generated at /var/log/leapp/leapp-report.txt
============================================================
END OF REPORT
============================================================
Answerfile has been generated at /var/log/leapp/answerfile
Начать проверку перед обновлением
По окончании проверки перед обновлением утилита Leapp сгенерирует отчет в файле /var/log/leapp/leapp-report.txt
. Этот файл содержит возможные проблемы и рекомендуемые решения. На этом этапе пакеты RPM устанавливаться не будут.
ВНИМАНИЕ:
Проверка перед обновлением завершится неудачей, если CentOS 7 по умолчанию не соответствует всем требованиям для миграции. В таком случае необходимо устранить все проблемы и повторить попытку.
Следующие исправления из файла /var/log/leapp/leapp-report.txt
являются обязательными, но при необходимости вы также можете просмотреть остальные.
В моем случае я исправил следующие проблемы:
sudo rmmod pata_acpi
echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config
sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True
Мне также пришлось удалить лишние версии ядра.
Список установленных ядер в CentOS:
$ rpm -qa kernel
kernel-3.10.0-1160.45.1.el7.x86_64
kernel-3.10.0-1160.42.2.el7.x86_64
Как вы видите выше, в настоящее время в моей системе установлено два ядра.
Удалите старое ядро и ядра-разработки и сохраните только активное в данный момент ядро, используя команду:
sudo package-cleanup --oldkernels --count=1
После устранения всех проблем выполните следующую команду для миграции CentOS 7 на любую Enterprise Linux 8.x по вашему выбору:
sudo leapp upgrade
Обновите CentOS 7 до производных RHEL 8, таких как AlmaLinux, CentOS Stream, Oracle и Rocky Linux.
После завершения обновления перезагрузите систему:
sudo reboot
В меню GRUB появится новая запись под названием ELevate-Upgrade-Initramfs
. Система автоматически загрузится в него. Посмотреть, как проходит процесс обновления, можно в консоли.
Миграция CentOS 7 на AlmaLinux 8
Система автоматически перезагрузится после завершения обновления. Записи меню GRUB будут автоматически обновляться в зависимости от ОС.
Войдите в систему и убедитесь, что текущая ОС — та, которая вам нужна.
cat /etc/os-release
Пример вывода:
NAME="AlmaLinux"
VERSION="8.4 (Electric Cheetah)"
ID="almalinux"
ID_LIKE="rhel centos fedora"
VERSION_ID="8.4"
PLATFORM_ID="platform:el8"
PRETTY_NAME="AlmaLinux 8.4 (Electric Cheetah)"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:almalinux:almalinux:8.4:GA"
HOME_URL="https://almalinux.org/"
DOCUMENTATION_URL="https://wiki.almalinux.org/"
BUG_REPORT_URL="https://bugs.almalinux.org/"
ALMALINUX_MANTISBT_PROJECT="AlmaLinux-8"
ALMALINUX_MANTISBT_PROJECT_VERSION="8.4"
Проверьте версию AlmaLinux
Большой! Мы успешно обновили CentOS 7 до версии AlmaLinux 8.4.
Очистить кеш (необязательно)
Все загруженные пакеты во время миграции будут сохранены в кеше до следующей успешной транзакции. Вы можете удалить кэшированные пакеты, выполнив следующую команду от имени пользователя sudo
или root
:
sudo dnf clean packages
Обновить имя хоста
Наконец, обновите имя хоста и имя пользователя, чтобы оно соответствовало AlmaLinux.
sudo hostnamectl set-hostname almalinux8
Все сделано! Перезагрузите систему, чтобы изменения вступили в силу.
Заключение
В этом руководстве мы увидели, как обновить CentOS 7 до производных RHEL 8, таких как AlmaLinux, CentOS Stream, Oracle Linux и Rocky Linux, с помощью проекта ELevate от разработчиков AlmaLinux.
Я не ожидал, что переход с CentOS 7 на производные RHEL 8 окажется настолько простым! Разработчики AlmaLinux проделали похвальную работу. Будь то исправление ошибки или добавление функции, они быстро вмешиваются и работают над этим. Они были первыми, кто выпустил стабильную альтернативу CentOS 8. Они также предоставили сценарий Bash для простого преобразования существующих систем CentOS 8 в AlmaLinux 8. Для получения более подробной информации обратитесь к следующему руководству.
- Миграция на AlmaLinux с CentOS 8 с помощью сценария Almalinux-deploy
Ресурс:
- AlmaLinux ELevate