AlmaLinux 10.0 アップグレード備忘録

Server
Photo by hyt.

AlmaLinux 10.0 アップグレード備忘録です.

引越しでものすごく忙しかったのと,ネット環境含む生活環境が激変したことから,ものすごく久しぶり(半年以上ぶり)の投稿です.

はじめに

まず,注意として,公式のアップグレードについての情報は,

Elevate by AlmaLinux
elevate content

にありますが,

CentOS7 から順番にアップグレードした場合は前準備が必要

です.

TECHNICAL MASTER はじめてのAlmaLinux 9 & Rocky Linux 9 Linuxサーバエンジニア入門編
オープンソースのサーバOSの標準がAlmaLinuxとRocky Linuxになりました。最新のRed Hat Enterprise Linux 9をベースとした、このOSに対応した、Linuxサーバエンジニアのための入門書です。Linux...

前提環境

上にも書きましたが,CentOS7 から AlmaLinux 9 にアップグレードした Hyper-V 上で運用している環境を AlmaLinux 10 にアップグレードしました.

手順

ほぼ公式

Elevate by AlmaLinux
elevate content

に示されている手順通りです.

Rocky Linux 9 & AlmaLinux 9 実践ガイド[サーバ構築編] impress top gearシリーズ
「 」 AlmaLinux 9/Rocky Linux 9の運用管理、サーバ構築にかかわるシステム管理者を対象に、従来型のデータベース、Webサーバ、メールといったサーバ構築から最先端の仮想化、コンテナ基盤、IaS、GPU・AIサーバ、とい...

アップグレード前の準備

アップグレード作業に入る前に,公式の Known Issues に従って,次の3つの作業を行なっておかなければなりません.

  1. “Deprecated DHCP plugin configured” エラー対策
  2. “dracut module ‘network-legacy’ cannot be found or installed.” エラー対策

なお,もう一つ Grub のコンソール出力のチェックをするよう公式には案内がありますが,これはヘッドレス環境とかでない限り,引っかかることはないと思います.

“Deprecated DHCP plugin configured” エラー対策

ターミナルから以下を実行します.

$ sudo nmcli conn migrate
Connection 'eth0' (20868717-7bbd-4d6e-bad3-c51cc50e64cb) successfully migrated.
Connection 'lo' (206c553c-8eea-4cf9-9351-6a5b1f04ade5) successfully migrated.

$ sudo nmcli connection modify eth0 ipv4.dhcp-timeout 30 ipv6.dhcp-timeout 30
$ sudo nmcli connection modify lo ipv4.dhcp-timeout 30 ipv6.dhcp-timeout 30
$ sudo sed -i'.bak' 's/^dhcp=dhclient//g' /usr/lib/NetworkManager/conf.d/10-dhcp-dhclient.conf
$ sudo systemctl restart NetworkManager

$ sudo NetworkManager --print-config # 設定のチェック
.....

この対策は実行しないと,アップグレードを前のチェックに引っかかり,アップグレード自体が開始されません.

“dracut module ‘network-legacy’ cannot be found or installed.” エラー対策

ターミナルから以下を実行します.

$ sudo rm -f /etc/dracut.conf.d/50-network-legacy.conf

ここの対策は実行していなくてもアップグレードができます.しかし,再起動時に initramfs が見つからない旨のエラーが表示され,OS が立ち上がりません.この場合は,アップグレード前の旧カーネルを起動時に選択すれば立ち上がりますので,上記対策を行なったのち,dracat コマンドで initramfs を構築し直す必要があります.

旧 leapp パッケージの削除

公式には明示的には記されていません(全体をよく読めばわかることではある)が,古い leapp パッケージを削除しておく必要があります.

$ rpm -qa | grep leapp
leapp-repository-deps-el9-5.0.9-100.202401121819Z.0e51aebb.master.el9.noarch
leapp-deps-el9-5.0.9-100.202401121819Z.0e51aebb.master.el9.noarch

$ sudo dnf -y remove leapp-*
....
削除しました:
  leapp-deps-el9-5.0.9-100.202401121819Z.0e51aebb.master.el9.noarch
  leapp-repository-deps-el9-5.0.9-100.202401121819Z.0e51aebb.master.el9.noarch

完了しました!
TECHNICAL MASTER はじめてのAlmaLinux 9 & Rocky Linux 9 Linuxサーバエンジニア入門編
オープンソースのサーバOSの標準がAlmaLinuxとRocky Linuxになりました。最新のRed Hat Enterprise Linux 9をベースとした、このOSに対応した、Linuxサーバエンジニアのための入門書です。Linux...

アップグレード手順

ここからは公式

ELevating CentOS 7 to AlmaLinux 10 | AlmaLinux Wiki
AlmaLinux OS Documentation

の手順通りです.

elevate-release パッケージの導入

$ sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm

leapp package の導入

$ sudo yum install -y leapp-upgrade leapp-data-almalinux

preupgrade check を実行

アップグレード前のチェックです.

$ sudo leapp preupgrade

結果は,

============================================================
                      REPORT OVERVIEW
============================================================

Upgrade has been inhibited due to the following problems:
    1. Detected XFS filesystems incompatible with target kernel.

HIGH and MEDIUM severity reports:
    1. The /etc/pki/tls/openssl.cnf file is modified and will be replaced during the upgrade.
    2. Detected custom leapp actors or files.
    3. Packages not signed by Red Hat found on the system
    4. Berkeley DB (libdb) has been detected on your system

Reports summary:
    Errors:                      0
    Inhibitors:                  1
    HIGH severity reports:       3
    MEDIUM severity reports:     1
    LOW severity reports:        2
    INFO severity reports:       1

Before continuing, review the full report below for details about discovered problems and possible remediation instructions:
    A report has been generated at /var/log/leapp/leapp-report.txt
    A report has been generated at /var/log/leapp/leapp-report.json

============================================================
                   END OF REPORT OVERVIEW
============================================================

Answerfile has been generated at /var/log/leapp/answerfile

の様な形式で通知されますが,実際にアップデートを行うには,少なくとも Report summery の欄の Errors と Inhibitors が両方 0 でないとダメです(HIGH severity reports 以下もできればない方が良いのですが,アップグレード自体は行えます).

上の例だと,

Detected XFS filesystems incompatible with target kernel

が理由で,Inhibitators(阻害要因) が「1」となっています.つまりこのままではアップグレードできません.阻害要因の詳しい内容は /var/log/leapp/leapp-report.txt に書いてあり,上の例だと,

XFS v4 ファイルシステムのサポートがアップグレードされるカーネルのサポートから削除された(つまりファイルシステムをマウントできないので起動自体ができない)

ということで,対策としては,

ファイルシステムを XFS v4 から v5 にコンバート

することになるみたいですが,XFS v4 から v5 へのコンバートは,該当するストレージにあるシステム(データ)を丸ごとバックアップして,ファイルシステムを再構築後に丸ごと書き戻すしかなさそう…….正直,なら新規に環境を構築し直した方がどう考えても手間がかからないので,この例の環境については Ver.10 への移行はしないこととしました.

アップグレードの実行

アップグレードはターミナルから以下を実行します.

$ sudo leapp upgrade

ひととおりパッケージのダウンロードやインストールが完了すると,ターミナルに戻ってきますので,

$ sudo reboot

として再起動すると,Grub から ELevate-Upgrade-Initramfs が読み込まれアップグレード処理が引き続き行われ,ふたたび再起動してアップグレード終了です.

アップグレードの確認

アップグレードできたことを確認する方法は以下の通りです.

$ cat /etc/redhat-release
AlmaLinux release 10.0 (Purple Lion)

$ cat /etc/os-release
NAME="AlmaLinux"
VERSION="10.0 (Purple Lion)"
ID="almalinux"
ID_LIKE="rhel centos fedora"
VERSION_ID="10.0"
PLATFORM_ID="platform:el10"
PRETTY_NAME="AlmaLinux 10.0 (Purple Lion)"
ANSI_COLOR="0;34"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:almalinux:almalinux:10::baseos"
HOME_URL="https://almalinux.org/"
DOCUMENTATION_URL="https://wiki.almalinux.org/"
VENDOR_NAME="AlmaLinux"
VENDOR_URL="https://almalinux.org/"
BUG_REPORT_URL="https://bugs.almalinux.org/"

ALMALINUX_MANTISBT_PROJECT="AlmaLinux-10"
ALMALINUX_MANTISBT_PROJECT_VERSION="10.0"
REDHAT_SUPPORT_PRODUCT="AlmaLinux"
REDHAT_SUPPORT_PRODUCT_VERSION="10.0"
SUPPORT_END=2035-06-01

$ sudo cat /var/log/leapp/leapp-report.txt
....
$ sudo cat /var/log/leapp/leapp-upgrade.log
....

また,アップグレード後も一部旧バージョンのファイルが残っています(少なくとも旧ver のカーネルは残っているはずです).これらは,

$ rpm -qa | grep el9

とすることでリストアップできるので,

$ sudo dnf remove <package_name>

で基本的には全て削除すれば作業完了です.

TECHNICAL MASTER はじめてのAlmaLinux 9 & Rocky Linux 9 Linuxサーバエンジニア入門編
オープンソースのサーバOSの標準がAlmaLinuxとRocky Linuxになりました。最新のRed Hat Enterprise Linux 9をベースとした、このOSに対応した、Linuxサーバエンジニアのための入門書です。Linux...

おわりに

正直,RedHat Linux 7 の標準ファイルシステムの XFS で なのに,そのままではアップグレード不可,おまけにファイルシステムのコンバートも困難なんて例が起きるとは思ってもいませんでした.いまは OS も使い捨ての時代なんだから,素直に再構築を選択すべき,というメッセージなのかも知れないですね.

さて,最初に書いた通り,本記事,約半年以上ぶりの投稿です.引越しのせいでものすごく忙しかったのが理由ですが,ようやく落ち着きましたので,これからは以前と同じ程度の頻度で記事を投稿したいと思っています.

以上!

TECHNICAL MASTER はじめてのAlmaLinux 9 & Rocky Linux 9 Linuxサーバエンジニア入門編
オープンソースのサーバOSの標準がAlmaLinuxとRocky Linuxになりました。最新のRed Hat Enterprise Linux 9をベースとした、このOSに対応した、Linuxサーバエンジニアのための入門書です。Linux...
Server
スポンサーリンク
Following hyt!
タイトルとURLをコピーしました