share facebook facebook twitter menu hatena pocket slack

2012.02.23 THU

SUZ-LAB CentOS AMIを6.0から6.2に(カーネルも)アップデート

鈴木 宏康

WRITTEN BY 鈴木 宏康

以前、カーネルのアップデート(2.6.32-71.29.1 → 2.6.32-220.4.2)を試したのですがブートできなくなってしまい、それ以降はできないものと思っていましたが、ブートすることが出来ました。
これは、カーネルをアップデートすると、アタッチしているEBSのデバイスファイルが/dev/xvda1から/dev/xvde1に変更されていたのが問題でした。

それでは早速、アップデート方法を紹介します。

まずは、アップデート前のカーネルやOSのバージョンの確認です。

# uname -a
Linux ip-10-156-21-210 2.6.32-71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686 i686 i386 GNU/Linux
# cat /etc/redhat-release
CentOS Linux release 6.0 (Final)

今までは、上記のことからyumのアップデートからカーネル類を外していたのですが、今回はyum.confから、そのexclude=kernel*の記述を外し、アップデートします。

# cd /etc/
# diff yum.conf.old yum.conf
13d12
< exclude=kernel*
# yum -y update

新しいカーネルがインストールされていることがわかります。

# ls -1 /boot/
System.map-2.6.32-220.4.2.el6.i686
System.map-2.6.32-71.29.1.el6.i686
config-2.6.32-220.4.2.el6.i686
config-2.6.32-71.29.1.el6.i686
efi
grub
initramfs-2.6.32-220.4.2.el6.i686.img
initramfs-2.6.32-71.29.1.el6.i686.img
symvers-2.6.32-220.4.2.el6.i686.gz
symvers-2.6.32-71.29.1.el6.i686.gz
vmlinuz-2.6.32-220.4.2.el6.i686
vmlinuz-2.6.32-71.29.1.el6.i686

この状態でリブート後、カーネルとOSのバージョンを確認すると、OSは6.2になっていますが、カーネルはまだ2.6.32-71.29.1のままです。

# uname -a
Linux ip-10-156-21-210 2.6.32-71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686 i686 i386 GNU/Linux
# cat /etc/redhat-release
CentOS release 6.2 (Final)

カーネルのバージョンアップを行うには、/boot/grub/menu.lstを新しいカーネルのものに変更する必要があります。

# cd /boot/grub/
# diff menu.lst.old menu.lst
6,7c6,7
         kernel /boot/vmlinuz-2.6.32-220.4.2.el6.i686 ro root=/dev/xvde1
>         initrd /boot/initramfs-2.6.32-220.4.2.el6.i686.img

また最初に述べましたが、ルートディスクのデバイスファイルも/dev/xvda1から/dev/xvde1に変更する
必要があります。
このことから、/etc/fstabのルートデバイスの記述も同様に変更します。

# cd /etc/
# diff fstab.old fstab
1c1
 /dev/xvde1      /        ext4   defaults       1 1

この状態でリブート後、カーネルとOSのバージョンを確認すると無事カーネルもアップデートされ、
最新のCentOS 6.2になっていることがわかります。

# uname -a
Linux ip-10-153-59-73 2.6.32-220.4.2.el6.i686 #1 SMP Tue Feb 14 00:24:28 GMT 2012 i686 i686 i386 GNU/Linux
# cat /etc/redhat-release
CentOS release 6.2 (Final)

最後に、もう利用していない古いカーネルを削除します。

# yum erase kernel-2.6.32-71.29.1.el6

SUZ-LAB謹製 CentOS AMI 6.2 Comming Soon! ——– http://www.suz-lab.com

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。