Прекращение поддержки CentOS 8 и переход к модели непрерывных обновлений в CentOS Stream заставили корпоративных заказчиков искать альтернативные решения. Мы написали пошаговую инструкцию по переходу на RockyLinux или AlmaLinux — популярные бесплатные дистрибутивы, бинарно совместимые с RedHat Enterprise Linux (RHEL).

Системы с коротким жизненным циклом или развивающиеся по модели rolling release непригодны для создания развитой корпоративной инфраструктуры: в них слишком многое может пойти не так после очередного обновления. Помимо CentOS существуют и другие дистрибутивы Linux с длительной поддержкой (к примеру, Ubuntu Server LTS), но миграция на них потребует серьезных трудозатрат. Если у вас много физических и виртуальных машин, лучше выбрать бинарно совместимое с RHEL решение, чтобы переход с CentOS 8 оказался простым и безболезненным. 

Мы остановились на бесплатных серверных дистрибутивах AlmaLinux и RockyLinux: первый создан компанией CloudLinux, а второй развивает создатель CentOS Грегори Курцер вместе с сообществом разработчиков. Поддерживать их планируют в течение 10 лет, т.е. весь цикл разработки оригинального RHEL 8.

Полная бинарная совместимость означает, что установленные в CentOS 8 или RHEL 8 прикладные программы продолжат работать на AlmaLinux и Rocky Linux без изменений — это отличная альтернатива, если вы не хотите платить за поддержку RedHat, в которую, напомним, входит и получение бинарных обновлений (бесплатно распространяются только исходные тексты). Ниже представлен вариант миграции, использующийся в компании HOSTKEY.

Шаг 1. Выполните резервное копирование

Перед началом миграции лучше сделать резервную копированию всего сервера или хотя бы важных каталогов. В отлаженных инфраструктурах процесс автоматизирован (есть рабочие процедуры Backup & Deploy), но во время миграции на другой дистрибутив стоит соблюдать максимальную осторожность.

Шаг 2. Проверьте соответствие версий

Перед запуском скрипта миграции следует проверить версию CentOS, которая должна быть не ниже 8.3. В противном случае придется прописать адреса зеркал с пакетами для обновления и выполнить команду dnf update -y (образы CentOS можно скачать по ссылке). Система обновится до версии CentOS Linux release 8.5.2111.

В ином случае возникнет ошибка:

Шаг 3. Добавьте зеркала, если ваша система младше CentOS 8.3

Если вы давно не обновляли ОС, необходимо добавить архивные зеркала для CentOS 8, используя следующие команды:

AlmaLinux:

sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*
sudo sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*

RockyLinux:

sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*
sudo sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*

Шаг 4. Скачайте скрипт для миграции

AlmaLinux:

cd /tmp
curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh

RockyLinux:

cd /tmp
curl -O https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh

Шаг 5. Предоставьте скрипту права на выполнение (execute)

AlmaLinux:

chmod +x almalinux-deploy.sh 

RockyLinux:

chmod +x migrate2rocky.sh

Шаг 6. Запустите скрипт загрузки и установки пакетов

AlmaLinux:

sudo bash almalinux-deploy.sh

RockyLinux:

sudo bash migrate2rocky.sh -r 

Ниже показан пример предварительной проверки перед миграцией. Проблем с зависимостями пакетов и версией операционной системы не возникает:

Шаг 7. Завершите установку и перезагрузите компьютер

В случае успешной установки появится следующее сообщение:

AlmaLinux:

RockyLinux:

После завершения установки следует перезагрузить систему командой reboot. В случае успешной миграции новый дистрибутив будет присутствовать в списке на этапе загрузки системы и выбора ядра.

AlmaLinux:

RockyLinux:

Шаг 8. Проверьте отсутствие ошибок

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

cat /etc/redhat-release #позволяет проверить переход на AlmaLinux и RockyLinux
dmesg #проверка аппаратных ошибок
journalctl #ошибки в системе

Шаг 9. Проверьте работу сервисов

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

Шаг 10. Дополнительные действия для Rocky Linux

Если переносится система с графическим интерфейсом, то при миграции с CentOS на Rocky Linux могут возникнуть проблемы (скрипт Alma более надежен). В процессе выполнения сценария возможны проблемы с установкой пакетов, при этом старые пакеты CentOS будут испорчены. 

Необходимо проверить версию системы указанными ниже командами:

cat /etc/os-release
cat /etc/redhat-release

Если возникла ошибка, будет выведено сообщение:

Unable to detect release version (use '--releasever' to specify release version

Аналогичное сообщение вы получите при попытке выполнить команду:

dnf makecache & dnf update

Решить проблему поможет частичный откат системы CentOS с установкой пакетов из архивного зеркала vault. Необходимо скачивать пакеты установленной у вас версии дистрибутива (см. Шаг 2). В нашем случае использовалась CentOS version 8.5.2111. 

Выполните следующую последовательность команд:

cd /tmp
wget https://vault.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-release-8.5-1.2111.el8.noarch.rpm
wget https://vault.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-repos-8-3.el8.noarch.rpm
wget https://vault.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-gpg-keys-8-3.el8.noarch.rpm
rpm -ivh ./centos-gpg-keys-8-3.el8.noarch.rpm  --force
rpm -ivh ./centos-linux-release-8.5-1.2111.el8.noarch.rpm ./centos-linux-repos-8-3.el8.noarch.rpm --force

Перед выполнением скрипта миграции предварительно установите все зависимости. Мы получили список из 6 проблемных пакетов:

Error: Check discovered 6 problem(s)
anaconda-gui-33.16.5.6-1.el8.x86_64 has missing requires of system-logos
firefox-91.4.0-1.el8_5.x86_64 has missing requires of redhat-indexhtml
gdm-1:40.0-15.el8.x86_64 has missing requires of system-logos
gnome-session-3.28.1-13.el8.x86_64 has missing requires of system-backgrounds
gnome-session-3.28.1-13.el8.x86_64 has missing requires of system-logos
plymouth-graphics-libs-0.9.4-10.20200615git1e36e30.el8.x86_64 has missing requires of system-logos

Пришлось установить 3 пакета:

yum install system-logos
yum install system-backgrounds
yum install redhat-indexhtml

После выполнения указанных действий по устранению проблем с зависимостями необходимо повторить процедуру начиная с Шага 6.

Выводы

Процесс  миграции с CentOS 8 на AlmaLinux не требует значительных затрат времени, а также позволяет получить стабильную ОС без изменений инфраструктуры. При переходе на Rocky Linux могут возникнуть легко разрешимые проблемы. Оба дистрибутива-клона основаны на свободно распространяемых исходных текстах RHEL 8, а все отличие между ними сводится к поддержке. Наличие корпоративного разработчика AlmaLinux может насторожить часть сообщества, несмотря на заверения представителей CloudLinux в независимости проекта.


Кстати, при размещении ваших серверов в дата-центрах Москвы или Западной Европы мы в HOSTKEY всегда поможем с бесшовной миграцией, переездом и любым необходимым обслуживанием. Например, в Нидерландах можно арендовать стойки вместе с с полным комплексом услуг по поддержке вашей ИТ-инфраструктуры. Даже из России, ведь наши специалисты все сделают сами. А платить за услуги по-прежнему можно в рублях.

Комментарии (19)


  1. litos
    02.05.2022 02:41
    +1

    Кстати, у кого есть опыт использовать CentOS 8 Stream? Сильно при этом система становятся нестабильной? Ведь в нём пакеты появляются просто раньше чем в RHEL8, но как бы сама ОС это уже и так достаточно старые версии проверенные временем, хотя сломать тем более в тестовом полигоне можно всё что угодно. Сложно ли перейти на него с CentOS 8?

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


    1. skywalk7
      02.05.2022 03:12

      Сильно при этом система становятся нестабильной?

      Нет, не сильно. Были проблемы один раз с драйверами от Nvidia - kernel panic. Если ничего специфического (топовые сетевухи, райд контроллеры и прочее) нет, то волноваться не надо. Да и на дорогих системах все равно надо сидеть на поддерживаемых дистрибутивах, а не экономить 3 копейки.

      Сложно ли перейти на него с CentOS 8?

      Вообще нет - поменять репозитории и сделать distro-sync

      Просто может быть есть кейсы, когда вполне можно не менять дистрибутив, а остаться на продукте от RedHat

      Смысла переходить на новые непроверенные дистрибутивы нет.


    1. ZlobniyShurik
      02.05.2022 04:54
      +3

      Возможно, это мне так не повезло или просто руки кривые. В общем, я попытался использовать CentOS 8 Stream на паре десятков домашних виртуалок (почтовик, базы данных, сайт, мониторинг, e.t.c.). Точнее, пропустил момент, когда просто CentOS 8 мутировал в Stream.

      Так вот, если раньше всё апдейтилось автоматом и требовало ручного вмешательства где-то раз в год на виртуалку (какой-то пакет с другим конфликтовать начал, права слетели, e.t.c.), то на стриме приходилось вмешиваться чуть ли не раз в пару недель на некоторых из виртуалок. Что мне очень сильно не понравилось - привык, понимаешь ли, что оно всё на автопилоте пашет годами.

      В общем, не поленился, перенёс всё на Alma Linux (Rocky тогда ещё не вышел). Причём поставил с нуля, благо, все конфиги/настройки забэкаплены и тщательно документированы.

      Итог - оно всё снова просто работает и моих вмешательств не требует, апдейты качаются и ставятся автоматом (да, я осознаю риск).


    1. 13oz
      02.05.2022 10:06
      +1

      Просто может быть есть кейсы, когда вполне можно не менять дистрибутив, а остаться на продукте от RedHat

      Тебе нужны причины для того, что бы остаться на нормальном дистре, а переход под крыло copycats - это дефолт? Нуок.


  1. sden77
    02.05.2022 08:05
    +1

    Уже год как на домашнем сервере переешел с Centos на Oracle - пока впечатления сугубо положительные, вернее ничем не отличаются от таковых на Centos


    1. 13oz
      02.05.2022 10:05
      +3

      Что вполне ожидаемо, т.к. оракел вообще ничего не делает, просто меняет название дистрибутива и релиза.


      1. 13werwolf13
        04.05.2022 10:46

        не только, по дефолту у них идёт своё анбрекабл ядро, и вот с ним есть нюансы. не все драйвера работают (например интел челсио сетёвки).


  1. Kirikekeks
    02.05.2022 08:37
    -2

    А РЭД ОС почему забыли? Если брать документацию к дистрибутиву- то одна из самых грамотных по Шляпе. Грамотная документация- грамотные мэйнтейнеры и дистрибьютеры. В выше перечисленных близко нет. А с точки зрения версий- по мне что мезозой, что палеолит, без разницы. Если цель смены - "что бы не читать и не думать" так ставьте винду, и крякайте. Разницы нет.


    1. udarnik386
      02.05.2022 14:37
      +1

      Не забыли, здесь речь о конкретном кейсе, в котором нужна бинарная совместимость. То-есть, если вам буквально нужен RHEL, но без инфраструктуры редхат, то выбор ограничен. "Забыли", в этом контексте, разве что Oracle Linux.

      В остальном, каждый самостоятельный настоящий дистрибутив, в котором не просто "обои от убунты поменяли", а действительно проделали инженерную работу, интересен. В том числе и РЕД ОС.


  1. 13oz
    02.05.2022 10:04

    Но зачем?..


    1. zorn-v
      02.05.2022 17:13
      +1

      Булка хлеба + Троллейбус.jpg

      Но вообще, ынтерпрайз показал свое литсо (россия иди нахуй).

      IBM (текущий владелец RedHat) в их числе.

      Так что очевидно, чтобы не зависеть.


      1. spelesto
        02.05.2022 18:47
        -3

        А не пойти ли тебе самому туда, умник?


      1. 13oz
        02.05.2022 18:59

        Что, кто-то запретил пользоваться центосью? А федору, федору-то не запретили еще?


        1. zorn_v
          03.05.2022 16:28

          Ну это мы, обычные пользователи, все знаем и можем мигрировать без проблем.

          А конторы которые подписались на поддержку редхат какбе в пролете.

          ЗЫ: Я вообще дебианщик )


          1. 13oz
            03.05.2022 21:26

            А конторы которые подписались на поддержку редхат какбе в пролете.

            Интересно, а это-то тут при чем? На центось никакая поддержка не распространяется


  1. Holser
    03.05.2022 09:45

    Бесплатный сыр только в мышеловке. Предлагать ставить бинарно совместимый дистрибутив энтерпрайсу это то же самое, что предлагать купить копию мерседеса собранную в гараже. При любой мало мальской проблеме решение будут искать на сайте RedHat, и звонить в тех. поддержку RedHat. Я вот уже представляю как создатели Alma или Rocky выпускают решения для закрытия CVE типа Spectre. Есть дистрибутив RHEL, который ценен именно своей поддержкой.


    1. ULP
      03.05.2022 11:01
      +2

      мне всегда было интересно - кто-нибудь звонил в поддержку Redhat? Или это как обычно разговор по кругу с 5 индусами ни о чем с обещаниями обязательно посмотреть и пустой 999% тратой времени своего админа на всякую ерунду (microsoft style)?


      1. krids
        04.05.2022 18:16

        В моем случае если вдруг индус обрабатываваший критичный кейс начинал подтупливать, то сразу звонил местному российскому аккаунт-менеджеру и через пару-тройку часов в кейс приходил или более правильный индус или "Джон из Техаса". Правда это premium-support, специфический солюшен и заказчик на "особом счету".


        1. ULP
          04.05.2022 22:18

          а как теперь-то жить дальше будете?