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によってルートファイルシステムをミラーリングしたい場合はディスクレイアウトをシリンダ位置に気を配りながら手動で配置するほうがよい。