yum update後にサーバーが起動しない場合の対処方法【GMOクラウド】

2020-12-10

yum update後にサーバーを再起動すると、サーバーが起動しなくなった場合

「GMOクラウド ALTUS」を契約しているCentOS 7.x のサーバーで「yum update」を行った後で再起動するとサーバーが起動しなくなりました。

サポートに連絡して対応してもらったのですが、最新のカーネルで起動するとカーネルパニックになり起動していなかったみたいです。対処方法は、最新のカーネルではなく、一つ前のカーネルで起動すれば起動すると起動するとの事でした

起動時に下記のような起動画面でカーネルを選択してくださいとのことですが、GMOクラウドの管理画面からのコンソールでは下記の画面が表示されるタイミングではコンソールが起動しません

コンソールではカーネルの起動メニューが選択した後からしか表示されません。コンソールが繋がったと思ったらカーネルパニックになり、「Unable to start console session as connection is refused by the machine you are accessing」となり、コンソールにつながらないです

対処方法ですが、クラウドのコンソールよりCentOSのインストールメディアのISOイメージから起動して、ISOイメージのブートメニューから「Troubleshooting」→「Boot from loacl drive」で、古いカーネルをすれば起動できます

起動時にカーネルを選択できるようにCD/DVDから起動できるようにする

通常起動ではカーネルパニックになり起動しないので、ISOをアタッチしたメディアからブートする為に、OSの種類を変更してからISOファイルを変更します。

GMOクラウドの管理コンソールにログインして、仮想サーバーを停止してから、「編集」を選択してから、OSの種類を「Other 2.6.x Linux (64bit)」を指定し適用します

 

1.GMO管理コンソールで仮想マシンを停止します
2.停止した仮想マシンの選択して「編集」を選択します

3.「OSの種類」を選択して「Cent OS 7」から「Other 2.6.x Linux (64bit)」を選択します

4.次にISOファイルを変更するので、「ISOのアタッチ」を選択します

5.「CentOS-7.7-minimal.iso」を選択します

CD/DVDから起動してカーネルを選択する

CD/DVDからISOメディアから起動して、「Troubleshooting」→「Boot from loacl drive」の順に選択すると、起動する時にカーネルを選択できるようになるので、一つ古いカーネルを指定すれば問題なく起動できます

1.選択したISOメディアから起動できる準備ができたので、コンソールより起動します
2.しばらくすると以下のような起動画面になるので「Troubleshooting」を選択します

3.「Boot from loacl drive」を選択して起動する

4.起動しない最新のカーネルではなく、一つ古いカーネルを選択します

5.通常通りに仮想マシン起動します

grubの起動するカーネルを変更します

OSが起動したら、次回から起動するカーネルを一つ前に選択するように変更します。
一つ前のカーネルで起動するには「grub2-set-default 1」とコマンドを入力します

$ sudo grub2-set-default 1
$ sudo grub2-editenv list
saved_entry=1

起動時のカーネルを選択するには「起動時にロードするカーネルを変更・指定する」の記事で詳しく紹介しているので、そちらも参照して下さい

yum update でkernelを除外する

今後、yum update でカーネルをあげないように、「kernel」・「centos」を含むパッケージは除外してyum updateをおこなうようにします

「/etc/yum.conf」の最後の方に「exclude=kernel* centos*」を追加します

$ sudo vi /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://b
ugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
exclude=kernel* centos* #この行を追加

最後に仮想マシンを停止して、仮想マシンが起動時の方法を変更した下記の箇所をもとに戻して、仮想マシンを起動します

  • ISOファイルのアタッチしているのは、ISOファイルをデタッチする
  • 起動マシンのOS種類を「Other 2.6.x Linux (64bit)」から以前の「CentOS 7」に変更します

Linux,仮想化

Posted by admin