プロが教えるわが家の防犯対策術!

Linux自宅サーバを運用しておりますが、最近サーバダウンを繰り返し発生させており、対処としてHDD、メモリ、さらには本体(EPIAのEDEN)を交換したのですが、いまだサーバダウンが発生するため、苦慮しております。つきましては、下記ログを見て、原因がわかる方がいれば、ご教授ください。
自分としては、HDD交換を3度も行った上に本体も交換したのに発生する理由がわからず、ソフトの不具合かと思っておりますが、どのソフトが不具合の原因となっているのか皆目検討がつきません。
<スペック等>
VIA Esther processor 1200MHz
HDD:Hitachigstの160GB(SATA)
OS:FedoraCore9(Kernel 2.6.25)
Apache:2.2.9
PHP:4.4.7
Samba:3.2.0
<ログ:本ログ出力後にサーバダウンしている模様>
kernel: ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
kernel: ata1.00: BMDMA stat 0x25
kernel: ata1.00: cmd c8/00:80:80:ff:ff/00:00:00:00:00/ef tag 0 dma 65536 in
kernel: res 51/10:80:80:ff:ff/00:00:00:00:00/ef Emask 0x81 (invalid argument)
kernel: ata1.00: status: { DRDY ERR }
kernel: ata1.00: error: { IDNF }
kernel: ata1.00: configured for UDMA/133
kernel: sd 0:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE,SUGGEST_OK
kernel: sd 0:0:0:0: [sda] Sense Key : Aborted Command [current] [descriptor]
kernel: Descriptor sense data with sense descriptors (in hex):
kernel: 72 0b 14 00 00 00 00 0c 00 0a 80 00 00 00 00 00
kernel: 0f ff ff 80
kernel: sd 0:0:0:0: [sda] Add. Sense: Recorded entity not found
kernel: end_request: I/O error, dev sda, sector 268435328
kernel: ata1: EH complete
kernel: sd 0:0:0:0: [sda] 312581808 512-byte hardware sectors (160042 MB)
kernel: sd 0:0:0:0: [sda] Write Protect is off
kernel: sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

A 回答 (4件)

突然の超オソレス すいません。


SWAPのエラーは消えたようなのでとりあえずはこの問題は解決してようですね。
kernel: [<c062750c>] rwsem_down_failed_common+0x13e/0x15a
kernel: [<c0627568>] rwsem_down_read_failed+0x1d/0x25
kernel: [<c06275eb>] call_rwsem_down_read_failed+0x7/0xc
が気になるエラーです。
搭載されているメモリ容量とdfコマンドで表示される /dev/shm の容量を補足ください。
搭載されているメモリ容量mysqlやoracleなどのデータベースアプリケーションでは不足すると
エラーで落ちます。
最近のPCではメモリを多くのせれるのでまず不足することは少ないのですが
mysqlの推奨設定値を満たしていないような気がします。
Perlのエラーはmysqlエラーにより派生的に発生しているように思えます。
この設定の変更方法のサイトを紹介しておきます。

参考URL:http://sato-si.at.webry.info/200711/article_1.html

この回答への補足

アドバイス、ありがとうございます。
早速確認した結果をお知らせします。
***
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/sda3 151717124 16458108 127552236 12% /
/dev/sda1 101086 11820 84047 13% /boot
tmpfs 484928 0 484928 0% /dev/shm
***
mysqlの推奨値は残念ながら確認できませんでした。(mysql --helpで確認したのですが・・・)

確認した結果を見ると、tmpfsが48Mというのは小さい気がしますが、どうでしょうか?
以上、よろしくお願いします。

補足日時:2008/12/28 19:54
    • good
    • 0

An.2です。


[hda]の件は私の間違いでした。
本日RedHat4をSATA機にインストールしたところ[sda]となっていました。
それともう一点以降の記載はお忘れください。
失礼しました。

追記いただいた情報ですが
>デバイス Boot Start End Blocks Id System
>/dev/sda1 * 1 25 200781 83 Linux
>/dev/sda2 2619457 156087540 8e Linux LVM
LVMパーティションを作成されその中にSWAPとルートを設定されていると思われます。
「root_lv(/)」と「swap_lv(swap)」
SWAPがうまく設定できていない可能性があるのではと思います。
論理ボリュームLVMを使用するメリットはいろいろとあるのですが
一度LVMは使用せずに従来からよく使われている割当方法
sda1 * 1 /boot 100M 割当
sda2 swap 搭載メモリに合わせて 1Gから2G程度
sda3 / rootの割当で残り全て
用途によりsda4 に /optに割り振るなどしています。
WEB用途やSanbaでは ほぼsda3までの構成にしておりました。

過去に大手ベンダーに構築させた内容も同様になっていることから
今一度上記のような構成で考えなおされてはいかがでしょうか。

この回答への補足

アドバイスいただいたとおり、パーティションを以下のようにして、運用していたところ、またもサーバダウンしました。再度のお願いで恐縮ですが、何かわかればアドバイスをお願いします。

/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 280 2048287+ 82 Linux swap / Solaris
/dev/sda3 281 19457 154039252+ 83 Linux

以下、ログです。

最初はmysqlに関するメッセージが出力され、

kernel: INFO: task mysqld:5308 blocked for more than 120 seconds.
kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
kernel: mysqld D c078d23c 0 5308 5290
kernel: f7237dfc 00000086 091280d2 c078d23c c0790280 c0790280 c0790280 f6ed8e70
kernel: f6ed90b8 c178b280 00000000 c178b280 66d3bebe 0000b12d b1f27614 f6ed90b8
kernel: f6e48700 00000c9c f6fb2b1c 00000000 000f41a9 0000b12a c874c6b7 00000002
kernel: Call Trace:
kernel: [<c062750c>] rwsem_down_failed_common+0x13e/0x15a
kernel: [<c0627568>] rwsem_down_read_failed+0x1d/0x25
kernel: [<c06275eb>] call_rwsem_down_read_failed+0x7/0xc
kernel: [<c0626bc2>] ? down_read+0x26/0x29
kernel: [<c06292ee>] do_page_fault+0x29d/0x6eb
kernel: [<c0420669>] ? __wake_up+0x31/0x3b
kernel: [<c04f50c7>] ? copy_to_user+0x3b/0x10a
kernel: [<c05acc89>] ? move_addr_to_user+0x56/0x6e
kernel: [<c05acfd1>] ? sys_getsockname+0x6b/0x76
kernel: [<c041c9bb>] ? __dequeue_entity+0x73/0x7b
kernel: [<c04046c7>] ? __switch_to+0xcc/0x14c
kernel: [<c042316d>] ? hrtick_set+0x80/0xe5
kernel: [<c045786c>] ? audit_syscall_exit+0x2b1/0x2cc
kernel: [<c0629051>] ? do_page_fault+0x0/0x6eb
kernel: [<c0627c12>] error_code+0x72/0x78
kernel: =======================

1分後に今度はPerlに関するメッセージが出力されていました。

kernel: INFO: task perl:14113 blocked for more than 120 seconds.
kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disable
kernel: perl D c078d23c 0 14113 10797
kernel: f38d0c84 00000082 f38d0c2c c078d23c c0790280 c079028
kernel: dc9850b8 c178b280 00000000 c178b280 541f0a53 0000b16
kernel: 00000000 17401a02 f6e30db8 f38d0cd0 f38d0c7c c043aaa
kernel: Call Trace:
kernel: [<c043c0f7>] ? getnstimeofday+0x34/0xd1
kernel: [<c043aaa1>] ? ktime_get_ts+0x45/0x49
kernel: [<c0626206>] io_schedule+0x52/0x8a
kernel: [<c0461ad9>] sync_page+0x36/0x3a
kernel: [<c0626590>] __wait_on_bit_lock+0x34/0x5e
kernel: [<c0461aa3>] ? sync_page+0x0/0x3a
kernel: [<c0461a8e>] __lock_page+0x78/0x81
kernel: [<c0437baa>] ? wake_bit_function+0x0/0x43
kernel: [<c0461ce1>] find_lock_page+0x65/0x91
kernel: [<c0462212>] filemap_fault+0x95/0x337
kernel: [<c046ce68>] __do_fault+0x52/0x3a2
kernel: [<c0491571>] ? __d_lookup+0x9d/0xe9
kernel: [<c046e7e2>] handle_mm_fault+0x2f5/0x767
kernel: [<c0491e50>] ? dput+0x34/0xee
kernel: [<c041b23e>] ? kmap_atomic_prot+0x1dd/0x1df
kernel: [<c041b23e>] ? kmap_atomic_prot+0x1dd/0x1df
kernel: [<c041b041>] ? kunmap_atomic+0x87/0xa7
kernel: [<c046dcbb>] ? unmap_vmas+0x3b7/0x539
kernel: [<c04f2aae>] ? rb_insert_color+0x56/0xc0
kernel: [<c04f1614>] ? prio_tree_remove+0xbd/0xcc
kernel: [<c0629393>] do_page_fault+0x342/0x6eb
kernel: [<c046fcad>] ? free_pgtables+0x7e/0x95
kernel: [<c046af30>] ? vma_prio_tree_add+0x6d/0x7f
kernel: [<c046af6a>] ? vma_prio_tree_insert+0x28/0x2e
kernel: [<c0471254>] ? vma_link+0xa1/0xbe
kernel: [<c04724cf>] ? mmap_region+0x339/0x3f7
kernel: [<c053e11d>] ? randomize_range+0x1a/0x36
kernel: [<c04727ee>] ? do_mmap_pgoff+0x261/0x2c1
kernel: [<c045786c>] ? audit_syscall_exit+0x2b1/0x2cc
kernel: [<c0408cda>] ? sys_mmap2+0x63/0x7b
kernel: [<c0629051>] ? do_page_fault+0x0/0x6eb
kernel: [<c0627c12>] error_code+0x72/0x78
kernel: =======================

補足日時:2008/11/22 00:36
    • good
    • 0
この回答へのお礼

度々のアドバイスありがとうございます。さっそくご教授頂いた方法でサーバを再構築しています。今後の状況については、報告させていただきます。(従来ですと、1週間以内には必ずKernelPanicで落ちていますので)

お礼日時:2008/11/16 21:04

仮想メモリにおけるカーネルパニックではないかと思われます。


x86メモリモデルとディスクリプタテーブルに関しての記述は
下記のサイトを一読ください。
まずはこれを理解していただないと説明の意味が通じないからです。
http://www.ibm.com/developerworks/jp/linux/libra …

エラーの開始は
kernel: sd 0:0:0:0: [sda] Sense Key : Aborted Command [current] [descriptor]
[current] [descriptor]を見てコマンドがアボートしてます。
kernel: Descriptor sense data with sense descriptors (in hex):
kernel: 72 0b 14 00 00 00 00 0c 00 0a 80 00 00 00 00 00
kernel: 0f ff ff 80

kernel: sd 0:0:0:0: [sda] Add. Sense: Recorded entity not found
ディスクリプタテーブルの指す先が見つからない
そこが物理メモリではなく、[sda] となっているのでSWAPかと想像します。

kernel: end_request: I/O error, dev sda, sector 268435328
セクター 268435328 HDのI/Oエラー
間違いなくSWAP領域なのでしょうか。

kernel: sd 0:0:0:0: [sda] 312581808 512-byte hardware sectors (160042 MB)
となっているので160GのHDは正しく認識されていると思われます。

HDの領域割当を一度確認されることをお勧めします。

QTPartedでパーティション割当は確認できます。
http://www.thinkpad-lover.org/main5/QTParted.htm

それともう1点
マザーボードの規格がわからないのではっきりしたことは言えませんが
SATAのHDでIDE互換モードでインストールしていれば [hda]になるはずです。
[sda] の表記なのでSCSI認識ですね。
このあたりの設定関係がトラブルの元になっている可能性はないでしょうか。

LOGを見た限りの私の思い込みもかなり入っているかもしれません。
解決への参考になれば幸いです。

この回答への補足

解析ありがとうございます。
QTPartedでHD領域割当が確認できるとのことでしたが、GUIツールなのでしょうか?(ご教授いただいたサイトを見る限り、そう判断しました)

また、HD領域割当ということであれば、fdiskでもいいのでしょうか?以下、fdiskの結果です。
***
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0009d15d

デバイス Boot Start End Blocks Id System
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 19457 156087540 8e Linux LVM
***
また、
>SATAのHDでIDE互換モードでインストールしていれば [hda]になるはずです。
とのご指摘については、SATAのHDです。IDE互換モードというのは、自分では意識せず、インストールを完了しています。どの時点で意識するべき事項なのでしょうか?

本日もサーバダウンをしており、下記ログを出力していました。
***
kernel: ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
kernel: ata1.00: BMDMA stat 0x24
kernel: ata1.00: cmd ca/00:08:31:1a:5c/00:00:00:00:00/ee tag 0 dma 4096 out
kernel: res 51/84:01:38:1a:5c/00:00:00:00:00/ee Emask 0x10 (ATA bus error)
kernel: ata1.00: status: { DRDY ERR }
kernel: ata1.00: error: { ICRC ABRT }
kernel: ata1: soft resetting link
kernel: ata1.00: configured for UDMA/133
kernel: ata1: EH complete
kernel: sd 0:0:0:0: [sda] 312581808 512-byte hardware sectors (160042 MB)
kernel: sd 0:0:0:0: [sda] Write Protect is off
kernel: sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
***
何かわかれば、お手数ですが、ご教授ください。

補足日時:2008/11/13 23:01
    • good
    • 0

ハードウェアの不具合や相性のような気がしましたが、ソフトウェア以外に流用されているパーツは無いのですよね? 電源ケーブルやATAケーブルなども不具合の原因になります。



また、コンセントからの給電が不安定なのかもしれません。同じコンセントから大容量の家電(冷蔵庫やエアコン、電子レンジなど)が分配されていないか確認してみましょう。コンセントの位置を変えてもいいでしょうが、配電盤からの分岐を考えないと、あまり意味がないかもしれません。

OSなどのインストールも何度もされていると思います。
どのソフトや設定をした時点でそのエラーが出ているのかを、時刻から追跡してみるのもいいでしょうね。

この回答への補足

回答ありがとうございます。

電源ケーブル、ATAケーブルも交換しております。
コンセントからの給電は確認する術はありませんが、家庭用コンセント2口に対して、タップを使用して、HUB、サーバ2台(AC電源150A)を接続しているのみで感覚的には、大丈夫かなと思っております。

OSのインストール、自分もそのような方向がいいのかなと思っております。

補足日時:2008/11/13 22:39
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!