さくらVPS yumパッケージのアップデート

結構頻繁にパッケージアップデートしたり、再起動したりしたいタイプのあゆたやです。

安定稼動しなければいけないものを特に置いていないので、好きに弄くり倒してるんですが、うっかりyumパッケージのアップデートでKernelまで更新してしまって、アップデート後といえば再起動!でVPSが起動しなくなったので、それを回避するためのメモ。

yum update時にKernelを除外する設定

と、オマケにCPUアーキテクチャの異なるバージョン(x86_64=64bit以外)を除外する。

$sudo vim /etc/yum.conf

#最後の行に追加
exclude=kernel* *.i386 *.584 *.686

yum update実行

$sudo yum update

途中でアップデートしてもいいか確認が出るので

================================================================================
Upgrade 57 Package(s)

Total download size: 43 M
Is this ok [y/N]: y

yしてしばし待つのみ。

アップデートし残しがないか確認

$yum check-update

で確認して、パッケージが表示されなければOK。
あったらもう一度updateする。

もし再起動したければ

SSHは一度切断されるので、順調に起動が出来ない場合などにはもちろん再接続できません。
必ずさくらVPSコンパネのリモートコンソールが見られる状況で行いましょう。

$sudo reboot

ただし!
サーバはどのくらいの頻度で定期リブートしてますか? (ちょっと古いけど)

利点と障害正規サーバーの再起動

というわけで基本的には必要に迫られるまで再起動をしないもののようです。

アップデート後に再起動したらSSH接続できないときは→SSH接続できないときにVNCコンソールで頑張って復帰する

最後に、Redmineからメールが送信できるかちゃんとテストしようね!(経験談)

さくらVPS SSH接続できないときにVNCコンソールで頑張って復帰する

特に考えずにyum updateしてサーバー再起動したら、いくら待ってもSSH接続できなくなった…。
というときは、Kernelが複数インストールされていて、通常自動的に選択される最新のものでは起動できない状態の可能性があります。

とりあえず、あせらずにVPSコンパネから「VNCコンソール」を起動します。

コンパネからJavaのリモートコンソールを開く。
表示されてるほうじゃなくて「VNCコンソール」を開く。

で、これJavaで動いてます。

昨今のセキュリティホールのせいで基本的に「ブラウザでJAVAはOFF」という設定にしている人が多いと思います。

Windows7のコントロールパネル
Windows7のコントロールパネル

Windowsの場合は、OSのコントロールパネルにあるJavaから、

セキュリティタブの設定を見直す
セキュリティタブの設定を見直す

で、ブラウザ再起動したら、「VNCコンソール」の画面で

起動確認画面が出ます
起動確認画面が出ます

実行すると、別画面が開いて黒い画面が表示されます。
起動中のさまざまなものが随時表示されてゆきますが、いつものlogin:待機でない限り、kernel panic的なものが画面のどこかに出て、止まってるはず。

とりあえずこの状態で、VPSのコントロールパネルホーム画面から、再起動ボタンを押します。

そうすると別画面側の起動処理がだーっと出て

Press any keyとin # seconds...でそれぞれEnter
Press any keyとin # seconds…でそれぞれEnter

で。

yum update後に再起動しないで使っていると、意外と沢山入っている…
yum update後に再起動しないで使っていると、意外と沢山入っている…

一番古いバージョンを選択してEnterする。

いつもの!
いつもの!

めでたしめでたし。

でもこのままだと、また再起動したときに同じ目にあうので
Kernelのバージョンを削除するとか → 古いカーネルを削除する(CentOS) – ぱらせんメモ
Kernelのデフォルトバージョンを設定(できるのか?)しないと。

2013/10/05 追記

古いカーネルの削除方 – とりさんダイアリー でrpm -e で不要なKernelバージョンだけ狙い撃ちでアンインストールできるようです。