ぐぐってもイマイチぴんとこなかったのでまとめ。
■RAID グループから HDD を外したい
RAID グループ (ここでは mirror0) からなんらかの理由でディスクを外す必要があったら remove を使用する。
まずは状態確認。
% gmirror status
Name Status Components
mirror/mirror0 COMPLETE ada1 (ACTIVE)
ada2 (ACTIVE)
mirror0 からディスクを外す。
% sudo gmirror remove mirror0 ada1
% sudo gmirror status
Name Status Components
mirror/mirror0 COMPLETE ada2 (ACTIVE)
※ada1 が消えた。
% sudo gmirror dump ada1
Can't read metadata from ada1: Invalid argument.
gmirror: Not fully done.
※ada1 に gmirror のメタデータが残っていないことを確認。
この状態では ada1 のディスクは ada2 と同期が取れているため、ぶっちゃけバックアップドライブとして保管しておいても良い。
新しいディスクを追加する場合は
% sudo gmirror insert -v mirror0 ada1
Done.
sudo gmirror status
Name Status Components
mirror/mirror0 DEGRADED ada2 (ACTIVE)
ada1 (STALE)
追加した ada1 が STALE になっているので、ACTIVE な ada2 からデータを貰うことにする。
% sudo gmirror rebuild -v mirror0 ada1
Done.
% gmirror status
Name Status Components
mirror/mirror0 DEGRADED ada2 (ACTIVE)
ada1 (SYNCHRONIZING, 0%)
ここで注意する点は、指定するディスクを間違えないこと。
rebuild で指定するディスクは「あとから追加した (現在 ACTIVE ではない) ディスク」を指定すること。
■gmirror insert 出来なかったら?
gmirror insert で新しいディスクを追加しようとしたら
gmirror: Not all disks connected.
というエラーが出た場合は、落ち着いて forget を使用しよう。
% sudo gmirror forget -v mirror0
Done.
% sudo gmirror status
Name Status Components
mirror/mirror0 COMPLETE ada2 (ACTIVE)
これで新しいディスクを追加できるようになる。
■パーティショニングスキームにGPTを使ってるドライブでmirrorしたら中身が消えた!
慌てずgmirror destroyしてパーティションを指定してミラーを作りましょう。
% sudo gmirror label -v mirror0 ada4p1
└ G兄
└ G兄
└ G兄
└ G兄
└ G兄
└ G兄
└ G兄
└ G兄
└ 山銀
└ G兄