YouTubeやってます!
Categoriesまとめ

debian squeeze で kernel エラーが出るようになっていたので修正した

Date 2012/04/04 11:10  Modified date 2016/05/10 Author Yutaka  Tags server 情報処理

 久しぶりにサーバを再起動したら、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

でもいいみたいです。

参考

Back to Top