Raid 1+0 DEGRADED mode

またや・・・・(-ω-)

Dec 12 03:06:53 piano kernel: ad6: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=137581056
Dec 12 03:25:14 piano kernel: ad6: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=137581087
Dec 12 03:25:14 piano kernel: ad6: TIMEOUT - WRITE_DMA retrying (0 retries left) LBA=137581056
Dec 12 03:25:14 piano kernel: ad6: TIMEOUT - WRITE_DMA retrying (0 retries left) LBA=137581087
Dec 12 03:25:14 piano kernel: ad6: FAILURE - WRITE_DMA timed out LBA=137581056
Dec 12 03:25:14 piano kernel: ar0: WARNING - mirror protection lost. RAID0+1 array in DEGRADED mode
Dec 12 03:25:14 piano kernel: ar0: writing of nVidia MediaShield metadata is NOT supported yet
Thu May 14 04:03:23 JST 2009
ad4: TIMEOUT - READ_DMA retrying (1 retry left) LBA=7515071
ad4: TIMEOUT - READ_DMA retrying (0 retries left) LBA=7515071
ad4: FAILURE - READ_DMA timed out LBA=7515071
ar0: WARNING - mirror protection lost. RAID0+1 array in DEGRADED mode
ar0: writing of nVidia MediaShield metadata is NOT supported yet

ガーン!!!!!

で、ディスク丸ごと

piano:root {130} % ./backup_to_blackcube_all.sh
#!/bin/sh
/usr/local/bin/rsync -av --delete --exclude '/usr/Backups/*' / www.smb.net:/usr/Backups/Piano/7_1/all/

しておく。

このとき、HDDのアクセスランプを見ると、ディスク3が点灯しない。

ので、きっと、ad4 は、ディスク3なのだ。

atacontrol で RAID0+1 †

http://www.seichan.org/wiki/index.php?FreeBSD-ATACONTROL

RAID には,RAID0 と RAID1 を組み合わせた RAID0+1 (RAID10) というレベルがあります.実現方法は様々あるようですが,FreeBSD の atacontrol での RAID0+1 は,RAID0 ディスクを2つ作成し,その RAID0 ディスク 2つを RAID1 でミラーリングする方式を採用しているようです. 利点は RAID1(mirror) の冗長性と,RAID0(stripe) の速度を両立出来る事です.RAID0 ではディスク不良があった場合,データは全て失われますが,RAID1 のミラーリングも行っている為,1つのディスクが不調でもオペレーションの続行が可能になります. 欠点として,使えるディスク容量が,搭載量の 1/2 になってしまう点です.この点から,後述する RAID5 が好まれる結果となっていますが,ディスクへの読み書き速度は RAID5 とは段違いに速い点もあり,高速性と安定性が要求される箇所で利用されています.

実際に atacontrol で RAID0+1 を作成する場合,以下のように実行します.

geom# atacontrol create RAID0+1 512 ad0 ad1 ad2 ad3
ar0 created

上記コマンドを実行する事で,RAID0+1 が作成出来ます.512 はインタリーブサイズで,RAID0 の時と同様です.また,どのディスクが組みになるかは dmesg 又はコンソール画面に次のように表示される事で把握出来るでしょう.

ar0: 8191MB <Intel MatrixRAID RAID0+1 (stripe 128 KB)> status: READY
ar0: disk0 READY (master) using ad0 at ata0-master
ar0: disk1 READY (master) using ad1 at ata0-slave
ar0: disk2 READY (mirror) using ad2 at ata1-master
ar0: disk3 READY (mirror) using ad3 at ata1-slave

上記の場合,ad0,ad1 が1ペアで,ad2,ad3 が1ペアになります.atacontrol detach を行う予定がある場合,組み合わせに注意する必要があります. ディスク不良等で,RAID0+1 が壊れた場合,RAID1 と同様に RAID の再構築が可能です.

geom# atacontrol status ar0
ar0: ATA RAID0+1 stripesize=256 subdisks: ad0 ad1 ad2 DOWN status: DEGRADED

上記のように,ad3 デバイスが不調で DEGRADED 状態の場合,RAID1 の再構築と同様にスペアドライブを追加します.その後,atacontrol rebuild で再構築を行います.

geom# atacontrol addspare ar0 ad3
geom# atacontrol status ar0
ar0: ATA RAID0+1 stripesize=256 subdisks: ad0 ad1 ad2 ad3 status: DEGRADED
geom# atacontrol rebuild ar0
geom# atacontrol status ar0
ar0: ATA RAID0+1 stripesize=256 subdisks: ad0 ad1 ad2 ad3 status: REBUILDING 2% completed

と,再構築の方法は RAID1 の場合とまったく同様に行える事がわかると思います.

FreeBSD ハンドブック

15.4.3. ATA RAID1 アレイの再構築

FreeBSD はアレイ内の障害ディスクを動作中に交換できます。ただし、再起動前にそれを検知していることが必要です。

/var/log/messages または dmesg(8) の出力に次のような行があるでしょう。

ad6 on monster1 suffered a hard error.
ad6: READ command timeout tag=0 serv=0 - resetting
ad6: trying fallback to PIO mode
ata3: resetting devices .. done
ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11) status=59 error=40
ar0: WARNING - mirror lost

atacontrol(8) を使用して詳細を調べてください。

# atacontrol list
ATA channel 0:
   Master:      no device present
   Slave:   acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> ATA/ATAPI rev 0

ATA channel 1:
   Master:      no device present
   Slave:       no device present

ATA channel 2:
   Master:  ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
   Slave:       no device present

ATA channel 3:
   Master:  ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
   Slave:       no device present

# atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED

1.ディスクを安全に取り外すために、 まずアレイから切り離します。

# atacontrol detach 3

2.ディスクを取り外します。

3.スペアのディスクを取り付けます。

# atacontrol attach 3
Master:  ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave:   no device present

4.アレイを再構築します。

# atacontrol rebuild ar0

5.再構築コマンドは完了するまで他の操作を受け付けません。

しかし、もう一つ別のターミナルを (Alt+Fn を押して) 開き、次のコマンドを実行すると進行状態を確認することができます。

# dmesg | tail -10
[output removed]
ad6: removed from configuration
ad6: deleted from ar0 disk1
ad6: inserted into ar0 disk1 as spare

# atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed

6.操作が完了するまでお待ちください。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-12-12 (土) 17:34:57