DiskSuite 資料一覧
metattachでサブミラーをミラーに接続しようとすると「can't attach labeled submirror to an unlabeled mirror」というエラーが出る
2007/11/21更新
対応バージョン: 4.2.1
例えばミラーd0にサブミラーd10が連結されている状態でd20の連結に失敗する。
# metastat d0
d0: Mirror
Submirror 0: d10
State: Okay
Submirror 1: d20
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 141192000 blocks
d10: Submirror of d0
State: Okay
Size: 141192000 blocks
Stripe 0:
Device Start Block Dbase State Hot Spare
c0t0d0s0 0 No Okay
# metastat d20
d20: Concat/Stripe
Size: 141192000 blocks
Stripe 0:
Device Start Block Dbase
c0t1d0s0 0 No
# metattach d0 d20
metattach: host_a: d20: can't attach labeled submirror to an unlabeled mirror
原因
これは以下のようにシリンダ0から始まっていないルートファイルシステムに対してミラーのサブミラーを作成して、それにシリンダ0から始まるサブミラーを接続しようとすると発生する。
0 root wm 1452 - 24611 31.90GB (23160/0/0) 66909240 1 swap wu 0 - 1451 2.00GB (1452/0/0) 4194828 2 backup wm 0 - 24619 33.92GB (24620/0/0) 71127180 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 unassigned wm 0 0 (0/0/0) 0 7 unassigned wm 24612 - 24619 11.29MB (8/0/0) 23112
対応
以下のいずれかの方法で対応する。
ルートファイルシステムと他のサブミラー用のボリュームが両方とも「シリンダ0から始まる」ようにする。
逆に、ルートファイルシステムと他のサブミラー用のボリュームが両方とも「シリンダ0から始まらない」ようにする。
OSのインストールをJumpStartによって行うとデフォルトでswapパーティションがシリンダ0から始まりルートファイルシステムは他の位置から始まるのでこの問題が起きやすい。
DiskSuiteによってルートファイルシステムをミラーリングしたい場合はディスクレイアウトをシリンダ位置に気を配りながら手動で配置するほうがよい。