はじめに
こんにちは。
この記事は、Microsoft Azure Tech Advent Calendar 2023 12/14 の記事です。
来年 2024/06/30 に、RHEL7 のサポートが終了します。アップグレードしなきゃなぁ、と思いつつ、まだ準備できていない方も多いのではないでしょうか。
そこで、この記事では、来年に向け、従量課金制の Azure REHL VM を用いて RHEL 7 を RHEL 8 にインプレース アップグレードする手順について検証します。
手順
1. RHEL7 VM を作成します
今回は Azure Marketplace の RHEL 7.9 最新イメージを用いて VM を新規作成し、検証します。
$ az group create -g rhel7rg -l japaneast
$ az vm create -g rhel7rg -n rhel7vm --image RedHat:RHEL:7_9:latest
既存の環境を用いて検証したい場合には、サポート チームの公式ブログ記事 VM 複製方法について part.3/3 OS ディスクのスナップショットから複製する手順 を参考に、VM を複製し検証することをお勧めします。
また、実際にプロダクション環境で実施する場合には、事前に必ずバックアップを取得しましょう。
2. パッケージを最新バージョンに更新し再起動します
# yum-config-manager --enable rhui-microsoft-azure-rhel7
# yum-config-manager --enable rhui-rhel-7-server-rhui-extras-rpms
# yum -y install rhui-azure-rhel7 leapp-rhui-azure
# yum -y update && reboot
yum update に失敗する場合には、サポート チームの公式ブログ記事 yum/dnf update に失敗する場合の原因と解決方法 を参考に、トラブルシューティングしましょう。
3. 評価レポートの作成
leapp preupgrade コマンドでアップグレード評価レポートを作成します。
--target
オプションにはアップグレード先バージョンを指定できます。今回は 8.8 にします。
# rm -f /etc/leapp/files/*
# yum -y reinstall leapp-upgrade
# leapp preupgrade --target 8.8 --no-rhsm
/var/log/leapp/leapp-report.json
, /var/log/leapp/leapp-report.txt
にレポートが作成されます。
4. 評価レポートの問題解消
アップグレードするためには、このレポートを参照し、inhibitor 扱いとなっている問題を解消する必要があります。
今回、3つの inhibitor が出力されましたので、それぞれ対処します。
詳細は Red Hat の公式ドキュメント 第4章 アップグレード前のレポートの確認 を参照することを推奨します。
1つめ
Risk Factor: high (inhibitor)
Title: Possible problems with remote login using root account
Summary: OpenSSH configuration file does not explicitly state the option PermitRootLogin in sshd_config file, which will default in RHEL8 to "prohibit-password".
Remediation: [hint] If you depend on remote root logins using passwords, consider setting up a different user for remote administration or adding "PermitRootLogin yes" to sshd_config. If this change is ok for you, add explicit "PermitRootLogin prohibit-password" to your sshd_config to ignore this inhibitor Key: 3d21e8cc9e1c09dc60429de7716165787e99515f
これは SSH で root ログインが無効化されているので、有効にします。
# sed -i -e 's/#PermitRootLogin/PermitRootLogin/' /etc/ssh/sshd_config
2つめ
Risk Factor: high (inhibitor)
Title: Leapp detected loaded kernel drivers which have been removed in RHEL 8. Upgrade cannot proceed.
Summary: Support for the following RHEL 7 device drivers has been removed in RHEL 8:
- pata_acpi
Key: f08a07da902958defa4f5c2699fae9ec2eb67c5b
これは pata_acpi カーネルモジュールが読み込まれているので、取り除きます。
# rmmod pata_acpi
3つめ
Risk Factor: high (inhibitor)
Title: Missing required answers in the answer file
Summary: One or more sections in answerfile are missing user choices: remove_pam_pkcs11_module_check.confirm
For more information consult https://red.ht/leapp-dialogs.
Remediation: [hint] Please register user choices with leapp answer cli command or by manually editing the answerfile.
[command] leapp answer --section remove_pam_pkcs11_module_check.confirm=True
Key: d35f6c6b1b1fa6924ef442e3670d90fa92f0d54b
これは Leapp 回答ファイル に回答する必要があるので、言われた通り回答します。
# leapp answer --section remove_pam_pkcs11_module_check.confirm=True
再度 leapp preupgrade --target 8.8 --no-rhsm
コマンドを実行し、inhibitor がなくなったことを確認します。
5. アップグレードの実行
# leapp upgrade --target 8.8 --no-rhsm && reboot
再起動後、redhat-release や os-release を確認し、期待通りアップグレードされていれば完了です。
# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.8 (Ootpa)
まとめ
- 2024/06/30 に、RHEL7 のサポートが終了します
- 従量課金制の Azure RHEL 7 VM は leapp を用いて RHEL 8 にインプレース アップグレードできます
- 間に合わなくなっても知らんぞーーっ!!