ニッチすぎる記事。
HDDの容量がとにかく足らなすぎるのでRAID6のマシンでもりもりHDDを追加していったところ、7台目に差し掛かったところでどうも認識しないという症状に遭遇した。構成は以下。
- OS: Ubuntu 14.04.5
- マザーボード: GA-Z87X-UD3H http://www.gigabyte.jp/products/product-page.aspx?pid=4481#ov
「6個までしか」というところでまず思い当たったのは以下のマザーボードのスペック。
6 x SATA 6Gb/s対応コネクター(SATA3 0~5)を搭載し、6台の SATA 6Gb/s対応機器をサポート
RAID 0, RAID 1, RAID 5, およびRAID 10をサポートMarvell® 88SE9172チップ:
2 x SATA 6Gb/s対応コネクター(GSATA3 6/7)と2ポートのeSATA 6Gb/s対応コネクターをバックパネルに搭載し、2台のSATA 6Gb/s対応機器をサポート
* GSATA3 6, 7コネクターとeSATAコネクターの同時使用はできません。
RAID 0および RAID 1をサポート
チップセット側のSATAコネクタから優先して使っていたので、ちょうど6個ということは、もしかしてチップセット側のSATAコネクタしか認識しないのでは?と思って、試しにPCI Expressに刺さるタイプのSATA拡張カードを買ってみたものの、これも認識しない。
というのが昨日まで3ヶ月ぐらい悩んでいた話で、今日ふと思い立ってMarvell 88SE9172側のSATAを認識するかどうか切り分けしてみると、どうやらIntelのチップセット側だろうがMarvell側だろうが、Ubuntu側で認識はしてるらしいことがわかった(6個を超えた分のどれか1つ認識しない)。起動時に一瞬エラーメッセージらしき文言が見えるけど、起動後にdmesgを漁ってみても見当たらない。これはやっかいだ……。
で、試しにHDDを1個抜いた状態で、起動中にSATAコネクタを接続するという荒技をやってみたところ、 /var/log/syslog に以下の出力があった。
Oct 30 16:29:15 yuno02 kernel: [ 384.869837] ata7: exception Emask 0x10 SAct 0x0 SErr 0x4050000 action 0xe frozen Oct 30 16:29:15 yuno02 kernel: [ 384.869846] ata7: irq_stat 0x80400040, connection status changed Oct 30 16:29:15 yuno02 kernel: [ 384.869852] ata7: SError: { PHYRdyChg CommWake DevExch } Oct 30 16:29:15 yuno02 kernel: [ 384.869864] ata7: hard resetting link Oct 30 16:29:15 yuno02 kernel: [ 384.878375] dmar: DRHD: handling fault status reg 2 Oct 30 16:29:15 yuno02 kernel: [ 384.878389] dmar: DMAR:[DMA Write] Request device [06:00.1] fault addr fffe0000 Oct 30 16:29:15 yuno02 kernel: [ 384.878389] DMAR:[fault reason 02] Present bit in context entry is clear Oct 30 16:29:16 yuno02 kernel: [ 385.615531] dmar: DRHD: handling fault status reg 2 Oct 30 16:29:16 yuno02 kernel: [ 385.615545] dmar: DMAR:[DMA Write] Request device [06:00.1] fault addr fffe0000 Oct 30 16:29:16 yuno02 kernel: [ 385.615545] DMAR:[fault reason 02] Present bit in context entry is clear Oct 30 16:29:16 yuno02 kernel: [ 385.762921] ata7: SATA link up 6.0 Gbps (SStatus 133 SControl 300) Oct 30 16:29:16 yuno02 kernel: [ 385.763483] dmar: DRHD: handling fault status reg 3 Oct 30 16:29:16 yuno02 kernel: [ 385.763496] dmar: DMAR:[DMA Write] Request device [06:00.1] fault addr fffe0000 Oct 30 16:29:16 yuno02 kernel: [ 385.763496] DMAR:[fault reason 02] Present bit in context entry is clear Oct 30 16:29:16 yuno02 kernel: [ 385.763510] ata7.00: failed to IDENTIFY (INIT_DEV_PARAMS failed, err_mask=0x80) Oct 30 16:29:21 yuno02 kernel: [ 390.761108] ata7: hard resetting link Oct 30 16:29:21 yuno02 kernel: [ 390.777628] dmar: DRHD: handling fault status reg 2 Oct 30 16:29:21 yuno02 kernel: [ 390.777633] dmar: DMAR:[DMA Write] Request device [06:00.1] fault addr fffe0000 Oct 30 16:29:21 yuno02 kernel: [ 390.777633] DMAR:[fault reason 02] Present bit in context entry is clear Oct 30 16:29:21 yuno02 kernel: [ 391.105505] dmar: DRHD: handling fault status reg 2 Oct 30 16:29:21 yuno02 kernel: [ 391.105518] dmar: DMAR:[DMA Write] Request device [06:00.1] fault addr fffe0000 Oct 30 16:29:21 yuno02 kernel: [ 391.105518] DMAR:[fault reason 02] Present bit in context entry is clear Oct 30 16:29:21 yuno02 kernel: [ 391.252936] ata7: SATA link up 6.0 Gbps (SStatus 133 SControl 300) Oct 30 16:29:21 yuno02 kernel: [ 391.253477] dmar: DRHD: handling fault status reg 3 Oct 30 16:29:21 yuno02 kernel: [ 391.253490] dmar: DMAR:[DMA Write] Request device [06:00.1] fault addr fffe0000 Oct 30 16:29:21 yuno02 kernel: [ 391.253490] DMAR:[fault reason 02] Present bit in context entry is clear Oct 30 16:29:21 yuno02 kernel: [ 391.253513] ata7.00: failed to IDENTIFY (INIT_DEV_PARAMS failed, err_mask=0x80) Oct 30 16:29:21 yuno02 kernel: [ 391.253523] ata7: limiting SATA link speed to 3.0 Gbps Oct 30 16:29:26 yuno02 kernel: [ 396.251113] ata7: hard resetting link Oct 30 16:29:26 yuno02 kernel: [ 396.267733] dmar: DRHD: handling fault status reg 2 Oct 30 16:29:26 yuno02 kernel: [ 396.267744] dmar: DMAR:[DMA Write] Request device [06:00.1] fault addr fffe0000 Oct 30 16:29:26 yuno02 kernel: [ 396.267744] DMAR:[fault reason 02] Present bit in context entry is clear Oct 30 16:29:27 yuno02 kernel: [ 396.595532] dmar: DRHD: handling fault status reg 2 Oct 30 16:29:27 yuno02 kernel: [ 396.595545] dmar: DMAR:[DMA Write] Request device [06:00.1] fault addr fffe0000 Oct 30 16:29:27 yuno02 kernel: [ 396.595545] DMAR:[fault reason 02] Present bit in context entry is clear Oct 30 16:29:27 yuno02 kernel: [ 396.742945] ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 320) Oct 30 16:29:27 yuno02 kernel: [ 396.743485] dmar: DRHD: handling fault status reg 3 Oct 30 16:29:27 yuno02 kernel: [ 396.743497] dmar: DMAR:[DMA Write] Request device [06:00.1] fault addr fffe0000 Oct 30 16:29:27 yuno02 kernel: [ 396.743497] DMAR:[fault reason 02] Present bit in context entry is clear Oct 30 16:29:27 yuno02 kernel: [ 396.743522] ata7.00: failed to IDENTIFY (INIT_DEV_PARAMS failed, err_mask=0x80) Oct 30 16:29:32 yuno02 kernel: [ 401.741123] ata7: hard resetting link Oct 30 16:29:32 yuno02 kernel: [ 401.757721] dmar: DRHD: handling fault status reg 2 Oct 30 16:29:32 yuno02 kernel: [ 401.757725] dmar: DMAR:[DMA Write] Request device [06:00.1] fault addr fffe0000 Oct 30 16:29:32 yuno02 kernel: [ 401.757725] DMAR:[fault reason 02] Present bit in context entry is clear Oct 30 16:29:32 yuno02 kernel: [ 402.085537] dmar: DRHD: handling fault status reg 2 Oct 30 16:29:32 yuno02 kernel: [ 402.085550] dmar: DMAR:[DMA Write] Request device [06:00.1] fault addr fffe0000 Oct 30 16:29:32 yuno02 kernel: [ 402.085550] DMAR:[fault reason 02] Present bit in context entry is clear Oct 30 16:29:32 yuno02 kernel: [ 402.232957] ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 320) Oct 30 16:29:32 yuno02 kernel: [ 402.232978] ata7: EH complete
ん?なにこれ?と思って検索してみたところ以下のURLがヒットした。
http://dpdk.org/ml/archives/dev/2013-August/000400.html
どうやら同じエラーメッセージで悩める人がいたらしい。で、気になるのが以下の部分。
I tried that as well, but it works as if I only add intel_iommu=on.. which
means I do not receive any packets from hypervisor. I also have pci realloc
added. Does this affect?
ん、hypervisor……?
ということで、試しにUEFI (※このマザボはBIOSではない) の画面からCPUのVT-d機能をOFFにして、再起動。
7台目認識した!!
なんかよくわからんけど、仮想化技術との相性が悪いらしいです。まーじかー。このマシンでKVMとか試そうかと思ってたんだけどなぁ。
そんなわけで、目下のお悩みは解決したので、これからももりもりHDD増設していく所存です。