Поиск по сайту:

Миграция 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

Статьи по данной тематике