どうもこんにちは、Clefable_Tです。
今回は、RHEL9にアップグレード完了後、再起動を実施するのですが、その再起動が完了せず、結果的にVMが使用できなくなる。といった現象に直面したので、この対処方法について共有させていただければと思います。
免責事項
本記事の内容はあくまで個人の一意見です。
ですので本記事を参照し、実環境で作業を実施後、何らかの問題が生じた場合、筆者及び筆者所属会社は当該事象について責任を負いません。
※絶対個々人で検証、リハーサルしてね。という意味です
エンジニアであれば当然のようにするとは思いますが、念のため・・・
前提
Azureの仮想マシンで Gen1(世代1) をお使いの方
本事象の原因
UEFIのブートオプションを使用して仮想マシンを起動しているから。となります。
これが原因でハングが起きるそうです・・・
Gen1のVMではUEFIを使用していることがあり、この状態でRHEL9へアップグレードを行い、再起動を行うと再起動が失敗します。
なので、起動時にUEFI採用させなければ再起動は問題無く完了します。(あくまで一例に過ぎないので個々人で検証は必ず行うようにしてください)
※すべてのGen1のVMがUEFIを使用しているわけでもないようです。実際に下記のようなことがありました。
A環境のVM → UEFIを採用していない
B環境のVM → UEFIを採用していた
対処方法
さて、本事象の対処方法を記載します。
- まずは、下記コマンドを実施してブート時に参照されるパーティション情報を確認してください。
■実行コマンド
sudo -i blkid
以下が実行結果です。
dev/sda1 の設定に PARTLABEL="EFI System Partition" の設定があると思います。この確認を以て、作業対象のVMはUEFIを使用してVMを起動しているということが分かります。
上記の確認に加えて、ブート時に参照されるパーティション(本記事では dev/sda1 )のUUIDの情報も控えるようにしておいてください。(本記事では UUID="926F-xxxx" )
■実行結果
/dev/sda1: SEC_TYPE="msdos" UUID="926F-xxxx" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
/dev/sda2: UUID="uuid" BLOCK_SIZE="4096" TYPE="xfs" PARTUUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
/dev/sda4: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" TYPE="LVM2_member" PARTUUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
※今回は/dev/sda1で作業してますが、ブートで使用されるパーティションは環境によって異なると思いますので、設定時には必ず確認するようにしてください。
上記が無ければそのままアップグレード対応しても、再起動は問題無く完了します。
- システム起動時にマウントされるファイルシステムの設定を変更していきます。まずは /etc/fstab の設定内容を確認します
■実行コマンド
cat /etc/fstab
■実行結果
先程 sudo -i blkid でパーティション情報を確認する際に、控えておいた dev/sda1 のUUIDがコンフィグ内に存在することを確認します。
本記事では UUID="926F-xxxx" です。確かに存在していますね。
/dev/mapper/rootvg-rootlv / xfs defaults 0 0
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /boot xfs defaults 0 0
UUID=926F-xxxx /boot/efi vfat defaults,uid=0,gid=0,umask=0077,shortname=winnt 0 0
…
/dev/mapper/rootvg-varlv /var xfs defaults 0 0
- 確認が済みましたら、viエディタを起動して、実際に設定変更していきます。
■実行コマンド
vi /etc/fstab
先程確認した dev/sda1 の UUID="926F-xxxx" の部分をコメントアウトして、読み込ませないようにします。
/dev/mapper/rootvg-rootlv / xfs defaults 0 0
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /boot xfs defaults 0 0
# UUID=926F-xxxx ←ここです /boot/efi vfat defaults,uid=0,gid=0,umask=0077,shortname=winnt 0 0
…
/dev/mapper/rootvg-varlv /var xfs defaults 0 0
- あとは通常通りRHEL9 に向けてアップグレード作業を実施いただければOKです
最後に
再起動で終わりだー!やったー!と思っていたら、再起動が完了せずに、結果的にVMが使えなくなり、完全オワタ /(^o^)\ という惨劇を味わいました。
イヤーこれ、検証の段階で遭遇して、対処出来たのが本当に救いでしたねぇ・・・
検証はしつこいほどやった方がよい。これに尽きそうですね。
この記事がどなたかのお役に立てれば光栄です。
最後までお読みいただきありがとうございました。