yum update後にサーバーが起動しない場合の対処方法【GMOクラウド】
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.停止した仮想マシンの選択して「編集」を選択します
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」に変更します
ディスカッション
コメント一覧
まだ、コメントがありません