*Raid 1+0 DEGRADED mode [#bd725e18] またや・・・・(-ω-) 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 † [#s26bbe07] 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 で再構築を行います. 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 ハンドブック [#nd158818] **15.4.3. ATA RAID1 アレイの再構築 [#n5ec72b0] 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.ディスクを安全に取り外すために、 まずアレイから切り離します。 [#f4f828d1] # atacontrol detach 3 ***2.ディスクを取り外します。 [#r1ce3683] ***3.スペアのディスクを取り付けます。 [#l8fdc697] # atacontrol attach 3 Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present ***4.アレイを再構築します。 [#q2fa284d] # atacontrol rebuild ar0 ***5.再構築コマンドは完了するまで他の操作を受け付けません。 [#r700c1bb] しかし、もう一つ別のターミナルを (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.操作が完了するまでお待ちください。 [#hffa41f0]