次の手順を使用し、ルート (/) ファイルシステムをミラー化します。
各クラスタのノードのスーパーユーザーになります。
metainit(1M) コマンドを使用し、ルートスライスを単一スライス (1 方向) 連結にします。
ルートディスクスライスの物理ディスク名を使用します (cNtXdYsZ)。
# metainit -f submirror1 1 1 root-disk-slice |
2 番目の連結を作成します。
# metainit -f submirror2 1 1 submirror-disk-slice |
1 つのサブミラーを使用して 1 方向のミラーを作成します。
# metainit mirror -m submirror1 |
このミラーのメタデバイス名は、クラスタ全体で一意でなければなりません。
metaroot(1M) コマンドを実行します。
このコマンドは、ルート (/) ファイルシステムがメタデバイスに配置された状態でシステムを起動できるように、/etc/vfstab および /etc/system ファイルを編集します。
# metaroot mirror |
lockfs(1M) コマンドを実行します。
このコマンドを実行すると、マウントされているすべての UFS ファイルシステム上で、すべてのトランザクションがログからフラッシュされ、マスターファイルシステムに書き込まれます。
# lockfs -fa |
リソースグループまたはデバイスグループをノードから退避させます。
# scswitch -S -h node |
すべてのリソースグループとデバイスグループを退避させます。
リソースグループまたはデバイスグループを退避させるノード名を指定します。
ノードを再起動します。
# shutdown -g0 -y -i6 |
metattach(1M) コマンドを使用し、2 番目のサブミラーをこのミラーに接続します。
# metattach mirror submirror2 |
ルートディスクのミラー化に使用したディスクが複数のノード (多重ポート) に物理的に接続されている場合は、そのディスクの raw ディスクデバイスグループの localonly プロパティを有効にします。
起動デバイスが複数のノードに接続されている場合に、その起動デバイスが不意にノードを使用できなくなるのを防ぐために、localonly プロパティは有効にしておいてください。
必要に応じて、scdidadm -L コマンドを使用し、raw ディスクデバイスグループの完全なデバイス ID (DID) 擬似ドライバ名を表示します。
次の例では、raw ディスクデバイスグループ名 dsk/d2 は、出力の第 3 列の一部になっており、これが完全な DID 擬似ドライバ名に当たります。
# scdidadm -L ... 1 phys-schost-3:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 # scconf -c -D name=dsk/d2,localonly=true |
localonly プロパティの詳細については、scconf_dg_rawdisk(1M) のマニュアルページを参照してください。
raw ディスクデバイスグループのノードリストを表示します。
出力は次のようになります (N は DID 番号です)。
# scconf -pvv | grep dsk/dN Device group name: dsk/dN ... (dsk/dN) Device group node list: phys-schost-1, phys-schost-3 ... |
ノードリストにノード名が複数含まれているかどうかを確認します。
含まれている場合は、手順 d に進みます。
含まれていない場合は、手順 e に進みます。
raw ディスクデバイスグループのノードリストから、ルートディスクをミラー化したノード以外のすべてのノードを削除します。
ルートディスクをミラー化したノードだけがノードリストに残るようにします。
# scconf -r -D name=dsk/dN,nodelist=node |
raw ディスクデバイスグループのクラスタ固有の名前を指定します。
ノードリストから削除するノードの名前を指定します。
scconf(1M) コマンドを使用し、localonly プロパティを有効にします。
localonly プロパティが有効になった時点で、raw ディスクデバイスグループはそのノードリスト内のノードだけに使用されるようになります。これにより、起動デバイスが複数のノードに接続されている場合に、不意にノードがその起動デバイスから使用できなくなることが防止されます。
# scconf -c -D name=rawdisk-groupname,localonly=true |
raw ディスクデバイスグループの名前を指定します。
将来使用する場合に備えて、代替起動パスを記録しておきます。
# ls -l /dev/rdsk/root-disk-slice |
クラスタ内の残りの各ノードに対して、手順 1 から 手順 11 までを繰り返します。
ミラーのメタデバイス名は、クラスタ全体で一意になるようにします。
広域名前空間 /global/.devices/node@nodeid をミラー化するかどうかを決定します。
ミラー化する場合は、「広域名前空間をミラー化する」に進みます。
ミラー化しない場合は、手順 14 に進みます。
マウント解除できないファイルシステムをミラー化するかどうかを決定します。
ミラー化する場合は、「マウント解除できないファイルシステムをミラー化する」に進みます。
ミラー化しない場合は、手順 15 に進みます。
ユーザー定義ファイルシステムをミラー化するかどうかを決定します。
ミラー化する場合は、「ユーザー定義ファイルシステムをミラー化する」に進みます。
ミラー化しない場合は、「ディスクセットを作成する」 に進んで、ディスクセットを作成します。
次の例に、パーティション c0t0d0s0 上のサブミラー d10 とパーティション c2t2d0s0 上のサブミラー d20 で構成されているノード phys-schost-1 上に、ミラー d0 を作成する方法を示します。ディスク c2t2d0 は多重ポートディスクなので、localonly プロパティが有効に設定されています。
((ミラーを作成する)) # metainit -f d10 1 1 c0t0d0s0 d11: Concat/Stripe is setup # metainit -f d20 1 1 c2t2d0s0 d12: Concat/Stripe is setup # metainit d0 -m d10 d10: Mirror is setup # metaroot d0 # lockfs -fa (ノードを再起動する) # scswitch -S -h phys-schost-1 # shutdown -g0 -y -i6 (2 番目のサブミラーを接続する) # metattach d0 d20 d0: Submirror d20 is attached ミラーディスクの raw ディスクデバイスグループのノードリストを表示する # scconf -pvv | grep dsk/d2 Device group name: dsk/d2 ... (dsk/d2) Device group node list: phys-schost-1, phys-schost-3 ... (raw ディスクデバイスグループのノードリストから phys-schost-3 を削除する) # scconf -r -D name=dsk/d2,nodelist=phys-schost-3 (ミラーディスクの raw ディスクデバイスグループの localonly プロパティを有効にする) # scconf -c -D name=dsk/d2,localonly=true (代替起動パスを記録する) # ls -l /dev/rdsk/c2t2d0s0 lrwxrwxrwx 1 root root 57 Apr 25 20:11 /dev/rdsk/c2t2d0s0 -> ../../devices/node@1/pci@1f,0/pci@1/scsi@3,1/disk@2,0:a,raw |