日記ブログ、または雑多なメモ
2010年2月22日

RAIDについてあれこれ追記





 忘れてた。 今のうちにディスクにシールでも貼っておかないと、どれがどれかわからなくなるので一本ずつ線を抜いて確かめながらシール貼り。 よく考えたらケーブルにも貼らないと意味がない。
../../diary/pic/pic10022101.jpg
 見事に5台載っております。 かようにHDD群のまん前に巨大ファンが(偶然)まわっているので熱的な心配は無いと思われる。

 一本抜いて、戻してリブート……と繰り返していて、3本目を抜いたところでなぜかフリーズ、リブートしても「poolが見つかりません」と怒られた。 なんで中途半端に3本目のHDDだけダメなんじゃああと思ったら、その前の二本分の修復をしていなくて3本イカれた事になり、フリーズしたということに気がついた。 自動でさくっと直してくれるものとばかり思っていたのだが。

一本抜いて、戻してリブートしたら、
# zpool clear zroot
とすればいいわけですな。 なるほど。


 ところで、RAID-5/6における機械的信頼性について、今回の場合はRAID-6で「3台で容量増加」「2台が担保」というシステムになっているが、

「もし2台がおしゃかになったときは、残り3台の故障確率は通常の三倍で非常に危険な状態」

 ということでもある。 故障確率3倍と担保が2台だと若干分が悪い気はする。 ここに1台スペアを足すとちょうどよいところかもだが、実験するにしてもesata接続できる外箱を買ってこないとだめだ。 まあ、大事なのは1台お釈迦になったときに「すぐに交換すること」ですな。
 台数が増えると故障確率が倍になるのは確かなのだが、それぞれが同時期に壊れる確率というのはまた別な話だと思うので単純計算はできないかもである。 同ロットで同じ条件で使用、となると同じ末期を歩む可能性もなくもないが、今回は5台ほぼ同形式だが同ロットではないのでどうなるか見ものではある。 人柱である。

 ちなみに今の5台は、
Duke# atacontrol list
ATA channel 2:
    Master:  ad4 <Hitachi HTS543225L9SA00/FBEOC40C> SATA revision 1.x
    Slave:       no device present
ATA channel 3:
    Master:  ad6 <Hitachi HTS543225L9SA00/FBEOC40C> SATA revision 1.x
    Slave:       no device present
ATA channel 4:
    Master:  ad8 <Hitachi HTS543225L9A300/FBEOC40C> SATA revision 2.x
    Slave:       no device present
ATA channel 5:
    Master: ad10 <Hitachi HTS543225L9SA00/FBEOC40C> SATA revision 1.x
    Slave:       no device present
ATA channel 6:
    Master: ad12 <Hitachi HTS542525K9SA00/BBFOC31P> SATA revision 1.x
    Slave:       no device present
ATA channel 7:
    Master:      no device present
    Slave:       no device present

 こんな感じで ad4、ad6、ad10 は同ロットかも。 ただ、RAID的にはできれば同ロットを使うべし、ということになっているのでどっちやねん、ちゅう話ではある。


 ところでたった今、atacontrolでの正しいdetach、attachのやり方がわかったので、ついでにad4をdetach、attachしてみた。

# atacontrol detach ata2
# atacontrol attach ata2


 すると、zpool statusでREMOVEDになった。
Duke# zpool status
  pool: zroot
 state: DEGRADED
status: One or more devices has experienced an unrecoverable error.  An
        attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or replace the device with 'zpool replace'.
   see: http://www.sun.com/msg/ZFS-8000-9P
 scrub: none requested
config:

        NAME           STATE     READ WRITE CKSUM
        zroot          DEGRADED     0     0     0
          raidz2       DEGRADED     0     0     0
            gpt/disk0  REMOVED      0 6.75K     0
            gpt/disk1  ONLINE       0     0     0
            gpt/disk2  ONLINE       0     0     0
            gpt/disk3  ONLINE       0     0     0
            gpt/disk4  ONLINE       0     0     0

errors: No known data errors

 そこで、zpool clear zrootした。
Duke# zpool status
  pool: zroot
 state: ONLINE
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
 scrub: resilver in progress for 0h0m, 0.01% done, 2h25m to go
config:

        NAME           STATE     READ WRITE CKSUM
        zroot          ONLINE       0     0     0
          raidz2       ONLINE       0     0     0
            gpt/disk0  ONLINE       0     0     0  108K resilvered
            gpt/disk1  ONLINE       0     0     0  93K resilvered
            gpt/disk2  ONLINE       0     0     0  94.5K resilvered
            gpt/disk3  ONLINE       0     0     0  123K resilvered
            gpt/disk4  ONLINE       0     0     0  105K resilvered

errors: No known data errors
 
 修復中。 10秒くらい切り離しただけなのだが修復に2時間半かかると書いてある。 プールに続々とバックアップしながらだからなのかもしれないが。

 しかし数分後もう一回みてみると、
Duke# zpool status
  pool: zroot
 state: ONLINE
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
 scrub: resilver in progress for 0h8m, 63.47% done, 0h4m to go
config:

        NAME           STATE     READ WRITE CKSUM
        zroot          ONLINE       0     0     0
          raidz2       ONLINE       0     0     0
            gpt/disk0  ONLINE       0     0     0  27.3M resilvered
            gpt/disk1  ONLINE       0     0     0  394K resilvered
            gpt/disk2  ONLINE       0     0     0  392K resilvered
            gpt/disk3  ONLINE       0     0     0  14.4M resilvered
            gpt/disk4  ONLINE       0     0     0  402K resilvered

errors: No known data errors


 あと4分になった。 だいぶ適当な計算らしい。

Duke# zpool status
  pool: zroot
 state: ONLINE
 scrub: resilver completed after 0h10m with 0 errors on Tue Feb 23 16:46:14 2010
config:

        NAME           STATE     READ WRITE CKSUM
        zroot          ONLINE       0     0     0
          raidz2       ONLINE       0     0     0
            gpt/disk0  ONLINE       0     0     0  146M resilvered
            gpt/disk1  ONLINE       0     0     0  528K resilvered
            gpt/disk2  ONLINE       0     0     0  530K resilvered
            gpt/disk3  ONLINE       0     0     0  53.7M resilvered
            gpt/disk4  ONLINE       0     0     0  540K resilvered

errors: No known data errors

 終わった。 10分で修復が終わった様である。 ふむふむ。 まったくおもしろいシステムだ。


コメント欄
(投稿なし)

コメントなどありましたらこちらからどうぞ
名前
内容
 ※名前、内容ともに入力必須です
- C'sGallery Blogっぽく見えるシステム3.2 -
小武 (管理人) eta2@tim.hi-ho.ne.jp