久しぶりにサーバを再起動したら、kernel.logにエラーが記録されるようになっていたので、いろいろ調べて修正しました。
久々にサーバを再起動したところ、logwatchに以下のようなエラーが記録されるようになりました。
WARNING: Kernel Errors Present
[ 1.141888] PM: Error -22 checking ima ...: 1 Time(s)
[ 1.254608] PM: Error -22 checking ima ...: 1 Time(s)
[ 2.534422] Error: Driver 'pcspkr' ...: 1 Time(s)
[ 3.548114] Error: Driver 'pcspkr' ...: 1 Time(s)
サーバを移転する作業を行っていた時に現れたので、てっきりその関係で出るようになったのかと思ったのですが、移転とは関係ない別のサーバでも同じエラーが出るようになっていたので、どうも移転作業とは関係ないようです。ただ単に、最近、サーバを再起動することがなかったので、これらのエラーを目にする機会が無かっただけの模様。
そんなわけで、これらのエラーを修正してみました。
「PM: Error -22……」の方
このエラーはswapのパーティションに関係しているようです。swap領域を再設定したら出なくなりました。
まず、fdisk コマンドを実行すると以下のような表示が出てきます。このうち、「Linux swap / Solaris」とあるのが、swapのパーティションです。
ここではswapのパーティションが「/dev/sda5」であることが分かります。
root@old # fdisk -l
Device Boot Start End Blocks Id System
/dev/sda1 * 1 2499 20067328 83 Linux
/dev/sda2 2499 2611 901121 5 Extended
/dev/sda5 2499 2611 901120 82 Linux swap / Solaris
続いて、swapのパーティションを再構築します。「/dev/sda5」の部分は上で調べたswap領域に書き換えて下さい。
# swapoff /dev/sda5
# mkswap /dev/sda5
Setting up swapspace version 1, size = 901116 KiB
no label, UUID=75f2d7cd-b6f7-4a25-bd80-2699f068f3dc
# swapon /dev/sda5
mkswapを実行した時に表示されるUUID(今回の場合は「75f2d7cd-b6f7-4a25-bd80-2699f068f3dc」)は後で使用するのでメモっておきましょう。
これでswapが有効になりますが、このままだとサーバを再起動した時にswapが0になっちゃうと思います。そこで、/etc/fstabを編集します。
/etc/fstab を開くと「swap」と言う単語が入っている以下のような部分があると思います。ここで、元からあるUUIDの行をコメントアウトして、代わりに先ほどメモった新しいUUIDを記述します(てか、古いUUIDを再度利用することはないと思うので、UUIDの部分を新しいUUIDで上書きしても良いと思います)。
# swap was on /dev/sda5 during installation
#UUID=41f4e221-2d80-46e0-b683-20fc91647359 none swap sw 0 0
UUID=75f2d7cd-b6f7-4a25-bd80-2699f068f3dc none swap sw 0 0
保存して閉じたら、サーバを再起動します。
shutdown -r now
再起動後、free コマンドを叩いて、swapがちゃんと表示されていればOKです。
root@old $ free -m
total used free shared buffers cached
Mem: 496 135 361 0 3 62
-/+ buffers/cache: 70 426
Swap: 879 0 879
ちなみに、単純にパーティションに設定されているUUIDを知りたい場合は、blkidコマンドを叩けば良いようです。
root@old # blkid
/dev/vda1: UUID="7d9a368c-c7f3-445a-bce4-52784ad0a171" TYPE="ext3"
/dev/vda5: UUID="02e967de-05b1-47f8-a4fc-1878de19de4a" TYPE="swap"
「Error: Driver ‘pcspkr’」の方
このエラーは /etc/modprobe.d/blacklist.conf に以下の記述を追加することで消えました。
blacklist pcspkr
もしくは、
blacklist snd-pcsp
でもいいみたいです。
参考
- スワップ領域の操作 【mkswap、swapon、swapoff】
- Debian 6.0 SqueezeへHyper-V統合サービスをインストールする:Once-in-a-Lifetime Chance:So-netブログ
- Debian: dmesg output contains “Error: Driver ‘pcspkr’ is already registered, aborting…” | Ali Aboosaidi
- %!zt!
(2008-10-07)