Как перейти с RHEL 6 на сервер RHEL 8

Как перейти с RHEL 6 на сервер RHEL 8

 

Эта статья создана, чтобы помочь выполнить обновление на месте с системы RHEL 6 до системы RHEL 8. Чтобы быть конкретным, мы будем обновлять RHEL 6.10 до последней версии RHEL, которая на момент написания этой статьи — 8.3. Red Hat Enterprise Linux 6 сейчас находится на этапе «Техническая поддержка 2» жизненного цикла продукта. На этом этапе не планируется наличие новых функций и аппаратного обеспечения. Обновления ограничиваются квалифицированными критическими исправлениями безопасности и неотложными проблемами, влияющими на бизнес.

Подписки Red Hat Enterprise Linux не привязаны к конкретному выпуску операционной системы. Как клиент с активной подпиской, вы можете в любое время бесплатно обновить свою инфраструктуру Red Hat Enterprise Linux 6 до Red Hat Enterprise Linux 7 или 8, чтобы воспользоваться преимуществами последних инноваций в сфере разработки и эксплуатации.

Обновление на месте предлагает способ обновления системы до новой основной версии Red Hat Enterprise Linux путем замены существующей операционной системы. Мы будем выполнять это обновление поэтапно — сначала до RHEL 7, затем с RHEL 7 до RHEL 8.

ДАННОЕ ОБНОВЛЕНИЕ НЕ РЕКОМЕНДУЕТСЯ ДЛЯ ПРОИЗВОДСТВЕННЫХ СИСТЕМ. ЛУЧШЕ УСТАНОВИТЬ НОВЫЙ СЕРВЕР RHEL 8 И ПЕРЕМЕСТИТЬ ПРИЛОЖЕНИЯ. ЭТОТ ПРОЦЕСС ОБНОВЛЕНИЯ МОЖЕТ ВЫПОЛНИТЬ ВАШУ СИСТЕМУ.

Рекомендации и ограничения при обновлении

Ниже приведены общие критерии, которым должна соответствовать система для обновления с RHEL 6 до RHEL 8:

  • Архитектура ЦП сервера должна быть Intel 64 или IBM Z.
  • Режим FIPS должен быть отключен.
  • В системе не должно быть разделов или томов, зашифрованных LUKS.
  • Система должна иметь доступ к репозиториям с предоставленным контентом RHEL 6, RHEL 7 и RHEL 8.

Для пользователей, запускающих приложения, не предоставленные Red Hat, вы должны подтвердить, что пакеты будут совместимы с конкретной целевой версией RHEL 8. Зависимости пакетов также должны быть подтверждены, чтобы быть доступными в репозитории, к которому у вас есть доступ, чтобы предотвратить любые зависимости. проблемы, которые могут нарушить работу ваших приложений.

Обновление RHEL 6 до RHEL 8 Server

Это последовательность событий при обновлении на месте с RHEL 6 до RHEL 8.

  1. Подготовка системы RHEL 6 к обновлению путем обновления до последней версии RHEL 6, которая должна быть 6.10.
  2. Выполнение оценки перед обновлением в системе RHEL 6, чтобы гарантировать плавное обновление до RHEL 8
  3. Запуск обновления на месте с RHEL 6.10 до RHEL 7.9
  4. Подготовка системы RHEL 7 к обновлению до RHEL 8 путем обновления системы RHEL 7 до последней версии RHEL 7 — это 7.9
  5. Выполнение предварительной оценки RHEL 7 и устранение любых проблем перед обновлением.
  6. Запуск обновления на месте с RHEL 7.9 до RHEL 8.3.
  7. Проверить состояние модернизированной системы

Давайте подробно рассмотрим каждый процесс.

Шаг 1. Подготовьте систему RHEL 6 к обновлению до RHEL 7

Подтвердите статус регистрации вашей системы RHEL

$ sudo subscription-manager status

Если нет зарегистрируйтесь и подпишитесь.

sudo subscription-manager register --auto-attach

Убедитесь, что у вас прикреплена подписка Red Hat Enterprise Linux Server:

$ sudo subscription-manager list --installed

Убедитесь, что вы используете последний второстепенный выпуск RHEL 6. Этого можно достичь, обновив систему.

sudo yum -y update

После перезагрузки и обновления.

sudo reboot

Убедитесь, что вы используете последнюю версию или RHEL 6.

$ cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 6.10 (Santiago)

После перезагрузки системы включите репозиторий Extras, который содержит пакеты preupgrade-assistant, preupgrade-assistant-ui, preupgrade-assistant-el6toel7, preupgrade-assistant-el6toel7-data и redhat-upgrade-tool:

$ sudo subscription-manager repos --enable rhel-6-server-extras-rpms
Repository 'rhel-6-server-extras-rpms' is enabled for this system.

$ sudo subscription-manager repos --enable rhel-6-server-optional-rpms
Repository 'rhel-6-server-optional-rpms' is enabled for this system.

Затем установите необходимые пакеты:

sudo yum -y install redhat-upgrade-tool preupgrade-assistant preupgrade-assistant-el6toel7 preupgrade-assistant-ui

Шаг 2. Выполните оценку системы RHEL 6

Затем мы оцениваем систему на предмет возможных проблем, которые могут возникнуть при обновлении до Red Hat Enterprise Linux 7. Для этой цели используется помощник перед обновлением ( команда preupg ).

Запустите команду preupg, чтобы оценить вашу систему RHEL 6.

sudo preupg

Когда вас спросят, хотите ли вы продолжить, ответьте y.

The Preupgrade Assistant is a diagnostics tool
and does not perform the actual upgrade.
Do you want to continue? [Y/n]
y

Результаты выполненного теста выводятся в стандартный вывод командной строки вместе с его результатом.

....
Gathering logs used by the Preupgrade Assistant:
All installed packages                                 : 01/10 ...finished (time 00:00s)
All changed files                                      : 02/10 ...finished (time 00:47s)
Changed config files                                   : 03/10 ...finished (time 00:00s)
All users                                              : 04/10 ...finished (time 00:00s)
All groups                                             : 05/10 ...finished (time 00:00s)
Service statuses                                       : 06/10 ...finished (time 00:00s)
All installed files                                    : 07/10 ...finished (time 00:02s)
All local files                                        : 08/10 ...finished (time 00:03s)
All executable files                                   : 09/10 ...finished (time 00:00s)
Red Hat signed packages                                : 10/10 ...finished (time 00:00s)
Assessment of the system, running checks / SCE scripts:
001/140 ...done    (Configuration files to be reviewed) (time: 00:02s)
002/140 ...done    (File lists for the manual migration) (time: 00:00s)
003/140 ...done    (Bacula Backup Software) (time: 00:00s)
004/140 ...done    (MySQL configuration) (time: 00:00s)
005/140 ...done    (MySQL data stack) (time: 00:00s)
006/140 ...done    (Changes related to moving from MySQL to MariaDB) (time: 00:00s)
007/140 ...done    (PostgreSQL) (time: 00:00s)
008/140 ...done    (GNOME desktop environment) (time: 00:00s)
009/140 ...done    (KDE desktop environment) (time: 00:00s)
010/140 ...done    (POWER6 processors) (time: 00:00s)
.....

Файл отчета об оценке будет храниться в /root/preupgrade/result.html :

....
|Moving openssh-keycat                                                                         |needs_inspection  |
|Changed configuration files                                                                   |needs_inspection  |
|Changes in utilities                                                                          |needs_inspection  |
|Obsolete RPM packages                                                                         |needs_inspection  |
|httpd                                                                                         |needs_inspection  |
|Binaries to be rebuilt                                                                        |needs_inspection  |
|Libraries with their soname bumped                                                            |needs_inspection  |
|Removed .so libraries                                                                         |needs_inspection  |
|Ethernet interface naming                                                                     |needs_inspection  |
|Python packages                                                                               |needs_inspection  |
|Repositories for Kickstart                                                                    |needs_inspection  |
|Incorrect usage of reserved UIDs and GIDs                                                     |needs_inspection  |
|Configuration files to be reviewed                                                            |needs_action      |
|MySQL configuration                                                                           |needs_action      |
|Packages not signed by Red Hat                                                                |needs_action      |
|Removed RPM packages                                                                          |needs_action      |
|"not-base" channels                                                                           |needs_action      |
|Removing sandbox from SELinux                                                                 |needs_action      |
|GRUB to GRUB 2 migration                                                                      |needs_action      |
|Enabled and disabled services in Red Hat Enterprise Linux 6                                   |needs_action      |
|The /etc/rc.local and /etc/rc.d/rc.local files                                                |needs_action      |
|The cgroups configuration compatibility                                                       |needs_action      |
|GNOME desktop environment                                                                     |fail              |
-------------------------------------------------------------------------------------------------------------------
The tarball with results is stored in '/root/preupgrade-results/preupg_results-210129180616.tar.gz' .
The latest assessment is stored in the '/root/preupgrade' directory.
Summary information:
We have found some critical issues. In-place upgrade or migration is not advised.
Read the file /root/preupgrade/result.html for more details.
Please ensure you have backed up your system and/or data
before doing a system upgrade to prevent loss of data in
case the upgrade fails and full re-install of the system
from installation media is needed.
Upload results to UI by the command:
e.g. preupg -u http://example.com:8099/submit/ -r /root/preupgrade-results/preupg_results-210129180616.tar.gz .

Отчет можно просмотреть в веб-браузере.

sudo firefox file:///root/preupgrade/result.html

Чтобы просмотреть обнаруженные ЧРЕЗВЫЧАЙНЫЕ риски обновления, используйте команду

sudo preupg --riskcheck --verbose

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

Шаг 3. Обновите RHEL 6 до RHEL 7

Перед выполнением обновления вашей системы с помощью Red Hat Upgrade Tool убедитесь, что вы сделали резервную копию всех своих данных, чтобы избежать возможной потери данных.

Войдите на портал загрузок Red Hat и загрузите RHEL 7 DVD ISO. Мы будем использовать его в качестве установочного носителя во время обновления.

Вот расположение моего файла.

Сделайте резервную копию нескольких важных файлов конфигурации.

sudo mkdir /root/backups
sudo cp /etc/{shadow,gshadow} /root/backups
sudo cp /etc/grub.conf /root/backups

Запустите инструмент redhat-upgrade-tool, чтобы загрузить пакеты, необходимые для обновления до RHEL 7.

Чтобы обновить систему с помощью образа ISO, укажите путь к образу ISO после параметра --iso .

sudo redhat-upgrade-tool --iso ~/rhel-server-7.9-x86_64-dvd.iso

Для завершения установки необходимо перезагрузить систему.

sudo reboot

Убедитесь, что система обновлена ​​до RHEL 7:

$ cat /etc/redhat-release

Если ваша система RHEL 6 имела надлежащую регистрацию и подписку на RHSM, процесс обновления должен был автоматически привести к повторной подписке на RHEL 7.

$ sudo yum repolist

Обновление с GRUB Legacy до GRUB 2:

sudo yum remove grub
sudo yum install grub2

Проверьте свое загрузочное устройство:

$ sudo lsblk

Сгенерируйте конфигурации grub2.

sudo grub2-install --grub-setup=/bin/true /dev/device
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Шаг 4. Обновите RHEL 7 до RHEL 8

Включите базовые, дополнительные и дополнительные репозитории:

sudo subscription-manager repos --enable rhel-7-server-rpms
sudo subscription-manager repos --enable rhel-7-server-extras-rpms
sudo subscription-manager repos --enable rhel-7-server-optional-rpms

Настройте диспетчер подписки Red Hat на использование последнего содержимого RHEL 7:

sudo subscription-manager release --unset

Очистить блокировку пакета

sudo yum versionlock clear

Убедитесь, что у вас установлен языковой стандарт системы en_US.UTF-8:

$ cat /etc/locale.conf

Обновите все пакеты до последней версии RHEL 7:

sudo yum update
sudo reboot

Установите утилиту Leapp:

sudo yum install leapp leapp-repository

Загрузите дополнительные необходимые файлы данных (изменения пакетов RPM и сопоставление репозиториев RPM), прикрепленные к статье базы знаний.  Данные, необходимые утилите Leapp для обновления на месте с RHEL 7 до RHEL 8,  и поместите их в  /etc/leapp/files/ каталог.

Выполните этап перед обновлением:

sudo leapp preupgrade

Вручную отредактируйте  /var/log/leapp/answerfile файл, раскомментируйте  confirm строку файла, удалив  # символ, и подтвердите свой ответ как  True или  False. Также изучите отчет в файле /var/log/leapp/leapp-report.txt и устраните все обнаруженные проблемы, прежде чем приступить к обновлению на месте с RHEL 7 до RHEL 8.

Запустите процесс обновления:

sudo leapp upgrade

После обновления перезагрузите систему:

sudo reboot

Убедитесь, что текущая версия ОС — Red Hat Enterprise Linux 8:

$ cat /etc/redhat-release

Проверить список продуктов и версию выпуска

$ sudo subscription-manager list --installed
$ sudo subscription-manager release

Отключите диспетчер подписки Red Hat для использования последнего содержимого RHEL:

sudo subscription-manager release --unset

Обновите до последней версии RHEL.

sudo  yum update

Перезагрузить систему.

sudo reboot

Если вам повезет, у вас должна быть обновленная рабочая система RHEL 8 с RHEL 6. Как было сказано ранее, мы настоятельно рекомендуем новую установку RHEL 8 и планирование миграции приложений вместо двухэтапного процесса обновления на месте. Многие вещи могут пойти не так, что приведет к невозможности загрузки системы. Будьте осторожны при выполнении операций, описанных в этой статье.