どうもこんにちは、Clefable_Tです。
今回は任意のRHEL9へのインプレースアップグレードする方法についてお話させてください。
免責事項
本記事の内容は、クライアント環境で実際に行った実績のある作業ではあるものの、あくまで個人の一意見です。
ですので本記事を参照し、実環境で作業を実施後、何らかの問題が生じた場合、筆者及び筆者所属会社は当該事象について責任を負いません。
※絶対個々人で検証、リハーサルしてね。という意味です
エンジニアであれば当然のようにするとは思いますが、念のため・・・
前提
RHELのVMがRHEL8.xであること
下記の条件を満たしていること
背景
RHEL8.8の状態からRHEL9.2にしたかったのですが、アップグレードの準備や、アップグレードにあたっての阻害要因を取り除く中で、RHEL8.8がRHEL8.9に上がってしまったことがありました。
RHEL8.9の状態でそのままアップグレードすると、RHEL9.2ではなく、RHEL9.3になってしまいます。
これではクライアント間で取り決めたことから逸脱してしまい、まずいですよとなってしまうので、何らかの対処が必要。ということで検証を行い、対処方法を見つけた。という背景があります。
調査に協力していただいたベンダーの皆様、本当にありがとうございました。
対処方法
前置きが長くなりましたが、ここからは作業手順について説明します。
誤解や認識齟齬が無いようにしたい私のエゴで申し訳ないです。
- 作業対象のRHELのバージョンを確認します
# cat /etc/redhat-release
- 次にupgrade_paths.jsonの中身を見ます。
# cat /etc/leapp/repos.d/system_upgrade/common/files/upgrade_paths.json
下記がupgrade_paths.jsonの中身が見れます。
"8.9": ["9.3"], と "8": ["9.3"] があると思います。
この ["9.3"] の部分を ["9.2"] へコンフィグを変更してください。
viエディタで変更可能です。
# vi /etc/leapp/repos.d/system_upgrade/common/files/upgrade_paths.json
<<<----CHANGED TO 9.2 と記載のあるところが変更箇所です。
実環境には、当該文字列はございません。
"default": {
"7.9": ["8.6", "8.8", "8.9"],
"8.6": ["9.0"],
"8.8": ["9.2"],
"8.9": ["9.3"], <<<----CHANGED TO 9.2
"7": ["8.6", "8.8", "8.9"],
"8": ["9.3"] <<<----CHANGED TO 9.2
},
- コンフィグの編集が終わったら、下記コマンドでRHEL9へアップグレードにあたっての阻害要因の有無を確認して、阻害要因があれば取り除いてください
# leapp preupgrade
- 阻害要因を取り除いたら、下記コマンドでアップグレードを行ってください。アップグレードコマンドの実行が終わったらVMを再起動してください。再起動後、指定のRHEL9.xのバージョンになっていることを確認し、作業は完了です
leapp upgrade
最後に
このような状態にならないためにも、定期的にソースバージョンのロックを行うようにしてください。
阻害要因を取り除く中で、パッケージの入れ直し等が発生した時に、勝手にバージョンが8.9になりがちなので・・
# subscription-manager release --set <source_os_version>
や
# rhui-set-release --set <source_os_version>
で、対応可能です。
この記事がどなたかのお役に立てれば光栄です。
最後までお読みいただきありがとうございました。