LoginSignup
0
1

More than 5 years have passed since last update.

RaidZ2での障害?

Posted at

TL;DR

RAIDZ2で組んでいたNASストレージが環境を変えてからエラーを吐くようになった。
その修理の顛末

事の起こり

3TBx5台のHDDをZFS、RAIDZ2で組み上げたNASサーバをHDDケース+ノートPCという構成で運用していた。
HDDを追加したりしたいなーと思い、ノートPCから自作PC(+PCI接続のSATA拡張ボード)にHDDを移した。
すると5台のうち2台でエラーが出るといってきた。

syslog
May  6 01:12:42 heteropoda kernel: [109551.991108] ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
May  6 01:12:42 heteropoda kernel: [109551.997990] ata3.00: failed command: WRITE DMA EXT
May  6 01:12:42 heteropoda kernel: [109552.002555] ata3.00: cmd 35/00:03:d8:39:68/00:00:36:00:00/e0 tag 7 dma 1536 out
May  6 01:12:42 heteropoda kernel: [109552.002555]          res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
May  6 01:12:42 heteropoda kernel: [109552.011631] ata3.00: status: { DRDY }
May  6 01:12:42 heteropoda kernel: [109552.014974] ata3: hard resetting link
May  6 01:12:42 heteropoda kernel: [109552.334564] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
May  6 01:12:42 heteropoda kernel: [109552.336507] ata3.00: configured for UDMA/33
May  6 01:12:42 heteropoda kernel: [109552.336520] ata3.00: device reported invalid CHS sector 0
May  6 01:12:42 heteropoda kernel: [109552.336544] sd 2:0:0:0: [sdc] tag#7 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
May  6 01:12:42 heteropoda kernel: [109552.336553] sd 2:0:0:0: [sdc] tag#7 Sense Key : Illegal Request [current] [descriptor] 
May  6 01:12:42 heteropoda kernel: [109552.336561] sd 2:0:0:0: [sdc] tag#7 Add. Sense: Unaligned write command
May  6 01:12:42 heteropoda kernel: [109552.336569] sd 2:0:0:0: [sdc] tag#7 CDB: Write(16) 8a 00 00 00 00 00 36 68 39 d8 00 00 00 03 00 00
May  6 01:12:42 heteropoda kernel: [109552.336575] blk_update_request: I/O error, dev sdc, sector 912800216
May  6 01:12:42 heteropoda kernel: [109552.341175] ata3: EH complete
#これは1台分のログだが、もう一台においても同様のログが出た

HDDが死んでるのではないか

ここで私はHDDがクラッシュしたのかと思い、S.M.A.R.T.を確認。

smartctl
ログは保存してなかったよ

が、エラーらしきログは出ていなかった。
そこで予備のHDDがあったため、該当するHDDを入れ替えてみた。
(HDDは /dev/disk/by-path/ 以下を ls -la して見つける)

しかし、HDDを入れ替えても同様のエラーが発生した。
となると、HDDで問題が起きているのではなさそうだ。

エラー箇所の考察

SATA通信時にエラーが起きている可能性が高い。
SATA通信にはPCIe x2接続のSATA10ポート増設ボードを使っている。
ただ、10ポートのうち3ポートはエラーが出ていないため、SATAボードとマザーボードの相性、といった問題は考えづらい。(しかしこの判断は間違いだった)
ここで構成についてより詳しく書くと、マザーボードにはPCI接続のSATA増設ボード刺さっており、その増設ボードからPCケースに付属しているSATAアダプタにSATAケーブルでつながっている。
PCケースにSATAアダプタがあるのはホットスワップ対応のケースであるためだ。

ざっくりこんなかんじ
マザーボード <--(a)--> PCI-SATA増設ボード <--(b)--> SATAケーブル <--(c)--> PCケースのSATAアダプタ <--(d)--> HDD

同時にすべてのHDDがエラーになるわけではないので、上記でいう(a)が問題になっている可能性は低い(この判断は間違いである)
残るは(b),(c),(d)のいずれかになる。

SATAケーブルが死んでいるのではないか

すぐできる検証として、SATAケーブルを別のものに変えてみた。
しかし依然としてエラーは出ていた。
となると
(b) PCI-SATA増設ボードのコネクタが死んでる
(d) PCケースのSATAアダプタが死んでる
のどちらかになる。

SATA増設ボードが死んでいるのではないか

そこで(b)を潰すためにPCI-SATA増設ボードを買い替えてみる
→エラーは出続ける
ここで気づいたが、これまで出ていたポートと別のポートでも同様のエラーが出ている

PCケースのSATAアダプタが死んでるのではないか

ここまで来てもう残りはPCケースのSATAが死んでいることで決定なので、HDDと増設ボードを直接ケーブルで繋いでみたが、だめ。
正直、もうエラーになりそうな箇所はもう見当たらないので、途方にくれていた。

答えは意外なところからわかる

PCI-SATA増設ボードは玄人志向の製品だったので、半ばあきらめつつ、何か情報はないかとユーザBBSを見てみる。
すると全く同一ではないものの、ドライブが認識されなくなる、ブルースクリーンエラーが出る、といった現象が出ているらしい。
特にこれ
そしてこのユーザはマザーボードのBIOSを上げると改善したというではないか。

これはどうやらマザーボードとの相性が悪かったのでは無いかと疑い始める。

マザーボードを別のものに変える

マザーボードを交換したら正常に動作するようになった。
マザーボードの仕様としてPCI-Express x16 (内部はPCI-Express x1)
というのがあって、おそらくPCI-Expressの帯域がx1で足りなくなった場合にエラーが発生したとみられる
マザーボードを変えるのはなかなか勇気のいる決断だったが、正直遠回りした感は否めない。

結論

パーツの互換性はきちんと確認しようという話だった。
しかしまあこんなにも自分の推論が当てずっぽうだとはなあ。。。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1