次の表に、Sun Cluster 構成用に Solstice DiskSuite ソフトウェアを構成するために行う作業を示します。
表 A-1 作業マップ : Sun Cluster 構成用の Solstice DiskSuite の構成
作業 |
参照箇所 |
---|---|
Solstice DiskSuite 構成のレイアウトを計画する。 | |
構成に必要なメタデバイス名とディスクセットの個数を計算し、/kernel/drv/md.conf ファイルを変更する。 | |
ローカルディスクにメタデバイス状態データベースの複製を作成する。 | |
(任意)。ルートディスクのファイルシステムをミラー化する。 | |
metaset コマンドを使用してディスクセットを作成する。 | |
ディスクセットにディスクドライブを追加する。 | |
ディスクセット内のドライブを再パーティション分割し、スライス 1 〜 6 に領域を割り当てる。 | |
デバイス ID 擬似デバイスのマッピングを表示し、/etc/lvm/md.tab ファイルにメタデバイスを定義する。 | |
md.tab ファイルを初期化する。 | |
二重列構成の場合、メディエータホストを構成してメディエータデータの状態を確認する。また必要に応じて、不正なメディエータデータを修正する。 | |
クラスタファイルシステムを作成してマウントする。 |
この手順では、構成に必要なメタデバイス名とディスクセット数を算出し、/kernel/drv/md.conf ファイルを変更する方法について説明します。
メタデバイス名のデフォルトの数は 128 です。多くの構成ではこれ以上の数が必要になります。構成を実装する前にこの数を増やしておくと、後で管理時間の節約になります。
各ディスクセットで使用するメタデバイス名の最大数を求めることによって、必要なメタデバイス名の個数を算出します。
この個数は、実際の量ではなく、メタデバイス名の値に基づいています。たとえば、メタデバイス名が d950 から d1000 の場合、Solstice DiskSuite は、50 ではなく、1000 個の名前を必要とします。
クラスタでは、ディスクセットあたり最大 8192 個のメタデバイス名を使用できます。
クラスタ内のディスクセットの予想個数を計算し、プライベートディスク管理用に 1 つ追加します。
クラスタでは、最大 32 個のディスクセットを使用できます。
/kernel/drv/md.conf ファイルを編集します。
すべてのクラスタノード (クラスタペアトポロジの場合はクラスタペア) の /kernel/drv/md.conf ファイルの内容は、それぞれのノードがサービスを提供するディスクセット数に関係なく、同一である必要があります。このガイドラインに従わないと、重大な Solstice DiskSuite エラーが発生し、データが失われることがあります。
計算によって求めたメタデバイス名の数が 128 個を超える場合は、nmd フィールドを、ディスクセットで使用されるメタデバイス名の最大値に設定します。
md_nsets フィールドを、手順 2 で計算した数に設定します。
/kernel/drv/md.conf ファイルに対する変更は、再起動後に有効になります。
「メタデバイス状態データベースの複製を作成する」に進み、ローカルに複製を作成します。
クラスタ内の各ノード上で次の手順を実行します。
クラスタノードのスーパーユーザーになります。
metadb コマンドを使用し、各クラスタノードの 1 つまたは複数のローカルディスクに複製を作成します。
詳細については、metadb(1M) のマニュアルページと Solstice DiskSuite のマニュアルを参照してください。
Solstice DiskSuite ソフトウェアの実行に必要なメタデバイス状態データを保護するには、各ノードごとに少なくとも 3 つの複製を作成します。また、複数のディスクに複製を配置することによって、いずれかのディスクに障害が発生した場合に対する保護も提供できます。
複製を検査します。
# metadb |
次の例に、それぞれが別個のディスクに作成された 3 つのメタデバイス状態データベースの複製を示します。
# metadb -af c0t0d0s7 c0t1d0s7 c1t0d0s7 # metadb flags first blk block count a u 16 1034 /dev/dsk/c0t0d0s7 a u 1050 1034 /dev/dsk/c0t1d0s7 a u 2084 1034 /dev/dsk/c1t0d0s7 |
ルートディスクのファイルシステムをミラー化する場合は、「ルートディスクのミラー化」に進んでください。その他の場合は、Solstice DiskSuite ディスクセットを作成するために、「メタデバイス状態データベースの複製を作成する」に進んでください。
ルートディスクをミラー化することによって、システムディスクの障害のためにクラスタノード自体が停止することを防止します。ルートディスクには、4 種類のファイルシステムを配置できます。ファイルシステムは、各種類ごとに異なる方法でミラー化します。
上記のミラー化手順の一部で次のようなエラーメッセージが表示されることがありますが、無視してください。
metainit:dg-schost-1:d1s0:not a metadevice |
ローカルディスクをミラー化する場合は、ディスク名を指定する際にパスに /dev/global を使用しないでください。クラスタファイルシステム以外にこのパスを指定すると、システムを起動できなくなります。
次の手順を使用し、ルート (/) ファイルシステムをミラー化します。
クラスタのノードのスーパーユーザーになります。
metainit(1M) コマンドを使用し、ルートスライスを単一スライス (1 方向) 連結にします。
# 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 -g 0 -y -i 6 |
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) のマニュアルページを参照してください。
scconf(1M) コマンドを使用し、localonly プロパティを有効にします。
# scconf -c -D name=rawdisk_groupname,localonly=true |
raw ディスクデバイスグループの名前を指定します。
将来使用する場合に備えて、代替起動パスを記録しておきます。
# ls -l /dev/rdsk/root-disk-slice |
クラスタ内のその他の各ノードで 手順 1 〜 手順 11 を繰り返します。
ミラーのメタデバイス名は、クラスタ全体で一意になるようにします。
次の例に、パーティション 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 -g 0 -y -i 6 (2 つ目のサブミラーを接続する) # metattach d0 d20 d0:Submirror d20 is attached (ミラー化されたディスクの 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 |
「広域名前空間をミラー化する」に進み、広域名前空間 /global/.devices/node@nodeid をミラー化します。
次の手順を使用し、広域名前空間 /global/.devices/node@nodeid をミラー化します。
クラスタのノードのスーパーユーザーになります。
広域名前空間を単一スライス (1 方向) 連結にします。
# metainit -f submirror1 1 1 disk-slice |
2 つ目の連結を作成します。
# metainit -f submirror2 1 1 submirror-disk-slice |
1 つのサブミラーを使用して 1 方向のミラーを作成します。
このミラーのメタデバイス名は、クラスタ全体で一意でなければなりません。
# metainit mirror -m submirror1 |
2 つ目のサブミラーをこのミラーに接続します。
このように接続することで、サブミラーの同期が開始されます。
# metattach mirror submirror2 |
/global/.devices/node@nodeid ファイルシステム用に /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 /global/.devices/node@nodeid ufs 2 no global |
クラスタ内のその他の各ノードで 手順 1 〜 手順 6 を繰り返します。
ミラーのメタデバイス名は、クラスタ全体で一意になるようにします。
手順 5 で開始したミラーの同期が完了するまで待機します。
metastat(1M) コマンドを使用し、ミラー化の状態を参照します。
# metastat mirror |
広域名前空間のミラー化に使用したディスクが複数のノード (多重ポート) に物理的に接続されている場合は、そのディスクの 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) のマニュアルページを参照してください。
scconf(1M) コマンドを使用し、localonly プロパティを有効にします。
# scconf -c -D name=rawdisk_groupname,localonly=true |
raw ディスクデバイスグループの名前を指定します。
次の例に、パーティション c0t0d0s3 上のサブミラー d111 と パーティション c2t2d0s3 上のサブミラー d121 で構成されているミラー d101 を作成する方法を示します。/global/.devices/node@1 の /etc/vfstab ファイルエントリは、ミラー名 d101 を使用するように更新されます。ディスク c2t2d0 は多重ポートディスクなので、localonly プロパティが有効に設定されています。
(ミラーを作成する) # metainit -f d111 1 1 c0t0d0s3 d111:Concat/Stripe is setup # metainit -f d121 1 1 c2t2d0s3 d121:Concat/Stripe is setup # metainit d101 -m d111 d101:Mirror is setup # metattach d101 d121 d101:Submirror d121 is attached (/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/d101 /dev/md/rdsk/d101 /global/.devices/node@1 ufs 2 no global (同期状況を表示する) # metastat d101 d101:Mirror Submirror 0:d111 State:Okay Submirror 1:d121 State:Resyncing Resync in progress:15 % done ... (ミラー化したディスクの raw ディスクデバイスグループの DID 名を判別する) # scdidadm -L ... 1 phys-schost-3:/dev/rdsk/c2t2d0 /dev/did/rdsk/d2 (ミラー化したディスクの raw ディスクデバイスグループの localonly プロパティを有効にする) # scconf -c -D name=dsk/d2,localonly=true |
/usr、/opt、swap など、通常のシステム使用時にはマウント解除できないファイルシステムをミラー化する場合は、「マウント解除できないファイルシステムをミラー化する」に進みます。ユーザー定義ファイルシステムをミラー化する場合は、「ユーザー定義ファイルシステムをミラー化する」に進みます。
その他の場合は、ディスクセットを作成するために、「ディスクセットを作成する」に進みます。
次の手順を使用し、/usr、/opt、swap などの、通常のシステム使用時にはマウント解除できないファイルシステムをミラー化します。
クラスタのノードのスーパーユーザーになります。
マウント解除できないファイルシステムが存在しているスライスを単一スライス (1 方向) 連結にします。
# metainit -f submirror1 1 1 disk-slice |
2 つ目の連結を作成します。
# metainit -f submirror2 1 1 submirror-disk-slice |
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 /file-system ufs 2 no global |
リソースグループまたはデバイスグループをノードから退避させます。
# scswitch -S -h node |
すべてのリソースグループとデバイスグループを退避させます。
リソースグループまたはデバイスグループを退避させるノード名を指定します。
ノードを再起動します。
# shutdown -g 0 -y -i 6 |
2 つ目のサブミラーを各ミラーに接続します。
このように接続することで、サブミラーの同期が開始されます。
# metattach mirror submirror2 |
手順 9 で開始したミラーの同期が完了するまで待機します。
metastat(1M) コマンドを使用し、ミラー化の状態を参照します。
# metastat mirror |
マウント解除できないファイルシステムのミラー化に使用したディスクが複数のノード (多重ポート) に物理的に接続されている場合は、そのディスクの 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) のマニュアルページを参照してください。
scconf(1M) コマンドを使用し、localonly プロパティを有効にします。
# scconf -c -D name=rawdisk_groupname,localonly=true |
raw ディスクデバイスグループの名前を指定します。
次の例に、ノード 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 -f 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 (ノードを再起動する) # scswitch -S -h phys-schost-1 # shutdown -g 0 -y -i 6 (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 ディスクデバイスグループの DID 名を判別する) # scdidadm -L ... 1 phys-schost-3:/dev/rdsk/c2t2d0 /dev/did/rdsk/d2 (ミラー化したディスクの raw ディスクデバイスグループの localonly プロパティを有効にする) # scconf -c -D name=dsk/d2,localonly=true |
ユーザー定義ファイルシステムをミラー化するには、「ユーザー定義ファイルシステムをミラー化する」に進んでください。その他の場合は、ディスクセットを作成するために、「ディスクセットを作成する」に進んでください。
次の手順を使用し、ユーザー定義ファイルシステムをミラー化します。この手順では、ノードを再起動する必要はありません。
クラスタのノードのスーパーユーザーになります。
ユーザー定義ファイルシステムが存在するスライスを単一スライス (1 方向) 連結にします。
# metainit -f submirror1 1 1 disk-slice |
2 つ目の連結を作成します。
# metainit -f submirror2 1 1 submirror-disk-slice |
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 /file-system ufs 2 no global |
2 つ目のサブミラーをこのミラーに接続します。
このように接続することで、サブミラーの同期が開始されます。
# metattach mirror submirror2 |
手順 7 で開始したミラーの同期が完了するまで待機します。
metastat(1M) コマンドを使用し、ミラー化の状態を参照します。
# metastat mirror |
ユーザー定義ファイルシステムのミラー化に使用したディスクが複数のノード (多重ポート) に物理的に接続されている場合は、そのディスクの raw ディスクデバイスグループの localonly プロパティを有効にします。
起動デバイスが複数のノードに接続されている場合に、その起動デバイスが不意にノードを使用できなくなるのを防ぐために、localonly プロパティは有効にしておいてください。
必要に応じて、scdidadm -L コマンドを使用し、raw ディスクデバイスグループの完全なデバイス ID (DID) 擬似ドライバ名を表示します。
次の例では、raw ディスクデバイスグループ名 dsk/d4 は、出力の第 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) のマニュアルページを参照してください。
scconf(1M) コマンドを使用し、localonly プロパティを有効にします。
# scconf -c -D name=rawdisk_groupname,localonly=true |
raw ディスクデバイスグループの名前を指定します。
次の例に、ミラー d4 を作成し、c0t0d0s4 上に存在する /home をミラー化する方法を示します。ミラー d4 は、パーティション c0t0d0s4 上のサブミラー d14 とパーティション c2t2d0s4 上のサブミラー d24 で構成されています。/home の /etc/vfstab ファイルエントリは、ミラー名 d4 を使用するように更新されます。ディスク c2t2d0 は多重ポートディスクなので、localonly プロパティが有効に設定されています。
(ミラーを作成する) # metainit -f d14 1 1 c0t0d0s4 d14:Concat/Stripe is setup # metainit -f d24 1 1 c2t2d0s4 d24:Concat/Stripe is setup # metainit d4 -m d14 d4: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/d4 /dev/md/rdsk/d4 /home ufs 2 no global (2 つ目のサブミラーを接続する) # metattach d4 d24 d4:Submirror d24 is attached (同期状態を参照する) # metastat d4 d4:Mirror Submirror 0:d14 State:Okay Submirror 1:d24 State:Resyncing Resync in progress:15 % done ... (ミラー化したディスクの raw ディスクデバイスグループの DID 名を判別する) # scdidadm -L ... 1 phys-schost-3:/dev/rdsk/c2t2d0 /dev/did/rdsk/d2 (ミラー化したディスクの raw ディスクデバイスグループの localonly プロパティを有効にする) # scconf -c -D name=dsk/d2,localonly=true |
「ディスクセットを作成する」に進み、ディスクセットを作成します。
クラスタ内に作成するディスクセットごとに、次の手順を実行します。
2 つの列だけで構成されている場合、ディスクセットは必ず 2 つのノードに接続し、2 つのメディエータホストを使用する必要があります。これらのホストは、ディスクセットに使用するものと同じ 2 つのホストでなければなりません。メディエータの設定についての詳細は、「メディエータの概要」を参照してください。
3 つ以上の列で構成されている場合は、必ず、任意の 2 つの列 (S1 と S2) のディスク数の合計を 3 つ目の列 (S3) のディスク数より多くします。この必要条件を数式で表すと、ディスク数 (S1) + ディスク数 (S2) > ディスク数 (S3) となります。
クラスタノード名の表示に /.rhosts ファイルを使用しない場合は、root がグループ 14 のメンバーになるようにします。
# vi /etc/group ... sysadmin::14:root ... |
ローカルにメタデバイス状態データベースの複製が存在することを確認します。
必要に応じて、「メタデバイス状態データベースの複製を作成する」の手順を参照してください。
ディスクセットをマスターするクラスタノードのスーパーユーザーになります。
ディスクセットを作成します。
このコマンドによって、ディスクセットを Sun Cluster ディスクデバイスグループとして登録する作業も行われます。
# metaset -s setname -a -h nodename1 nodename2 |
ディスクセット名を指定します。
ディスクセットを追加 (作成) します。
ディスクセットをマスターする主ノードの名前を指定します。
ディスクセットをマスターする二次ノードの名前を指定します。
新しいディスクセットの状態を検査します。
# metaset -s setname |
次のコマンドでは、2 つのディスクセット dg-schost-1 と dg-schost-2 が作成され、ノード phys-schost-1 と phys-schost-2 が潜在的主ノードとして割り当てられます。
# metaset -s dg-schost-1 -a -h phys-schost-1 phys-schost-2 # metaset -s dg-schost-2 -a -h phys-schost-1 phys-schost-2 |
「ディスクセットにドライブを追加する」に進み、ディスクセットにドライブを追加します。
ディスクセットにディスクドライブを追加すると、Solstice DiskSuite は次のようにドライブのパーティションを再分割し、ディスクセット用のメタデバイス状態データベースをドライブに配置できるようにします。
各ドライブの小さな領域をスライス 7 として Solstice DiskSuite ソフトウェア用に予約します。各ドライブの残り領域はスライス 0 に組み込まれます。
ディスクセットにドライブが追加されると、スライス 7 が正しく構成されていない場合にのみ、ドライブのパーティションが再分割されます。
パーティションの再分割によって、ディスク上の既存のデータはすべて失われます。
スライス 7 がシリンダ 0 から始まり、ディスクに状態データベースの複製を格納するための十分な領域がある場合、ディスクの再分割は行われません。
ノードのスーパーユーザーになります。
ディスクセットが作成済みであることを確認します。
必要に応じて、「ディスクセットを作成する」を参照してください。
デバイス ID (DID) マッピングの一覧を表示します。
# scdidadm -L |
ディスクセットをマスターする (またはマスターする可能性がある) クラスタノードによって共有されているドライブを選択します。
ディスクセットにドライブを追加するときは、完全な DID 擬似ドライバ名を使用します。
出力の 1 列目は DID インスタンス番号、2 列目は完全パス (物理パス)、3 列目は完全な DID 擬似ドライバ名 (疑似パス) になります。共有ドライブには、1 つの DID インスタンス番号に対して複数のエントリがあります。
次の例では、DID インスタンス番号 2 のエントリは、phys-schost-1 と phys-schost-2 で共有されているドライブを示しており、完全な DID 名は /dev/did/rdsk/d2 です。
1 phys-schost-1:/dev/rdsk/c0t0d0 /dev/did/rdsk/d1 2 phys-schost-1:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 2 phys-schost-2:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 3 phys-schost-1:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3 3 phys-schost-2:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3 ... |
ディスクセットの所有権を取得します。
# metaset -s setname -t |
ディスクセット名を指定します。
ディスクセットの所有権を取得します。
ディスクセットにドライブを追加します。
完全な DID 擬似ドライバ名を使用します。
ディスクセットにドライブを追加するときは、下位デバイス名 (cNtXdY) は 使用しないでください。下位レベルデバイス名はローカル名であり、クラスタ全体で一意ではないため、この名前を使用するとメタセットがスイッチオーバーできなくなる可能性があります。
# metaset -s setname -a DIDname |
ディスクセットにディスクドライブを追加します。
新しいディスクセットとドライブの状態を検査します。
# metaset -s setname |
metaset コマンドによって、ディスクドライブ /dev/did/dsk/d1 と /dev/did/dsk/d2 がディスクセット dg-schost-1 に追加されます。
# metaset -s dg-schost-1 -a /dev/did/dsk/d1 /dev/did/dsk/d2 |
「ディスクセット内のドライブのパーティションを再分割する」に進み、ドライブのパーティションを再分割してメタデバイスで使用できるようにします。
metaset(1M) コマンドは、ディスクセット内のドライブのパーティションを再分割し、各ドライブの小さな領域をスライス 7 として Solstice DiskSuite ソフトウェア用に予約します。各ドライブの残り領域はスライス 0 に組み込まれます。ディスクをより効果的に利用するために、この手順に従ってディスクの配置を変更してください。スライス 1 〜 6 に領域を割り当てることで、メタデバイスを設定するときにこれらのスライスを使用できるようになります。
クラスタノードのスーパーユーザーになります。
format(1M) コマンドを使用し、ディスクセット内の各ドライブのディスクパーティションを変更します。
ドライブのパーティションを再分割する際は、以下の条件を満たすことで、metaset(1M) コマンドでディスクのパーティションを再分割できないようにする必要があります。
状態データベースの複製を格納するのに十分な大きさ (約 2M バイト) の、シリンダ 0 から始まるパーティション 7 を作成します。
スライス 7 の Flag フィールドは V_UNMT (マウント解除不可) に設定します。読み取り専用には設定しないでください。
スライス 7 がディスク上の他のスライスとオーバーラップしないようにします。
詳細については、format(1M) のマニュアルページを参照してください。
「md.tab ファイルを作成する」に進み、md.tab ファイルを使用してメタデバイスを定義します。
クラスタ内の各ノードごとに /etc/lvm/md.tab ファイルを作成します。
Solstice DiskSuite ソフトウェアを使用する際は、ディスクセットの構成に使用したデバイス ID (DID) 名とは別の名前をローカルメタデバイスに付けるようにしてください。たとえば、ディスクセットで /dev/did/dsk/d3 という DID 名が使用されている場合は、ローカルデバイスを構成する際に、/dev/md/dsk/d3 という名前は使用しないでください。
クラスタノードのスーパーユーザーになります。
md.tab ファイルを作成するときの参照用とし、DID マッピングの一覧を表示します。
下位デバイス名 (cNtXdY) の代わりに、md.tab ファイルの完全な DID 擬似ドライバ名を使用します。
# scdidadm -L |
次の出力例では、1 列目が DID インスタンス番号、2 列目が完全パス (物理パス)、3 列目が完全な DID 擬似ドライバ名 (疑似パス) です。
1 phys-schost-1:/dev/rdsk/c0t0d0 /dev/did/rdsk/d1 2 phys-schost-1:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 2 phys-schost-2:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 3 phys-schost-1:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3 3 phys-schost-2:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3 ... |
/etc/lvm/md.tab ファイルを作成し、エディタを使用して手作業で編集します。
md.tab ファイルの作成の詳細については、Solstice DiskSuite のマニュアルを参照してください。
次の md.tab のサンプルファイルでは、dg-schost-1 というディスクセット用のメタデバイスを定義しています。md.tab ファイル内の行の順序は重要ではありません。
dg-schost-1/d0 -t dg-schost-1/d1 dg-schost-1/d4 dg-schost-1/d1 -m dg-schost-1/d2 dg-schost-1/d2 1 1 /dev/did/rdsk/d1s4 dg-schost-1/d3 1 1 /dev/did/rdsk/d55s4 dg-schost-1/d4 -m dg-schost-1/d5 dg-schost-1/d5 1 1 /dev/did/rdsk/d3s5 dg-schost-1/d6 1 1 /dev/did/rdsk/d57s5 |
サンプル md.tab ファイルは、以下のように構築されています。
先頭行では、トランスメタデバイス d0 を、マスター (UFS) メタデバイス d1 とログデバイス d4 で構成されると定義しています。-t は、これがトランスメタデバイスであることを示します。マスターおよびログデバイスは、-t フラグの後の位置で指定されます。
dg-schost-1/d0 -t dg-schost-1/d1 dg-schost-1/d4 |
2 行目では、マスターデバイスをメタデバイスのミラーと定義しています。この定義の -m は、ミラーデバイスであることと、サブミラーの 1 つである d2 がミラーデバイス d1 と関連付けられていることを表します。
dg-schost-1/d1 -m dg-schost-1/d2 |
5 行目も同様に、ログデバイス d4 をメタデバイスのミラーと定義しています。
dg-schost-1/d4 -m dg-schost-1/d5 |
3 行目は、マスターデバイスの最初のサブミラー d2 を 1 方向のストライプと定義しています。
dg-schost-1/d2 1 1 /dev/did/rdsk/d1s4 |
4 行目は、マスターデバイスの 2 つ目のサブミラー d3 を 1 方向のストライプとして定義しています。
dg-schost-1/d2 1 1 /dev/did/rdsk/d1s4 |
最後は、ログデバイスのサブミラー d5 および d6 の定義です。この例では、各サブミラーごとに簡単なメタデバイスが作成されます。
dg-schost-1/d5 1 1 /dev/did/rdsk/d3s5 dg-schost-1/d6 1 1 /dev/did/rdsk/d57s5 |
サブミラーに使用するディスクにデータがすでに存在している場合は、メタデバイスを構成する前にそのデータのバックアップを取り、ミラーに復元する必要があります。
「メタデバイスを起動する」に進み、md.tab ファイルで定義したメタデバイスを起動します。
以下の条件に当てはまることを確認します。
コマンドを実行するノードでディスクセットの所有権を持っている。
md.tab ファイルが /etc/lvm ディレクトリに置かれている。
クラスタノードのスーパーユーザーになります。
ディスクセットの所有権を取得します。
# metaset -s setname -t |
ディスクセット名を指定します。
ディスクセットの所有権を取得します。
md.tab ファイルで定義されているディスクセットのメタデバイスを起動します。
# metainit -s setname -a |
md.tab ファイルで定義されているすべてのメタデバイスを起動します。
各マスターおよびログデバイスに、2 つ目のサブミラー (submirror2) を接続します。
md.tab ファイル内のメタデバイスを起動すると、マスターの最初のサブミラー (submirror1) とログデバイスだけが接続されるため、submirror2 は手作業で接続する必要があります。
# metattach mirror submirror2 |
クラスタ内の各ディスクセットに対し、手順 4 および 手順 5 を繰り返します。
必要に応じて、ディスクに接続できる別のノードから metainit(1M) コマンドを実行します。クラスタ化ペアトポロジでは、すべてのノードがディスクにアクセスできるわけではないため、この手順が必要になります。
ディスクセットの状態を確認します。
# metaset -s setname |
次の例では、md.tab ファイルでディスクセット dg-schost-1 に対して定義されているすべてのメタデバイスを起動します。続いて、マスターデバイスの 2 つ目のサブミラー dg-schost-1/d1 とログデバイス dg-schost-1/d4 を起動します。
# metainit -s dg-schost-1 -a # metattach dg-schost-1/d1 dg-schost-1/d3 # metattach dg-schost-1/d4 dg-schost-1/d6 |
2 つのディスク格納装置と 2 つのノードだけで構成されたディスクセットがクラスタに含まれている場合、それらのディスクセットにはメディエータが必要になります。「メディエータの概要」に進み、メディエータホストを追加します。その他の場合は、「クラスタファイルシステムを追加する」に進み、クラスタファイルシステムを作成します。
メディエータ、またはメディエータホストとは、メディエータデータを格納するクラスタノードのことです。メディエータデータは、その他のメディエータの場所に関する情報を提供するもので、データベースの複製に格納されているコミット数と同一のコミット数が含まれています。このコミット数は、メディエータデータがデータベースの複製内のデータと同期しているかどうかを確認するために使用されます。
メディエータは、2 つの列と 2 つのクラスタノードだけで構成されているすべての Solstice DiskSuite ディスクセットで必要です。列は、ディスク格納装置、その物理ディスク、格納装置からノードへのケーブル、インタフェースアダプタカードで構成されます。メディエータを使用することで、Sun Cluster ソフトウェアは、二重列構成の単一の列に障害が発生した場合に、最新のデータを提示できるようになります。メディエータを使用した二重列構成には、以下の規則が適用されます。
ディスクセットは 2 つのメディエータホストだけで構成し、これら 2 つのメディエータホストは、ディスクセットに使用されているものと同じ 2 つのクラスタノードにする。
ディスクセットに 3 つ以上のメディエータホストを使用できない。
メディエータは、2 つの列と 2 つのホストという基準を満たさないディスクセットでは構成できない。
上記の規則では、クラスタ全体で 2 つのノードを使用する必要があるわけではなく、2 つの列を持つディスクセットが 2 つのノードに接続する必要があることだけを規定しています。この規則の下では、N+1 クラスタやその他の多くのトポロジを利用できます。
構成にメディエータが必要な場合は、以下の手順を実行します。
メディエータホストを追加するディスクセットを現在マスターしているノードのスーパーユーザーになります。
metaset(1M) コマンドを実行し、ディスクセットに接続されている各ノードをそのディスクセットのメディエータホストとして追加します。
# metaset -s setname -a -m mediator_host_list |
ディスクセット名を指定します。
ディスクセットに追加します。
ディスクセットのメディエータホストとして追加するノードの名前を指定します。
metaset コマンドのメディエータ固有のオプションの詳細については、mediator(7) のマニュアルページを参照してください。
次の例では、ノード phys-schost-1 と phys-schost-2 をディスクセット dg-schost-1 のメディエータホストとして追加します。どちらのコマンドも、ノード phys-schost-1 から実行します。
# metaset -s dg-schost-1 -a -m phys-schost-1 # metaset -s dg-schost-1 -a -m phys-schost-2 |
「メディエータデータの状態を確認する」に進み、メディエータデータの状態を確認します。
medstat(1M) コマンドを実行します。
# medstat -s setname |
ディスクセット名を指定します。
Status フィールドの値が Bad の場合は、「不正なメディエータデータを修復する」の手順に従って、関連するメディエータホストを修復します。
詳細については、medstat(1M) のマニュアルページを参照してください。
いずれかのメディエータホストのメディエータデータが不正な場合は、「不正なメディエータデータを修復する」の手順に従って問題を解決してください。その他の場合は、「クラスタファイルシステムを追加する」に進み、クラスタファイルシステムを作成します。
次の手順を実行し、不正なメディエータデータを修復します。メディエータデータの状態を確認するには、「メディエータデータの状態を確認する」を参照してください。
関連するディスクセットを所有しているノードのスーパーユーザーになります。
関連するすべてのディスクセットから、不正なメディエータデータを持つメディエータホストを削除します。
# metaset -s setname -d -m mediator_host_list |
ディスクセット名を指定します。
ディスクセットから削除します。
ディスクセットのメディエータホストとして削除するノードの名前を指定します。
メディエータホストを復元します。
# metaset -s setname -a -m mediator_host_list |
ディスクセットに追加します。
ディスクセットのメディエータホストとして追加するノードの名前を指定します。
metaset コマンドのメディエータ固有のオプションの詳細については、mediator(7) のマニュアルページを参照してください。
「クラスタファイルシステムを追加する」に進み、クラスタファイルシステムを作成します。