Ubuntuでのカーネルのダウングレード
Ubuntuのカーネルのバージョンが新しすぎると、openvswitchでgreトンネルが動作しませんでした。そのためUbuntu12.04にてカーネルのダウングレードする必要があったので、以下にメモしました。ソースを落としてコンパイルするのは時間がかかるので、aptコマンドのみで挑戦してみました。
現行のカーネルのバージョンは以下のように3.5.0-23-genericになります。これを3.2.0-49-lowlatencyにするのが目標です。
# uname -a Linux NetworkServer3 3.5.0-23-generic #35~precise1-Ubuntu SMP Fri Jan 25 17:13:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
カーネルのインストール
以下のコマンドでaptコマンドでインストール可能なカーネルのバージョンを表示させます。
# apt-cache search linux-image
一部抜粋は以下です。
linux-image-3.2.0-44-lowlatency - Linux kernel image for version 3.2.0 on x86/x86_64 linux-image-3.2.0-48-lowlatency - Linux kernel image for version 3.2.0 on x86/x86_64 linux-image-3.2.0-49-lowlatency - Linux kernel image for version 3.2.0 on x86/x86_64 linux-image-3.2.0-33-lowlatency-pae - Linux kernel image for version 3.2.0 on x86 linux-image-3.2.0-35-lowlatency-pae - Linux kernel image for version 3.2.0 on x86 linux-image-3.2.0-36-lowlatency-pae - Linux kernel image for version 3.2.0 on x86 linux-image-3.2.0-37-lowlatency-pae - Linux kernel image for version 3.2.0 on x86 linux-image-3.2.0-38-lowlatency-pae - Linux kernel image for version 3.2.0 on x86 linux-image-3.2.0-39-lowlatency-pae - Linux kernel image for version 3.2.0 on x86
たしかに3.2.0-49-lowlatencyがありました。以下のコマンドでパッケージをインストールします。
# apt-get install linux-image-3.2.0-49-lowlatency
確かに/boot以下にインストールされています。
root@NetworkServer3:/lib/modules# find / -name "*vmlinuz*" /vmlinuz /boot/vmlinuz-3.5.0-23-generic /boot/vmlinuz-3.2.0-49-lowlatency /vmlinuz.old
以下のパッケージもインストールします(これは不必要かもしれない)。
# apt-get install linux-headers-3.2.0-49-generic # apt-get install linux-image-3.2.0-49-generic
grubの設定
/etc/default/grubの設定を変える必要があります。デフォルトではgrubの画面が表示されないようです。変更箇所は以下の2行で大丈夫でした。
#GRUB_HIDDEN_TIMEOUT=0 //TIMEOUT=0をコメントアウト GRUB_GFXMODE="1280x1024" //コメントアウトを解除して左のように書き込む。
grubの設定の反映を行います。
# update-grub
端末を再起動させ、再起動時にはシフトボタンを押し続けます。
grubの設定画面から、以前のバージョンを選択します。
起動後に確認すると、確かに3 3.2.0-49-lowlatencyで起動しています!
# uname -a Linux NetworkServer3 3.2.0-49-lowlatency #51-Ubuntu SMP PREEMPT Tue Jun 25 22:41:12 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
GREトンネルの設定
ダウングレード後にOpenvSwitchをインストールした結果、確かにGREトンネルのモジュールが読み込まれています!
ダウングレード前
# lsmod |grep openvswitch openvswitch 43048 1
ダウングレード後
# lsmod |grep openvswitch openvswitch 85726 0 gre 12989 1 openvswitch
最新のバージョンが必ずしもよいとは限らないことを痛感しました。
書き足す
/etc/apt/source.lst
そもそも古いバージョンがない場合はどうする?