XENベースの Rocky Linux 8アップデート後の起動不具合点検

Prev Next

VPC環境で利用できます。

Xenベースの Rocky Linux 8 VMで dnf(yum) updateにパッケージを全体アップデートした後、再起動時に起動せず GRUBプロンプトに進入する現象が発生します。

参考

この問題は XENベースの Rocky Linux 8環境でのみ発生し、特に8.10バージョンの最新の grub2パッケージがインストールされた場合に発生します。
一方、KVMハイパーバイザベースの Rocky Linux 8および Rocky Linux 9環境では、当該問題は発生しません。

注意

NAVERクラウドプラットフォームでは、OS全体パッケージのアップデート実行をお勧めしません。
カーネルパッチやパッケージアップデートを実行する前には必ずマイサーバイメージを作成して十分に検証し、実際のサービスに適用します。
OSのアップデートにより発生する問題はお客様の責任の領域であり、これにより発生した問題についてはテクニカルサポートは提供されません。
本ガイドはテクニカルサポートを目的とするものではなく、お客様が自ら問題を解決するための参考用のガイドです。

問題現象の再現方法

  1. サーバにリモートでアクセスします。

  2. OS全体パッケージをアップデートします。

    参考

    Rocky Linux 8での dnf updateは、Ubuntu OSの apt updateとは完全に異なるコマンドです。
    Ubuntuで使用する apt updateは、OS Package Repositoryの Meta情報を最新ステータスに更新するコマンドであり、apt関連のコマンドを実行する前に毎回実行する必要があります。
    dnf(または yum)updateは、Rocky Linux OSの全体パッケージを最新にアップデートするコマンドであり、当該コマンドを実行すると以前のバージョンへの復元(ロールバック)が難しいため、必ず慎重に実行する必要があります。

    [root@xen-rockylinux810 ~]# dnf update
    Rocky Linux 8 - AppStream                                                                                                                                          97 MB/s |  18 MB     00:00
    Rocky Linux 8 - BaseOS                                                                                                                                             80 MB/s |  24 MB     00:00
    Rocky Linux 8 - Extras                                                                                                                                            1.6 MB/s |  15 kB     00:00
    Dependencies resolved.
    ==================================================================================================================================================================================================
     Package                                               Architecture                    Version                                                           Repository                          Size
    ==================================================================================================================================================================================================
    Installing:
     kernel                                                x86_64                          4.18.0-553.53.1.el8_10                                            baseos                              10 M
     kernel-core                                           x86_64                          4.18.0-553.53.1.el8_10                                            baseos                              43 M
     kernel-devel                                          x86_64                          4.18.0-553.53.1.el8_10                                            baseos                              24 M
     kernel-modules                                        x86_64                          4.18.0-553.53.1.el8_10                                            baseos                              36 M
     kernel-modules-extra                                  x86_64                          4.18.0-553.53.1.el8_10                                            baseos                              11 M
    Upgrading:
    ... 省略 ...
     grub2-common                                          noarch                          1:2.02-165.el8_10.rocky.0.1                                       baseos                             897 k
     grub2-pc                                              x86_64                          1:2.02-165.el8_10.rocky.0.1                                       baseos                              47 k
     grub2-pc-modules                                      noarch                          1:2.02-165.el8_10.rocky.0.1                                       baseos                             929 k
     grub2-tools                                           x86_64                          1:2.02-165.el8_10.rocky.0.1                                       baseos                             2.0 M
     grub2-tools-extra                                     x86_64                          1:2.02-165.el8_10.rocky.0.1                                       baseos                             1.1 M
     grub2-tools-minimal                                   x86_64                          1:2.02-165.el8_10.rocky.0.1                                       baseos                             215 k
    
    ... 以下省略...
    
  3. アップデート後に VMを再起動します。

    [root@xen-rockylinux810 ~]# sync;reboot
    
  4. サーバが正常に起動しない場合、MCコンソールでサーバアクセスコンソールを確認します。
    xen_rockylinux8_01

    xen_rockylinux8_02

grubに進入する現象を緩和する方法

  1. OS全体パッケージをアップデート(dnf update)するコマンドを実行しません。
  2. もし grub2パッケージが再インストールされた場合、grub2-installコマンドで GRUBを再インストールします。
    [root@xen-rockylinux810 ~]# grub2-install /dev/xvda
    

既に grubに進入したステータスで OSを起動する方法

  1. ファイルシステムが正常なステータスであるか確認します。
    xen_rockylinux8_03

  2. 起動するカーネルバージョンおよび関連ファイルを点検します。
    xen_rockylinux8_04

  3. 以下の GRUBコマンドを入力して起動を試みます。

    参考

    以下の例で使用するカーネルは4.18.0-553.53.1.el8 10.x86 64です。
    起動できるカーネルであれば、当該バージョンではなく他のバージョンを選択しても問題ありません。

    grub> set root=(hd0,msdos1)
    grub> linux /vmlinuz-4.18.0-553.53.1.el8_10.x86_64 root=/dev/xvda2 ro
    grub> initrd /initramfs-4.18.0-553.53.1.el8_10.x86_64.img
    grub> boot
    
  4. 起動が正常に完了したら、サーバにログインして GRUBファイルを再インストールします。

    # grub2-install /dev/xvda
    

    MCコンソールで強制停止ボタンをクリックして VMを終了した後、再起動すると運用中のステータスに切り替わります。

  5. 上記の方法でも起動しない場合、当該 VMのスナップショットを作成し、別の VMにスナップショットをマウントしてデータをコピーします。
    サーバ復旧不可時に、スナップショットによるデータ復旧方法ガイドをご参照ください。