RAID復旧作業続き

 今回は部屋に転がっていた400GBのSATA HDDにFreeBSD 7.2-RELEASEを入れる事にする。元のシステムを復旧させる方がネタ的には良いんだろうけど、何せシステムが不安定になる心当たりが多すぎる*1ので6.3-STABLEからのアップデートも兼ねて新規インストール。

RAID再構築
 今回はシステムはRAIDに含めない事にする。バックアップからのデータのリストアは面倒だが、システム領域ぶっ飛ばしても復旧は簡単だし、家サーバーだから止まっても問題ないしね。…というのは言い訳でもうSATAの空きポートが無い orz
 ストレージの構成は以下

ad12 システム、ブートドライブ 非RAID
ad13 ad6 データ領域A RAID1
ad14 ad8 データ領域B RAID1
ad15 ad10 データ領域C RAID1

 ad13はシステムとATAチャネルが重なっているのでshutdownしないと復旧できないがここは目をつぶる事にする。

 システムインストール後にネットワーク等最低限の設定をした後、起動時にgmirrorをロードするように設定

/boot/loader.conf
geom_mirror_load="YES"

 RAID対象のドライブを1台のみ電源を入れ再起動*2RAIDドライブを作成する。

・ドライブの接続を確認
# atacontrol list
ATA channel 0:
……省略
ATA channel 3:
    Master:  ad6  SATA revision 2.x
    Slave:       no device present
……省略
ATA channel 6:
    Master: ad12  SATA revision 2.x
    Slave:       no device present
……省略

……gmirror 設定
# gmirror label -v -b round-robin mrr1 /dev/ad6
gmirror: Can't store metadata on /dev/ad6: Operation not permitted.
……失敗、オンラインではプロテクションされてるらしい
# sysctl kern.geom.debugflags=16
kern.geom.debugflags: 0 -> 16
# gmirror label -v -b round-robin mrr1 /dev/ad6
Metadata value stored on /dev/ad6.
Done.
# gmirror status
       Name    Status  Components
mirror/mrr1  COMPLETE  ad6
……マウントして内容を確認、…最初にやるべきだったな。
# mount -t ufs /dev/mirror/mrr1s1 /mnt

 この作業をad8とad10にも行う。そしてgmirror insert でミラードライブを追加するが……

# gmirror status
       Name    Status  Components
mirror/mrr1  DEGRADED  ad6
mirror/mrr2  COMPLETE  ad8
                       ad14
mirror/mrr3  DEGRADED  ad10

 ad13とad15がダメ、

ATA channel 6:
    Master: ad12  SATA revision 2.x
    Slave:  ad13  SATA revision 2.x
ATA channel 7:
    Master: ad14  SATA revision 2.x
    Slave:  ad15  SATA revision 2.x

 どうやら、マザーボードSATA-IFのSlave側がダメなようだ。
 さて、どおすっかな。

*1:FreeBSDはまともに運用すれば非常に安定してます、設定やりかけでリブートせずに7月末から放置状態だっただけ。

*2:別に纏めてやっても良いが今回はデータの再利用の為HDDの内容を確認しながら復旧させる