次の手順を使用し、/usr、/opt、swap などの、通常のシステム使用時にはマウント解除できないルート (/) 以外のファイルシステムをミラー化します。
各クラスタのノードのスーパーユーザーになります。
マウント解除できないファイルシステムが存在しているスライスを単一スライス (1 方向) 連結にします。
ディスクスライスの物理ディスク名を指定します (cNtXdYsZ)。
# metainit -f submirror1 1 1 diskslice |
2 番目の連結を作成します。
# metainit submirror2 1 1 submirror-diskslice |
1 つのサブミラーを使用して 1 方向のミラーを作成します。
# metainit mirror -m submirror1 |
このミラーのメタデバイス名またはボリューム名は、クラスタ全体で一意である必要はありません。
各ノードで 、ミラー化したマウント解除できない各ファイルシステムの /etc/vfstab ファイルエントリを編集します。
device to mount と device to fsck の列にある名前をミラー名で置換します。
# vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options #/dev/md/dsk/mirror /dev/md/rdsk/mirror /filesystem ufs 2 no global |
リソースグループまたはデバイスグループをノードから移動させます。
# scswitch -S -h from-node |
すべてのリソースグループとデバイスグループを退避させます。
リソースグループまたはデバイスグループを移動させるノード名を指定します。
ノードを再起動します。
# shutdown -g0 -y -i6 |
2 番目のサブミラーを各ミラーに接続します。
このように接続することで、サブミラーの同期が開始されます。
# metattach mirror submirror2 |
手順 9で開始したミラーの同期が完了するまで待機します。
metastat(1M) コマンドを使用して、ミラー状態を参照し、ミラーの同期が完了していることを確認します。
# metastat mirror |
マウント解除できないファイルシステムをミラー化するのに使用されるディスクが複数のノードに物理的に接続されている (つまり、多重ホストされている) 場合は、localonly プロパティーを有効にします。
以下の手順を実行して、マウントできないファイルシステムのミラー化に使用するディスクの raw ディスクデバイスグループの localonly プロパティーを有効にします。起動デバイスが複数のノードに接続されている場合に、その起動デバイスが不意にノードを使用できなくなるのを防ぐために、localonly プロパティーは有効にしておいてください。
必要に応じて、scdidadm --L コマンドを使用し、raw ディスクデバイスグループのデバイス ID (DID) の完全なパス名を表示します。
次の例では、raw ディスクデバイスグループ名 dsk/d2 は、出力の第 3 列の一部になっており、これがデバイス ID の完全なパス名にあたります。
# scdidadm -L … 1 phys-schost-3:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 |
raw ディスクデバイスグループのノードリストを表示します。
次に出力例を示します。
# scconf -pvv | grep dsk/d2 Device group name: dsk/d2 … (dsk/d2) Device group node list: phys-schost-1, phys-schost-3 … |
ノードリストに複数のノード名が含まれる場合、ルートディスクをミラー化したノードを除くすべてのノードをノードリストから削除します。
ルートディスクをミラー化したノードだけが raw ディスクデバイスグループのノードリストに残るはずです。
# scconf -r -D name=dsk/dN,nodelist=node |
raw ディスクデバイスグループのクラスタ固有の名前を指定します。
ノードリストから削除するノードの名前を指定します。
localonly プロパティーを有効にします。
localonly プロパティーが有効になった時点で、raw ディスクデバイスグループはそのノードリスト内のノードだけに使用されるようになります。これにより、起動デバイスが複数のノードに接続されている場合に、不意にノードがその起動デバイスから使用できなくなることが防止されます。
# scconf -c -D name=rawdisk-groupname,localonly=true |
raw ディスクデバイスグループの名前を指定します。
localonly プロパティーの詳細については、scconf_dg_rawdisk(1M) のマニュアルページを参照してください。
次の例に、ノード phys-schost-1 上にミラー d1 を作成し、c0t0d0s1 上に存在する /usr をミラー化するための方法を示します。ミラー d1 は、パーティション c0t0d0s1 上のサブミラー d11 とパーティション c2t2d0s1 上のサブミラー d21 で構成されています。/usr の /etc/vfstab ファイルエントリは、ミラー名 d1 を使用するように更新されます。デバイス c2t2d0 は多重ホストディスクなので、localonly プロパティーが有効に設定されています。
(ミラーを作成します。) # metainit -f d11 1 1 c0t0d0s1 d11: Concat/Stripe is setup # metainit d21 1 1 c2t2d0s1 d21: Concat/Stripe is setup # metainit d1 -m d11 d1: Mirror is setup (/etc/vfstab ファイルを編集します。) # vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/dsk/d1 /dev/md/rdsk/d1 /usr ufs 2 no global (phys-schost-1 からリソースグループとデバイスグループを移動します。) # scswitch -S -h phys-schost-1 (ノードを再起動します。) # shutdown -g0 -y -i6 (2 番目のサブミラーを接続します。) # metattach d1 d21 d1: Submirror d21 is attached (同期の状態を表示します。) # metastat d1 d1: Mirror Submirror 0: d11 State: Okay Submirror 1: d21 State: Resyncing Resync in progress: 15 % done … (ミラー化したディスクの raw ディスクデバイスグループのデバイス ID 名を確認します。) # scdidadm -L … 1 phys-schost-3:/dev/rdsk/c2t2d0 /dev/did/rdsk/d2 (デバイスグループのノードリストを表示します。) # scconf -pvv | grep dsk/d2 Device group name: dsk/d2 … (dsk/d2) Device group node list: phys-schost-1, phys-schost-3 … (ノードリストから phys-schost-3 を削除します。) # scconf -r -D name=dsk/d2,nodelist=phys-schost-3 (localonly プロパティーを有効にします。) # scconf -c -D name=dsk/d2,localonly=true |
ユーザー定義のファイルシステムをミラー化する場合は、「マウント解除できるファイルシステムをミラー化する」に進みます。
上記以外の場合は、 「クラスタ内でのディスクセットの作成」に進んで、ディスクセットを作成します。
このミラー化のいくつかの手順において、「metainit: dg-schost-1: d1s0: not a metadevice」のようなエラーメッセージが出力されることがあります。このようなエラーメッセージは危険ではなく、無視してもかまいません。