はじめに
centos7.8がyum update後に起動不可になったので,その対処方法をメモ
同時期にインストールしたOSで,yum update はansibleを使って同タイミングで一括更新しているにもかかわらず,5台中1台だけカーネルパニックになり起動しなくなった
適当にググって調べた限りでは,grub.confをいじって解決している記事が多く,grub2での記事を見かけなかったので投稿しました.
構成
環境 | |
---|---|
HW | vmware workstation player 15 |
OS | centos7.8 |
更新前カーネル | CentOS Linux (3.10.0-1127.el7.x86_64) 7 (Core) |
更新後カーネル | CentOS Linux (3.10.0-1127.18.2.el7.x86_64) 7 (Core) |
暫定対処
参考にさせていただいたサイトによると,grubの設定を変更して起動するカーネルを変更すれば一旦起動するとのこと
参考:
要は,起動時に読み込むカーネルバージョンを起動していたころのものにすれば,いったん起動できるとのこと
起動後にデフォルトで選択されるカーネルの変更を行う
参考にしていた記事は grub で,今回は grub2 だったため, Redhat のページを参考に下記のコマンドを実行したら起動するようになった
[root@CENTOS7NODE12 ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (3.10.0-1127.18.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1127.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-fa877117174942a9ad676067f5fe02d2) 7 (Core)
[root@CENTOS7NODE12 ~]#
[root@CENTOS7NODE12 ~]# grub2-set-default 1
参考:
本格対処
いったんは起動できるようになったが,他のマシンとカーネルバージョンが異なるのは嫌なのでカーネルの再インストールを行うことにした
カーネル情報は下記の通りとなっている.
node12 のみ古いカーネルで起動している状態である.
[root@ANSIBLE01 ansible_work]# ansible -i /etc/ansible/hosts centos7 -m command -a "uname -r"
node1 | CHANGED | rc=0 >>
3.10.0-1127.18.2.el7.x86_64
node3 | CHANGED | rc=0 >>
3.10.0-1127.18.2.el7.x86_64
node2 | CHANGED | rc=0 >>
3.10.0-1127.18.2.el7.x86_64
node11 | CHANGED | rc=0 >>
3.10.0-1127.18.2.el7.x86_64
node12 | CHANGED | rc=0 >>
3.10.0-1127.el7.x86_64
[root@ANSIBLE01 ansible_work]#
事前の状態を確認後,カーネルの再インストール
[root@CENTOS7NODE12 ~]# yum reinstall kernel
[root@CENTOS7NODE12 ~]# reboot
再インストール完了後,正常に起動するようになった.
[root@ANSIBLE01 ansible_work]# ansible -i /etc/ansible/hosts centos7 -m command -a "uname -r"
node1 | CHANGED | rc=0 >>
3.10.0-1127.18.2.el7.x86_64
node2 | CHANGED | rc=0 >>
3.10.0-1127.18.2.el7.x86_64
node3 | CHANGED | rc=0 >>
3.10.0-1127.18.2.el7.x86_64
node11 | CHANGED | rc=0 >>
3.10.0-1127.18.2.el7.x86_64
node12 | CHANGED | rc=0 >>
3.10.0-1127.18.2.el7.x86_64
[root@ANSIBLE01 ansible_work]#