ディスクドライブのマッピング
『Sun Cluster 3.0 U1 ご使用にあたって』の以下のワークシートに必要事項を記入したもの。計画のガイドラインについては、「ボリューム管理の計画」を参照してください。
「ローカルファイルシステム配置のワークシート」
「ディスクデバイスグループ構成のワークシート」
「ボリューム管理ソフトウェア構成のワークシート」
「メタデバイスのワークシート (Solstice DiskSuite)」
次の表に、Sun Cluster 構成用の Solstice DiskSuite ソフトウェアのインストールと構成において行う作業を示します。
SunPlex Manager を使用して Solstice DiskSuite ソフトウェアをインストールした場合は、「Solstice DiskSuite ソフトウェアをインストールする」から 「メタデバイス状態データベースの複製を作成する」までの作業はすでに行われています。
作業 |
参照箇所 |
---|---|
Solstice DiskSuite 構成のレイアウトを計画する | |
Solstice DiskSuite ソフトウェアをインストールする | |
構成に必要なメタデバイス名とディスクセットの個数を計算し、/kernel/drv/md.conf ファイルを変更する | |
ローカルディスクにメタデバイス状態データベースの複製を作成する | |
(任意) ルートディスクのファイルシステムをミラー化する | |
metaset コマンドを使用してディスクセットを作成する | |
ディスクセットにディスクドライブを追加する | |
ディスクセット内のドライブのパーティションを再分割し、スライス 1 〜 6 に領域を割り当てる | |
デバイス ID 擬似デバイスのマッピングを表示し、/etc/lvm/md.tab ファイルにメタデバイスを定義する | |
md.tab ファイルを初期化する | |
二重列構成の場合、メディエータホストを構成してメディエータデータの状態を確認する。また必要に応じて、不正なメディエータデータを修正する | |
クラスタを構成する |
SunPlex Manager を使用して Solstice DiskSuite ソフトウェアをインストールした場合は、この作業を行わないでください。代わりに、「ルートディスクのミラー化」へ進んでください。
クラスタ内の各ノードで次の作業を行います。
クラスタノードのスーパーユーザになります。
CD-ROM から インストールする場合は、Solaris 8 SOFTWARE 2 of 2 CD-ROM をノードの CD-ROM ドライブに挿入します。
この手順では、ボリューム管理デーモン vold(1M) が実行されており、CD-ROM デバイスを管理するように構成されていることを想定しています。
Solstice DiskSuite ソフトウェアパッケージをインストールします。
Solstice DiskSuite ソフトウェアパッチをインストールする場合は、Solstice DiskSuite ソフトウェアをインストールした後に再起動しないでください。
ソフトウェアパッケージは、次の例に示す順序でインストールします。
# cd /cdrom/sol_8_sparc_2/Solaris_8/EA/products/DiskSuite_4.2.1/sparc/Packages # pkgadd -d . SUNWmdr SUNWmdu [SUNWmdx] optional-pkgs |
すべての Solstice DiskSuite のインストールには、SUNWmdr および SUNWmdu パッケージが必要です。64 ビット版の Solstice DiskSuite をインストールするには、SUNWmdx パッケージも必要です。
ソフトウェアパッケージの詳細については、Solstice DiskSuite のインストールマニュアルを参照してください。
CD-ROM からインストールした場合は、CD-ROM を取り出します。
Solstice DiskSuite パッチをインストールします。
パッチの入手方法とインストール方法については、『Sun Cluster 3.0 U1 ご使用にあたって』を参照してください。
クラスタの 1 つのノードから、Solstice DiskSuite の広域デバイス名前空間を手作業で生成します。
# scgdevs |
クラスタで使用するメタデバイス名とディスクセットの数を設定します。
「メタデバイス名とディスクセット数を算出する」へ進んでください。
SunPlex Manager を使用して Solstice DiskSuite ソフトウェアをインストールした場合は、この作業を行わないでください。代わりに、「ルートディスクのミラー化」へ進んでください。
この手順では、構成に必要なメタデバイス名とディスクセット数を算出し、/kernel/drv/md.conf ファイルを変更する方法について説明します。
メタデバイス名のデフォルトの数は、ディスクセットごとに 128 ですが、多くの構成ではこれ以上の数が必要になります。構成を実装する前にこの数を増やしておくと、後で管理時間の節約になります。
クラスタ内のディスクセットに必要なメタデバイス名の最大数を計算します。
各ディスクセットは、最大 8192 個のメタデバイス名を持つことができます。算出した値は、nmd フィールドに指定します。
各ディスクセットに必要なメタデバイス名の数を計算します。
ローカルメタデバイスを使用する場合は、クラスタ内で各メタデバイスが固有の名前を持ち、クラスタ内のほかのデバイス ID(DID) と同じ名前を使用することがないように注意してください。
DID 名にだけ使用する値の範囲と、各ノードのローカルメタデバイス名にだけ使用する範囲を選択してください。たとえば、d1 〜 d1000 を DID に、d1100 〜 d1199 をノード 1 のローカルメタデバイスに、d1200 〜 d1299をノード 2 のローカルメタデバイスに指定します。
ディスクセット内で使用するメタデバイス名の最大数を決定します。
設定するメタデバイスの個数は、実際の量ではなく、メタデバイス名の値に基づいています。たとえば、メタデバイス名が d950 から d1000 の場合、Solstice DiskSuite は、50 ではなく、1000 個の名前を必要とします。
クラスタ内のディスクセットの予想個数を計算し、プライベートディスク管理用に 1 つ追加します。
クラスタでは、最大 32 個のディスクセットを使用できます。ディスクセットのデフォルト値は 4 です。計算されたこの値は、md_nsets フィールドに指定します。
各ノードで /kernel/drv/md.conf ファイルを編集します。
すべてのクラスタノード (クラスタペアトポロジの場合はクラスタペア) の /kernel/drv/md.conf ファイルの内容は、それぞれのノードがサービスを提供するディスクセット数に関係なく、同一である必要があります。このガイドラインに従わないと、重大な Solstice DiskSuite エラーが発生し、データが失われることがあります。
各ノードで再構成再起動を行います。
# touch /reconfigure # shutdown -g0 -y -i6 |
/kernel/drv/md.conf ファイルに対する変更は、再起動後に有効になります。
ローカルに複製を作成します。
「メタデバイス状態データベースの複製を作成する」に進みます。
SunPlex Manager を使用して Solstice DiskSuite ソフトウェアをインストールした場合は、この作業を行わないでください。代わりに、「ルートディスクのミラー化」へ進んでください。
クラスタ内の各ノード上で次の手順を実行します。
クラスタノードのスーパーユーザーになります。
metadb コマンドを使用し、各クラスタノードの 1 つまたは複数のローカルディスクに複製を作成します。
詳細については、metadb(1M) のマニュアルページと Solstice DiskSuite のマニュアルを参照してください。
Solstice DiskSuite ソフトウェアの実行に必要なメタデバイス状態データを保護するには、各ノードごとに少なくとも 3 つの複製を作成します。また、複数のディスクに複製を配置することによって、いずれかのディスクに障害が発生した場合に対する保護も提供できます。
複製を検査します。
# metadb |
ルートディスク上のファイルシステムをミラー化するかどうかを決定します。
ミラー化する場合は、「ルートディスクのミラー化」へ進んでください。
ミラー化しない場合は、「ディスクセットを作成する」へ進み、Solstice DiskSuite ディスクセットを作成してください。
次の例に、それぞれが別個のディスクに作成された 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 |
ルートディスクをミラー化することによって、システムディスクの障害のためにクラスタノード自体が停止することを防止します。ルートディスクには、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 -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) のマニュアルページを参照してください。
scconf(1M) コマンドを使用し、localonly プロパティを有効にします。
# 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 ディスクデバイスグループの 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 をミラー化します。
クラスタのノードのスーパーユーザーになります。
広域名前空間を単一スライス (1 方向) 連結にします。
# metainit -f submirror1 1 1 diskslice |
2 つ目の連結を作成します。
# metainit -f submirror2 1 1 submirror-diskslice |
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 ディスクデバイスグループの名前を指定します。
マウント解除できないファイルシステムをミラー化するかどうかを決定します。
ミラー化する場合は、「マウント解除できないファイルシステムをミラー化する」へ進んでください。
ミラー化しない場合は、手順 11 へ進んでください。
ユーザー定義ファイルシステムをミラー化するかどうかを決定します。
ミラー化する場合は、「ユーザー定義ファイルシステムをミラー化する」へ進んでください。
ミラー化しない場合は、「ディスクセットを作成する」へ進み、ディスクセットを作成してください。
次の例に、パーティション 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 などの、通常のシステム使用時にはマウント解除できないファイルシステムをミラー化します。
クラスタのノードのスーパーユーザーになります。
マウント解除できないファイルシステムが存在しているスライスを単一スライス (1 方向) 連結にします。
# metainit -f submirror1 1 1 diskslice |
2 つ目の連結を作成します。
# metainit -f 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 node |
すべてのリソースグループとデバイスグループを退避させます。
リソースグループまたはデバイスグループを退避させるノード名を指定します。
ノードを再起動します。
# shutdown -g0 -y -i6 |
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 -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 ディスクデバイスグループの 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 diskslice |
2 つ目の連結を作成します。
# metainit -f 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 |
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 |
クラスタ内に作成するディスクセットごとに、次の手順を実行します。
SunPlex Manager を使用して Solstice DiskSuite ソフトウェアをインストールした場合は、1 〜 3 個のディスクセットがすでに存在している場合があります。SunPlex Manager が作成するメタセットの詳細は、「SunPlex Manager による Sun Cluster ソフトウェアのインストール」を参照してください。
作成するディスクセットが、以下の要件のいずれかを満たしていることを確認します。
2 つの列だけで構成されている場合、ディスクセットは必ず 2 つのノードに接続し、2 つのメディエータホストを使用する必要があります。これらのホストは、ディスクセットに使用するものと同じ 2 つのホストでなければなりません。メディエータの設定についての詳細は、「メディエータの概要」を参照してください。
3 つ以上の列で構成されている場合は、必ず、任意の 2 つの列 (S1 と S2) のディスク数の合計を 3 つ目の列 (S3) のディスク数より多くします。この必要条件を数式で表すと、ディスク数 (S1) + ディスク数 (S2) > ディスク数 (S3) となります。
root がグループ 14 のメンバーになるようにします。
# vi /etc/group ... sysadmin::14:root ... |
ローカルにメタデバイス状態データベースの複製が存在することを確認します。
手順については、「メタデバイス状態データベースの複製を作成する」を参照してください。
ディスクセットをマスターするクラスタノードのスーパーユーザーになります。
ディスクセットを作成します。
このコマンドによって、ディスクセットを Sun Cluster ディスクデバイスグループとして登録する作業も行われます。
# metaset -s setname -a -h node1 node2 |
ディスクセット名を指定します。
ディスクセットを追加 (作成) します。
ディスクセットをマスターする主ノードの名前を指定します。
ディスクセットをマスターする二次ノードの名前を指定します。
新しいディスクセットの状態を検査します。
# 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 擬似ドライバ名を使用します。
# metaset -s setname -a DIDname |
ディスクセットにディスクドライブを追加します。
共有ディスクのデバイス ID (DID) 名
ディスクセットにドライブを追加するときは、下位デバイス名 (cNtXdY) は 使用しないでください。下位レベルデバイス名はローカル名であり、クラスタ全体で一意ではないため、この名前を使用するとメタセットがスイッチオーバーできなくなる可能性があります。
新しいディスクセットとドライブの状態を検査します。
# metaset -s setname |
メタデバイスで使用するためにドライブのパーティションを再分割するかどうかを決定します。
再分割する場合は、「ディスクセット内のドライブのパーティションを再分割する」へ進んでください。
再分割しない場合は、「md.tab ファイルを作成する」へ進み、md.tab ファイルを使用してメタデバイスを定義してください。
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 ファイルを作成します。md.tab ファイルを使用し、作成したディスクセットのメタデバイスを定義します。
ローカルメタデバイスを使用する場合は、ディスクセットの構成に使用したデバイス ID (DID) 名とは別の名前をローカルメタデバイスに付けるようにしてください。たとえば、ディスクセットで /dev/did/dsk/d3 という DID 名が使用されている場合は、ローカルメタデバイスに /dev/md/dsk/d3 という名前は使用しないでください。この要件は、命名規約 /dev/md/setname/{r}dsk/d# を使用する共有メタデバイスには適用されません。
クラスタ環境内のローカルメタデバイス間での混乱を避けるため、クラスタ全体で各ローカルメタデバイス名が固有となるような命名規則を使用してください (たとえばノード 1 には d100 〜 d199 の名前を選択し、ノード 2 には d200 〜 d299 を使用するなど)。
クラスタノードのスーパーユーザーになります。
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.tad(4) のマニュアルページを参照してください。
サブミラーに使用するディスクにデータがすでに存在している場合は、メタデバイスを構成する前にそのデータのバックアップを取り、ミラーに復元する必要があります。
md.tab ファイルで定義したメタデバイスを起動します。
「メタデバイスを起動する」に進みます。
次の 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 |
クラスタ内の各ディスクセットに対し、手順 3 〜 手順 6 を繰り返します。
必要に応じて、ディスクに接続できる別のノードから metainit(1M) コマンドを実行します。クラスタ化ペアトポロジでは、すべてのノードがディスクにアクセスできるわけではないため、この手順が必要になります。
ディスクセットの状態を確認します。
# metastat -s setname |
詳細は、metastat(1M) のマニュアルページを参照してください。
2 つのディスク格納装置と 2 つのノードだけで構成されたディスクセットがクラスタに含まれているかどうかを確認します。
含まれている場合は、それらのディスクセットにはメディエータが必要です。「メディエータの概要」へ進み、メディエータホストを追加してください。
含まれていない場合は、「クラスタファイルシステムを追加する」へ進み、クラスタファイルシステムを作成してください。
次の例では、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 つのクラスタノードだけで構成されているすべての 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 |
ディスクセット名を指定します。
詳細については、medstat(1M) のマニュアルページを参照してください。
Status フィールドの値が Bad かどうかを確認します。
Bad の場合、「不正なメディエータデータを修復する」へ進み、関連するメディエータホストを修復してください。
この値以外の場合は、「クラスタファイルシステムを追加する」へ進み、クラスタファイルシステムを作成してください。
次の手順を実行し、不正なメディエータデータを修復します。
「メディエータデータの状態を確認する」の作業で説明されている方法で、不正なメディエータデータを持つメディエータホストを特定します。
関連するディスクセットを所有しているノードのスーパーユーザーになります。
関連するすべてのディスクセットから、不正なメディエータデータを持つメディエータホストを削除します。
# metaset -s setname -d -m mediator-host-list |
ディスクセット名を指定します。
ディスクセットから削除します。
ディスクセットのメディエータホストとして削除するノードの名前を指定します。
メディエータホストを復元します。
# metaset -s setname -a -m mediator-host-list |
ディスクセットに追加します。
ディスクセットのメディエータホストとして追加するノードの名前を指定します。
metaset コマンドのメディエータ固有のオプションの詳細については、mediator(7) のマニュアルページを参照してください。
クラスタファイルシステムを作成します。
「クラスタファイルシステムを追加する」に進みます。