この章で説明する手順と「ボリューム管理の計画」の計画情報に基づいて、Solstice DiskSuite または Solaris Volume Manager ソフトウェア用に、ローカルディスクおよび多重ホストディスクをインストールおよび構成してください。詳細については、Solstice DiskSuite または Solaris Volume Manager のマニュアルを参照してください。
DiskSuite Tool (Solstice DiskSuite metatool) と Solaris Management Console の拡張ストレージモジュール (Solaris ボリュームマネージャ) は、Sun Cluster ソフトウェアと互換性がありません。コマンド行インタフェースまたは Sun Cluster ユーティリティーを使用して、Solstice DiskSuite または Solaris Volume Manager ソフトウェアを構成します。
この章の内容は、次のとおりです。
次の表に、 Sun Cluster 構成用の Solstice DiskSuite または Solaris Volume Manager ソフトウェアのインストールと構成において行う作業を示します。次に示す状況では、該当する手順を実行する必要がありません。
SunPlex Installer を使用して Solstice DiskSuite ソフトウェア (Solaris 8) をインストールした場合は、「Solstice DiskSuite ソフトウェアをインストールする」 から 「状態データベースの複製を作成するには」 までの作業はすでに完了しています。「ルートディスクのミラー化」 または 「クラスタ内でのディスクセットの作成」 に進み、Solstice DiskSuite ソフトウェアの構成を継続してください。
Solaris 9 ソフトウェアをインストールした場合、Solaris ボリュームマネージャ はすでにインストールされています。「メタデバイス名またはボリューム名とディスクセットの数を算出する」 で構成を開始できます。
Solaris Volume Manager for Sun Cluster マルチオーナーディスクを作成して、Oracle Real Application Clusters で使用するように設定する場合は、マルチオーナーディスクセットの作成に「ディスクセットを作成するには」 から 「メタデバイスまたはボリュームを起動する」 までの手順を使用しないでください。
代わりに、『Sun Cluster Data Service for Oracle Real Application Clusters ガイド (Solaris OS 版)』の「Creating a Multi-Owner Disk Set in Solaris Volume Manager for Sun Cluster for the Oracle Real Application Clusters Database」に記載された手順を実行してください。
この節では、Solstice DiskSuite または Solaris Volume Manager ソフトウェアをインストールして構成するために次の情報と手順を紹介します。
この例では、各ディスクセットに配置するディスクドライブの数を決定するプロセスを理解するうえで役立つ情報を示します。ここでは、3 つの記憶装置が使用されています。既存のアプリケーションは、NFS (それぞれ 5G バイトの 2 つのファイルシステム) と 2 つの ORACLE データベース (5G バイトと10G バイト) 上で実行されています。
次の表に、この構成例に必要なドライブ数を求めるための計算式を示します。3 つの記憶装置を持つ構成では、28 個のドライブが必要になり、これらのドライブを 3 つの記憶装置の間でできるかぎり等配分します。必要なドライブの数は切り上げられるため、5G バイトのファイルシステムには、1G バイトのディスク空間が追加されていることに注意してください。
表 3–2 構成に必要なディスクドライブ数
用途 |
データ |
必要なディスク装置 |
必要なドライブ数 |
---|---|---|---|
nfs1 |
5G バイト |
3x2.1 G バイトディスクx2 (ミラー) |
6 |
nfs2 |
5G バイト |
3x2.1 G バイトディスクx2 (ミラー) |
6 |
SPARC:oracle1 |
5G バイト |
3x2.1 G バイトディスクx2 (ミラー) |
6 |
SPARC:oracle2 |
10G バイト |
5x2.1 G バイトディスクx2 (ミラー) |
10 |
次の表は、2 つのディスクセットと 4 つのデータサービス間のドライブ割り当てを示しています。
表 3–3 ディスクセットの割り当て
ディスクセット |
データサービス |
ドライブ |
記憶装置 1 |
記憶装置 2 |
記憶装置 3 |
---|---|---|---|---|---|
dg-schost-1 |
nfs1, oracle1 |
12 |
4 |
4 |
4 |
dg-schost-2 |
nfs2, oracle2 |
16 |
5 |
6 |
5 |
当初 dg-schost-1 には、それぞれの記憶装置から 4 つのドライブ (合計で 12 のドライブ) が割り当てられ、dg-schost-2 には、それぞれの記憶装置から 5 つまたは 6 つのドライブ (合計で16 のドライブ) が割り当てられます。
どちらのディスクセットにも、ホットスペアは割り当てられていません。1 つの記憶装置につき、少なくとも 1 つのホットスペアを各ディスクセットに割り当てることによってドライブをホットスペアし、完全な 2 面ミラー化を復元できます。
次のような状況ではこの手順を実行しないでください。
SunPlex Installer を使用して、Solstice DiskSuite ソフトウェアをインストールした。
追加のディスクセットの作成を計画している場合は、「メタデバイス名またはボリューム名とディスクセットの数を算出する」に進みます。
追加のディスクセットの作成を計画していない場合は、「メタデバイス名またはボリューム名とディスクセットの数を算出する」に進みます。
Solaris 9 ソフトウェアをインストールした。
Solaris 9 ソフトウェアと共に Solaris ボリュームマネージャ ソフトウェアが自動的にインストールされています。代わりに、「メタデバイス名またはボリューム名とディスクセットの数を算出する」に進みます。
クラスタ内の各ノードで次の作業を行います。
記憶装置のドライブのマッピング
以下に示す、必要事項を記入した構成計画ワークシート。計画のガイドラインについては、「ボリューム管理の計画」を参照してください。
クラスタノードのスーパーユーザーになります。
CD-ROM からインストールする場合は、ノードの CD-ROM ドライブに Solaris 8 Software 2 of 2 CD-ROM を挿入します。
この手順では、ボリューム管理デーモン vold(1M) が実行されており、CD-ROM デバイスを管理するように構成されていることを想定しています。
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 ソフトウェアパッチをインストールする場合は、Solstice DiskSuite ソフトウェアをインストールした後に 再起動しないでください。
すべての Solstice DiskSuite のインストールには、 SUNWmdr および SUNWmdu パッケージが必要です。64 ビット版の Solstice DiskSuite をインストールするには、SUNWmdx パッケージも必要です。
オプションのソフトウェアパッケージについては、Solstice DiskSuite のインストールマニュアルを参照してください。
CD-ROM からインストールした場合は、CD-ROM を取り出します。
Solstice DiskSuite パッチをすべてインストールします。
パッチの入手先とインストール方法については、『Sun Cluster 3.1 ご使用にあたって 』の「パッチと必須ファームウェアのレベル」を参照してください。
クラスタの 1 つのノードから、Solstice DiskSuite の広域デバイス名前空間を手作業で生成します。
# scgdevs |
scgdevs コマンドは、次のようなメッセージを返します。
Could not open /dev/rdsk/c0t6d0s2 to verify device id, Device busy |
リストされたデバイスが CD-ROM デバイスの場合は、メッセージを無視しても問題ありません。
クラスタで使用するメタデバイス名とディスクセットの数を設定します。
SunPlex Installer を使用して、Solstice DiskSuite ソフトウェアをインストールした場合は、この作業を行わないでください。代わりに、「ルートディスクのミラー化」に進みます。
この手順では、構成に必要とされる Solstice DiskSuite メタデバイス名または Solaris ボリュームマネージャ のボリューム名の数およびディスクセットを計算する方法について説明します。また、/kernel/drv/md.conf ファイルを変更して、これらの数を指定する方法についても説明します。
メタデバイス名またはボリューム名のデフォルトの数は、ディスクセットごとに 128 ですが、多くの構成ではこれ以上の数が必要になります。構成を実装する前にこの数を増やしておくと、後で管理時間の節約になります。
同時に、nmd および md_nsets フィールドの値はできるだけ低く抑えてください。デバイスを作成していなくても nmd および md_nsets によって指定された値に基づいて、可能性のあるすべてのデバイス分をメモリー構造上に確保します。最適なパフォーマンスを得るには、nmd と md_nsets の値を、使用するメタデバイスまたはボリュームの数よりもわずかに高く維持します。
必要事項を記入した「ディスクデバイスグループ構成のワークシート」を用意します。
クラスタ内のディスクセットに必要なディスクセットの合計数を計算して、ディスクセットをもう 1 つプライベートディスク管理に追加します。
クラスタは最大 32 個のディスクセットを持つことができます。一般的な使用のために 31 個 と、プライベートディスク管理のために 1 個です。デフォルトのディスクセット数は 4 です。この値は、手順 4で、md_nsetsフィールドに指定します。
クラスタ内のディスクセットに必要なメタデバイス名またはボリューム名の最大数を計算します。
各ディスクセットは、最大 8192 個のメタデバイス名またはボリューム名を持つことができます。この値は、手順 4 で、nmd フィールドに指定します。
各ディスクセットに必要なメタデバイス名またはボリューム名の数を計算します。
ローカルメタデバイスまたはボリュームを使用する場合、各ローカルメタデバイス名またはボリューム名がクラスタ全体で一意であり、クラスタ内にある任意のデバイス ID (DID) 名と同じ名前を使用していないことを確認します。
DID 名として排他的に使用する番号の範囲と、各ノードのローカルメタデバイス名またはボリューム名として排他的に使用する範囲を選択します。たとえば、DID は、d1 から d100 までの範囲の名前を使用します。ノード 1 上のローカルメタデバイスまたはボリュームは、d100 から d199 までの範囲の名前を使用します。また、ノード 2 上のローカルメタデバイスまたはボリュームは、d200 から d299 までの範囲の名前を使用します。
ディスクセットに必要なメタデバイス名またはボリューム名の最大数を計算します。
設定するメタデバイス名またはボリューム名の数は、メタデバイス名またはボリューム名の実際の数ではなく、メタデバイス名またはボリューム名の値に基づいています。たとえば、メタデバイス名またはボリューム名が d950 から d1000 の場合、Solstice DiskSuite または Solaris Volume Manager ソフトウェアは、50 ではなく 1000 個の名前を必要とします。
各ノードでスーパーユーザーになり、/kernel/drv/md.conf ファイルを編集します。
すべてのクラスタノード (クラスタペアトポロジの場合はクラスタペア) の /kernel/drv/md.conf ファイルの内容は、それぞれのノードがサービスを提供するディスクセット数に関係なく、同一である必要があります。このガイドラインに従わないと、重大な Solstice DiskSuite または Solaris Volume Manager エラーが発生し、データが失われることがあります。
各ノードで再構成再起動を行います。
# touch /reconfigure # shutdown -g0 -y -i6 |
/kernel/drv/md.conf ファイルに対する変更は、再起動後に有効になります。
ローカルの状態データベースの複製を作成します。
「状態データベースの複製を作成するには」に進みます。
SunPlex Installer を使用して、Solstice DiskSuite ソフトウェアをインストールした場合は、この作業を行わないでください。代わりに、「ルートディスクのミラー化」に進みます。
クラスタ内の各ノード上で次の手順を実行します。
クラスタノードのスーパーユーザーになります。
各クラスタノードの 1 つ以上のローカルデバイス上で状態データベースレプリカを作成します。
使用するスライスを指定するには、デバイス ID 名 (dN) ではなく、物理名 (cNtXdYsZ) を使用してください。
# metadb -af slice-1 slice-2 slice-3 |
Solstice DiskSuite または Solaris Volume Manager ソフトウェアの実行に必要な状態データを保護するには、各ノードごとに少なくとも 3 つの複製を作成します。また、複数のデバイスに複製を配置することによって、いずれかのデバイスに障害が発生した場合に対する保護も提供できます。
詳細については、metadb(1M) のマニュアルページと Solstice DiskSuite のマニュアルを参照してください。
複製を検査します。
# metadb |
metadb コマンドは複製の一覧を表示します。
ルートディスク上のファイルシステムをミラー化するには、「ルートディスクのミラー化」に進みます。
それ以外の場合は、「クラスタ内でのディスクセットの作成」 に進んで、Solstice DiskSuite または Solaris Volume Manager ディスクセットを作成します。
次の例は、Solstice DiskSuite 状態データベースの複製を 3 つ示しています。各複製は、異なるデバイス上に作成されています。Solaris ボリュームマネージャ の場合は、複製サイズが大きくなります。
# metadb -af c0t0d0s7 c0t1d0s7 c1t0d0s7 # metadb フラグ 最初のブロック ブロック数 a u 16 1034 /dev/dsk/c0t0d0s7 a u 16 1034 /dev/dsk/c0t1d0s7 a u 16 1034 /dev/dsk/c1t0d0s7 |
ルートディスクをミラー化することによって、システムディスクの障害のためにクラスタノード自体が停止することを防止します。ルートディスクには、4 種類のファイルシステムを配置できます。ファイルシステムは、各種類ごとに異なる方法でミラー化します。
上記のミラー化手順の一部で次のようなエラーメッセージが表示されることがありますが、無視してください。
metainit: dg-schost-1: d1s0: メタデバイスではありません |
ローカルディスクをミラー化する場合は、ディスク名を指定する際のパスに /dev/global を使用しないでください。クラスタファイルシステム以外にこのパスを指定すると、システムを起動できなくなります。
次の手順を使用し、ルート (/) ファイルシステムをミラー化します。
ノードのスーパーユーザーになります。
metainit(1M) コマンドを使用し、ルートスライスを単一スライスの (1 面) 連結にします。
ルートディスクスライスの物理ディスク名を指定します (cNtXdYsZ)。
# metainit -f submirror1 1 1 root-disk-slice |
2 番目の連結を作成します。
# metainit 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 from-node |
すべてのリソースグループとデバイスグループを退避させます。
リソースグループまたはデバイスグループを移動させるノード名を指定します。
ノードを再起動します。
このコマンドは、新しくミラー化されたルート (/) ファイルシステムを再マウントします。
# shutdown -g0 -y -i6 |
metattach(1M) コマンドを使用し、2 番目のサブミラーをこのミラーに接続します。
# metattach mirror submirror2 |
ルートディスクのミラー化に使用されるディスクが 1 つ以上のノードに物理的に接続されている (多重ホスト化されている) 場合は、localonly プロパティを有効にします。
以下の手順を実行して、ルートディスクのミラー化に使用するディスクの raw ディスクデバイスグループの localonly プロパティを有効にします。起動デバイスが複数のノードに接続されている場合に、その起動デバイスが不意にノードを使用できなくなるのを防ぐために、localonly プロパティは有効にしておいてください。
必要に応じて、scdidadm(1M) -L コマンドを使用し、raw ディスクデバイスグループのデバイス ID (DID) の完全なパス名を表示します。
次の例では、raw ディスクデバイスグループ名 dsk/d2 は、出力の第 3 列の一部になっており、これが完全な DID パス名にあたります。
# 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 ディスクデバイスグループのクラスタ固有の名前を指定します。
ノードリストから削除するノードの名前を指定します。
scconf(1M) コマンドを使用し、localonly プロパティを有効にします。
localonly プロパティが有効になった時点で、raw ディスクデバイスグループはそのノードリスト内のノードだけに使用されるようになります。これにより、起動デバイスが複数のノードに接続されている場合に、不意にノードがその起動デバイスから使用できなくなることが防止されます。
# scconf -c -D name=rawdisk-groupname,localonly=true |
raw ディスクデバイスグループの名前を指定します。
localonly プロパティの詳細については、scconf_dg_rawdisk(1M) のマニュアルページを参照してください。
主起動デバイスで起動に失敗した場合は、この代替起動デバイスから起動できます。代替起動デバイスの詳細については、『Solstice DiskSuite 4.2.1 ユーザーズガイド』の「システムのトラブルシューティング」を参照するか、『Solaris ボリュームマネージャの管理 』の「ルート (/) のミラー化に関する特殊な考慮事項」を参照してください。
# ls -l /dev/rdsk/root-disk-slice |
クラスタ内の残りの各ノードに対して、手順 1 から 手順 11 までを繰り返します。
ミラーのメタデバイス名またはボリューム名は、クラスタ全体で一意になるようにします。
(省略可能) 広域名前空間、/global/.devices/node@nodeid をミラー化するには、「広域名前空間をミラー化する」に進みます。
(省略可能) マウント解除できないファイルシステムをミラー化するには、「マウント解除できないルート (/) 以外のファイルシステムをミラー化する」に進みます。
(省略可能) ユーザー定義のファイルシステムをミラー化するには、「マウント解除できるファイルシステムをミラー化する」に進みます。
ディスクセットを作成するには、「クラスタ内でのディスクセットの作成」に進みます。
次の例に、パーティション c0t0d0s0 上のサブミラー d10 とパーティション c2t2d0s0 上のサブミラー d20 で構成されているノード phys-schost-1 上に、ミラー d0 を作成する方法を示します。デバイス c2t2d0 は多重ホストディスクなので、localonly プロパティが有効に設定されています。
(ミラーを作成します) # metainit -f d10 1 1 c0t0d0s0 d11: 連結/ストライプがセットアップされます # metainit d20 1 1 c2t2d0s0 d12: 連結/ストライプがセットアップされます # metainit d0 -m d10 d10: ミラーがセットアップされます # metaroot d0 # # metaroot d0 # lockfs -fa (phys-schost-1 からリソースグループとデバイスグループを移動します) # scswitch -S -h phys-schost-1 (ノードを再起動します) # shutdown -g0 -y -i6 (2 番目のサブミラーを接続します) # metattach d0 d20 d0: サブミラー d20 は接続中 (デバイスグループノードリストを表示します) # scconf -pvv | grep dsk/d2 デバイスグループ名: dsk/d2 … (dsk/d2) デバイスグループノードリスト: 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 (代替ブートパスを記録します) # 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 方向) 連結にします。
ディスクスライスの物理ディスク名を使用します (cNtXdYsZ)。
# metainit -f submirror1 1 1 diskslice |
2 番目の連結を作成します。
# metainit 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 |
手順 5 で開始したミラーの同期が完了するまで待機します。
metastat(1M) コマンドを使用して、ミラー状態を参照し、ミラーの同期が完了しているかどうかを確認します。
# metastat mirror |
広域名前空間のミラー化に使用されるディスクが複数のノードに接続されている (多重ホスト化されている) 場合は、localonly プロパティを有効にします。
以下の手順を実行して、広域名前空間のミラー化に使用するディスクの raw ディスクデバイスグループの localonly プロパティを有効にします。起動デバイスが複数のノードに接続されている場合に、その起動デバイスが不意にノードを使用できなくなるのを防ぐために、localonly プロパティは有効にしておいてください。
必要に応じて、scdidadm(1M) コマンドを使用し、raw ディスクデバイスグループのデバイス ID (DID) の完全なパス名を表示します。
次の例では、raw ディスクデバイスグループ名 dsk/d2 は、出力の第 3 列の一部になっており、これが完全な DID パス名にあたります。
# scdidadm -L … 1 phys-schost-3:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2 |
raw ディスクデバイスグループのノードリストを表示します。
次に出力例を示します。
# scconf -pvv | grep dsk/d2 デバイスグループ名: dsk/d2 … (dsk/d2) デバイスグループのノードリスト: phys-schost-1, phys-schost-3 … |
ノードリストに複数のノード名が含まれる場合、ディスクをミラー化したノードを除くすべてのノードをノードリストから削除します。
ディスクをミラー化したノードだけが raw ディスクデバイスグループのノードリストに残るはずです。
# scconf -r -D name=dsk/dN,nodelist=node |
raw ディスクデバイスグループのクラスタ固有の名前を指定します。
ノードリストから削除するノードの名前を指定します。
scconf(1M) コマンドを使用し、localonly プロパティを有効にします。
localonly プロパティが有効になった時点で、raw ディスクデバイスグループはそのノードリスト内のノードだけに使用されるようになります。これにより、起動デバイスが複数のノードに接続されている場合に、不意にノードがその起動デバイスから使用できなくなることが防止されます。
# scconf -c -D name=rawdisk-groupname,localonly=true |
raw ディスクデバイスグループの名前を指定します。
localonly プロパティの詳細については、scconf_dg_rawdisk(1M) のマニュアルページを参照してください。
(省略可能) マウント解除できないルート以外のファイルシステム (/) をミラー化するには、「マウント解除できないルート (/) 以外のファイルシステムをミラー化する」に進みます。
(省略可能) ユーザー定義のファイルシステムをミラー化するには、「マウント解除できるファイルシステムをミラー化する」に進みます。
ディスクセットを作成するには、「クラスタ内でのディスクセットの作成」に進みます。
次の例に、パーティション c0t0d0s3 上のサブミラー d111 と パーティション c2t2d0s3 上のサブミラー d121 で構成されているミラー d101 を作成する方法を示します。/global/.devices/node@1 の /etc/vfstab ファイルエントリは、ミラー名 d101 を使用するように更新されます。デバイス c2t2d0 は多重ホストディスクなので、localonly プロパティが有効に設定されています。
(ミラーを作成します) # metainit -f d111 1 1 c0t0d0s3 d111: 連結/ストライプがセットアップされます # metainit d121 1 1 c2t2d0s3 d121: 連結/ストライプがセットアップされます # metainit d101 -m d111 d101: ミラーがセットアップされます # metattach d101 d121 d101: サブミラー d121 は接続中 (/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: ミラー サブミラー 0: d111 状態: 正常 サブミラー 1: d121 状態: 再同期中 再同期実行中: 15 % 完了 … (ミラー化されたディスクの raw-disk デバイスグループのデバイスID 名を確認します) # scdidadm -L … 1 phys-schost-3:/dev/rdsk/c2t2d0 /dev/did/rdsk/d2 (デバイスグループのノードリストを表示します) # scconf -pvv | grep dsk/d2 デバイスグループ名: dsk/d2 … (dsk/d2) デバイスグループのノードリスト: 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 |
次の手順を使用し、/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 パス名を表示します。
次の例では、raw ディスクデバイスグループ名 dsk/d2 は、出力の第 3 列の一部になっており、これが完全な DID パス名にあたります。
# 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 ディスクデバイスグループのクラスタ固有の名前を指定します。
ノードリストから削除するノードの名前を指定します。
scconf(1M) コマンドを使用し、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: 連結/ストライプがセットアップされます # metainit d21 1 1 c2t2d0s1 d21: 連結/ストライプがセットアップされます # metainit d1 -m d11 d1: ミラーがセットアップされます (/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: サブミラー d21 は接続中 (同期状態を表示します) # metastat d1 d1: ミラー サブミラー 0: d11 状態: 正常 サブミラー 1: d21 状態: 再同期中 再同期実行中: 15 % 完了 … (ミラー化されたディスクの raw-disk デバイスグループのデバイスID 名を確認します) # scdidadm -L … 1 phys-schost-3:/dev/rdsk/c2t2d0 /dev/did/rdsk/d2 (デバイスグループノードリストを表示します) # scconf -pvv | grep dsk/d2 デバイスグループ名: dsk/d2 … (dsk/d2) デバイスグループのノードリスト: 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 |
次の手順を使用し、マウント解除できるユーザー定義ファイルシステムをミラー化します。この手順では、ノードを再起動する必要はありません。
各クラスタのノードのスーパーユーザーになります。
ミラー化するファイルシステムをマウント解除します。
そのファイルシステム上で実行中のプロセスがないことを確認します。
# umount /mount-point |
詳細については、umount(1M) のマニュアルページおよび『 Solaris のシステム管理 (基本編)』の「ファイルシステムのマウントとマウント解除」を参照してください。
マウント解除できるユーザー定義ファイルシステムが存在するスライスを、単一スライス(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 |
2 番目のサブミラーをこのミラーに接続します。
このように接続することで、サブミラーの同期が開始されます。
# metattach mirror submirror2 |
手順 8 で開始したミラーの同期が完了するまで待機します。
metastat(1M) コマンドを使用し、ミラー化の状態を参照します。
# metastat mirror |
ユーザー定義のファイルシステムのミラー化に使用されるディスクが複数のノードに物理的に接続されている (多重ホスト化されている) 場合は、localonly プロパティを有効にします。
以下の手順を実行して、ユーザー定義のファイルシステムのミラー化に使用するディスクの raw-disk デバイスグループの 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 |
raw ディスクデバイスグループのノードリストを表示します。
次に出力例を示します。
# scconf -pvv | grep dsk/d2 デバイスグループ名: dsk/d2 … (dsk/d2) デバイスグループのノードリスト: phys-schost-1, phys-schost-3 … |
ノードリストに複数の名前が含まれる場合、ルートディスクをミラー化したノードを除くすべてのノードをノードリストから削除します。
ルートディスクをミラー化したノードだけが raw ディスクデバイスグループのノードリストに残るはずです。
# scconf -r -D name=dsk/dN,nodelist=node |
raw ディスクデバイスグループのクラスタ固有の名前を指定します。
ノードリストから削除するノードの名前を指定します。
scconf(1M) コマンドを使用し、localonly プロパティを有効にします。
localonly プロパティが有効になった時点で、raw ディスクデバイスグループはそのノードリスト内のノードだけに使用されるようになります。これにより、起動デバイスが複数のノードに接続されている場合に、不意にノードがその起動デバイスから使用できなくなることが防止されます。
# scconf -c -D name=rawdisk-groupname,localonly=true |
raw ディスクデバイスグループの名前を指定します。
localonly プロパティの詳細については、scconf_dg_rawdisk(1M) のマニュアルページを参照してください。
ミラー化したファイルシステムをマウントします。
# mount /mount-point |
詳細については、mount(1M) のマニュアルページおよび『Solaris のシステム管理 (基本編)』の「ファイルシステムのマウントとマウント解除」を参照してください。
ディスクセットを作成します。
「クラスタ内でのディスクセットの作成」に進みます。
次の例に、ミラー d4 を作成し、c0t0d0s4 上に存在する /export をミラー化する方法を示します。ミラー d4 は、パーティション c0t0d0s4 上のサブミラー d14 とパーティション c2t2d0s4 上のサブミラー d24 で構成されています。/export の /etc/vfstab ファイルエントリは、ミラー名 d4 を使用するように更新されます。デバイス c2t2d0 は多重ホストディスクなので、localonly プロパティが有効に設定されています。
(ファイルシステムをマウント解除します) # umount /export (ミラーを作成します) # metainit -f d14 1 1 c0t0d0s4 d14: 連結/ストライプがセットアップされます # metainit d24 1 1 c2t2d0s4 d24: 連結/ストライプがセットアップされます # metainit d4 -m d14 d4: ミラーがセットアップされます (/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 /export ufs 2 no global (2 番目のサブミラーを接続します) # metattach d4 d24 d4: サブミラー d24 は接続中 (同期状態を表示します) # metastat d4 d4: Mirror サブミラー 0: d14 状態: 正常 サブミラー 1: d24 状態: 再同期中 再同期実行中: 15 % 完了 … (ミラー化されたディスクのraw-disk デバイスグループのデバイスID を確認します) # scdidadm -L … 1 phys-schost-3:/dev/rdsk/c2t2d0 /dev/did/rdsk/d2 (デバイスグループのノードリストを表示します) # scconf -pvv | grep dsk/d2 デバイスグループ名: dsk/d2 … (dsk/d2) デバイスグループノードリスト: 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 (ファイルシステムをマウントします) # mount /export |
この節では、クラスタ構成向けにディスクセットを作成する方法を説明します。以下のような状況では、ディスクセットを作成する必要がない場合があります。
SunPlex Installer を使用して Solstice DiskSuite をインストールした場合は、1 から 3 個のディスクセットがすでに存在している可能性があります。SunPlex Installer によって作成されたメタセットの詳細については、「SunPlex Installer により Sun Cluster ソフトウェアをインストールする」を参照してください。
Oracle Real Application Clusters で使用する Solaris Volume Manager for Sun Cluster ディスクセットを作成する場合は、これらの手順を使用しないでください。代わりに、『Sun Cluster Data Service for Oracle Real Application Clusters ガイド (Solaris OS 版)』の「Creating a Multi-Owner Disk Set in Solaris Volume Manager for Sun Cluster for the Oracle Real Application Clusters Database」に記載された手順を実行してください。
この節の内容は、次のとおりです。
この手順を実行して、ディスクセットを作成します。
新しいディスクセットの作成後、クラスタに 4 つ以上のディスクセットがあるかどうかを調べます。
クラスタが 4 つ以上のディスクセットを持たない場合は、手順 2に進みます。
クラスタが 4 つ以上のディスクセットを持つ場合は、以下の手順を実行して、クラスタを準備します。
この作業は、初めてディスクセットをインストールするか、あるいは、完全に構成されたクラスタにより多くのディスクセットを追加するかに関わらず行います。
クラスタの任意のノードで、/kernel/drv/md.conf ファイルの md_nsets 変数の値を検査します。
クラスタ内に作成する予定のディスクセットの合計数が md_nsets の値から 1 を引いた数より大きい場合、md_nsets の値を希望の値まで増やします。
作成できるディスクセットの最大数は、md_nsets の構成した値から 1 を引いた数です。md_nsets で可能な最大の値は 32 なので、作成できるディスクセットの最大許容数は 31 です。
クラスタの各ノードの /kernel/drv/md.conf ファイルが同じであるかを確認します。
このガイドラインに従わないと、重大な Solstice DiskSuite または Solaris Volume Manager エラーが発生し、データが失われることがあります。
いずれかのノードで、md.conf ファイルに変更を加えた場合、以下の手順を実行して、これらの変更をアクティブにしてください。
クラスタの各ノードで devfsadm(1M) コマンドを実行します。
このコマンドは、すべてのノードで同時に実行できます。
ディスクセットの作成を行う前に、各ノード上で、scgdevs コマンドが終了しているかどうかを確認します。
ノードの 1 つで scgdevs コマンドを実行すると、このコマンドはリモートから自分自身をすべてのノードで呼び出します。scgdevs コマンドが処理を終了したかどうかを確認するには、クラスタの各ノードで次のコマンドを実行します。
% ps -ef | grep scgdevs |
作成する予定のディスクセットが次の条件の 1 つに適合することを確認します。
ディスクセットが正確に 2 つのディスク列で構成されている場合、そのディスクセットは、正確に 2 つのノードに接続して、正確に 2 つのメディエータホストを使用する必要があります。これらのメディエータホストは、ディスクセットに使用されるものと同じ 2 つのホストでなければなりません。二重列メディエータの構成についての詳細は、「二重列メディエータの構成」を参照してください。
ディスク列を3 つ以上構成する場合、任意の 2 つのディスク列 S1 と S2 のディスク数の合計が 3 番目のディスク列 S3 のディスクドライブ数よりも多いことを確認します。この条件を式で表すと、count (S1) + count (S2) > count (S3) となります。
ローカル状態データベースの複製が存在することを確認します。
手順については、「状態データベースの複製を作成するには」 を参照してください。
ディスクセットをマスターする予定のクラスタノード上でスーパーユーザーになります。
ディスクセットを作成します。
次のコマンドは、ディスクセットを作成し、そのディスクセットを Sun Cluster ディスクデバイスグループとして登録します。
# metaset -s setname -a -h node1 node2 |
ディスクセット名を指定します。
ディスクセットを追加 (作成)します。
ディスクセットをマスターとする主ノードの名前を指定します。
ディスクセットをマスターとする二次ノードの名前を指定します。
クラスタ上に Solstice DiskSuite または Solaris Volume Manager デバイスグループを構成する metaset コマンドを実行すると、デフォルトで 1 つの二次ノードが指定されます。デバイスグループの二次ノードの数は、デバイスグループが作成された後、 scsetup(1M) ユーティリティーを使用して変更できます。numsecondaries の変更方法については、『Sun Cluster のシステム管理 (Solaris OS 版)』の「ディスクデバイスグループの管理」を参照してください。
新しいディスクセットの状態を確認します。
# 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 |
ディスクセットにドライブを追加すると、ボリューム管理ソフトウェアは、以下のようにパーティションを再分割して、ディスクセットの状態データベースをドライブに置くことができるようにします。
各ドライブの小さな領域をスライス 7 として Solstice DiskSuite または Solaris Volume Manager ソフトウェア用に予約します。各ドライブの残り領域はスライス 0 に組み込まれます。
ディスクセットにディスクドライブが追加されると、スライス 7 が正しく構成されていない場合にのみ、ドライブのパーティションが再分割されます。
パーティションの再分割によって、ドライブ上の既存のデータはすべて失われます。
スライス 7 がシリンダ 0 から始まり、ドライブのパーティションに状態データベースの複製を格納するための十分な領域がある場合、ドライブの再分割は行われません。
ノードのスーパーユーザーになります。
ディスクセットが作成済みであることを確認します。
手順については、「ディスクセットを作成するには」を参照してください。
DID マッピングの一覧を表示します。
# scdidadm -L |
ディスクセットをマスターする (またはマスターする可能性がある) クラスタノードによって共有されているドライブを選択します。
ディスクドライブをディスクセットに追加するときは、完全なデバイス ID パス名を使用します。
出力の 1 列目は DID インスタンス番号、2 列目は完全パス (物理パス)、3 列目は完全なデバイス ID パス名 (疑似パス) になります。共有ドライブには、1 つの DID インスタンス番号に対して複数のエントリがあります。
次の例では、DID インスタンス番号 2 のエントリは、phys-schost-1 と phys-schost-2 で共有されるドライブを示しており、完全なデバイス ID パス名は /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 |
ディスクセット名を指定します。
ディスクセットの所有権を取得します。
ディスクセットにドライブを追加します。
完全なデバイス ID パス名を使用します。
# metaset -s setname -a drivename |
ディスクセットにドライブを追加します。
共有ドライブの完全なデバイス ID パス名
ディスクセットにドライブを追加するときは、下位デバイス名 (cNtXdY) は使用しないでください。下位レベルデバイス名はローカル名であり、クラスタ全体で一意ではないため、この名前を使用するとディスクセットがスイッチオーバーできなくなる可能性があります。
新しいディスクセットとドライブの状態を検査します。
# metaset -s setname |
(省略可能) メタデバイスまたはボリュームで使用するためにドライブを再分割するには、「ディスクセット内のドライブのパーティションを再分割する」に進みます。
md.tab ファイルを使用して、メタデバイスまたはボリュームを定義するには、「md.tab ファイルを作成する」 に進みます。
metaset コマンドによって、ディスクドライブ /dev/did/rdsk/d1 と /dev/did/rdsk/d2 がディスクセット dg-schost-1 に追加されます。
# metaset -s dg-schost-1 -a /dev/did/rdsk/d1 /dev/did/rdsk/d2 |
metaset(1M) コマンドは、ディスクセット内のドライブのパーティションを再分割し、各ドライブの小さな領域をスライス 7 として Solstice DiskSuite ソフトウェア用に予約します。各ドライブの残り領域はスライス 0 に組み込まれます。ドライブをより効果的に利用するために、この手順に従ってドライブの配置を変更してください。スライス1 から 6 に領域を割り当てることで、Solstice DiskSuite メタデバイスまたは Solaris ボリュームマネージャ ボリュームを設定するときにこれらのスライスを使用できるようになります。
クラスタノードのスーパーユーザーになります。
format コマンドを使用し、ディスクセット内の各ドライブのディスクパーティションを変更します。
ドライブのパーティションを再分割する際は、以下の条件を満たすことで、metaset(1M) コマンドでドライブのパーティションを再分割できないようにする必要があります。
状態データベースのレプリカを維持するのに十分な大きさのシリンダ 0 で始まるスライス 7 を作成します。Solstice DiskSuite または Solaris ボリュームマネージャ の管理者ガイドを参照して、ご使用のバージョンのボリューム管理ソフトウェア用の状態データベースレプリカのサイズを調べます。
スライス 7 の Flag フィールドを wu (読み書き可能、マウント不可) に設定します。読み取り専用には設定しないでください。
スライス 7 がドライブ上の他のスライスとオーバーラップしないようにします。
詳細については、format(1M) のマニュアルページを参照してください。
md.tab ファイルを使用してメタデバイスまたはボリュームを定義します。
「md.tab ファイルを作成する」に進みます。
クラスタ内の各ノードごとに /etc/lvm/md.tab ファイルを作成します。md.tab ファイルを使用して、作成したディスクセット用に Solstice DiskSuite メタデバイスまたは Solaris ボリュームマネージャ ボリュームを定義します。
ローカルメタデバイスまたはボリュームを使用する場合は、ディスクセットの構成に使用したデバイス ID (DID) 名とは別の名前をローカルメタデバイスまたはボリュームに付けるようにしてください。たとえば、ディスクセットで /dev/did/dsk/d3 というデバイス ID 名が使用されている場合は、ローカルメタデバイスまたはボリュームに /dev/md/dsk/d3 という名前は使用しないでください。この必要条件は、命名規約 /dev/md/setname/{r}dsk/d# を使用する共有メタデバイスまたはボリュームには適用されません。
クラスタ環境内のローカルメタデバイス間またはボリューム間での混乱を避けるため、クラスタ全体で各ローカルメタデバイス名またはボリューム名が固有となるような命名規則を使用してください 。たとえばノード 1 には d100 〜 d199 の名前を選択し、ノード 2 には d200 〜 d299 を使用します。
クラスタノードのスーパーユーザーになります。
md.tab ファイルを作成するときの参照用として、DID マッピングの一覧を表示します。
下位デバイス名の (cNtXdY) の代わりに、md.tab ファイルの完全なデバイス ID パス名を使用します。
# scdidadm -L |
次の出力例では、1 列目が DID インスタンス番号、2 列目が完全パス (物理パス)、3 列目が完全なデバイス ID パス名 (疑似パス) です。
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 または Solaris Volume Manager のマニュアルおよび md.tab(4) のマニュアルページを参照してください。
サブミラーに使用するドライブにデータがすでに存在している場合は、メタデバイスまたはボリュームを設定する前にデータのバックアップを作成する必要があります。その後、データをミラーに復元します。
md.tab ファイルで定義したメタデバイスまたはボリュームを起動します。
「メタデバイスまたはボリュームを起動する」 に進みます。
次の md.tab のサンプルファイルでは、dg-schost-1 という名前でディスクセットを定義しています。md.tab ファイル内の行の順序は重要ではありません。
dg-schost-1/d0 -m dg-schost-1/d10 dg-schost-1/d20 dg-schost-1/d10 1 1 /dev/did/rdsk/d1s0 dg-schost-1/d20 1 1 /dev/did/rdsk/d2s0 |
次の例では、Solstice DiskSuite の用語が使用されています。Solaris ボリュームマネージャ では、トランスメタデバイスの代わりにトランザクショナルボリュームが使用され、メタデバイスの代わりにボリュームが使用されます。ほかの部分については、次の処理は両方のボリュームマネージャに対して有効です。
サンプル md.tab ファイルは、以下のように構築されています。
先頭行では、デバイス d0 を、メタデバイス d10 と d20 のミラーとして定義しています。-m は、このデバイスがミラーデバイスであることを示します。
dg-schost-1/d0 -m dg-schost-1/d0 dg-schost-1/d20 |
2 行目では、d0 の最初のサブミラーであるメタデバイス d10 を一方向のストライプとして定義しています。
dg-schost-1/d10 1 1 /dev/did/rdsk/d1s0 |
3 行目では、d0 の最初のサブミラーであるメタデバイス d20 を一方向のストライプとして定義しています。
dg-schost-1/d20 1 1 /dev/did/rdsk/d2s0 |
この作業は、md.tab ファイルで定義した Solstice DiskSuite メタデバイスまたは Solaris ボリュームマネージャ ボリュームを起動する場合に行います。
クラスタノードのスーパーユーザーになります。
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 |
詳細は、metaset(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 または Solaris Volume Manager ディスクセットで必要です。列は、ディスク格納装置、その物理ディスク、格納装置からノードへのケーブル、インタフェースアダプタカードで構成されます。メディエータを使用することで、Sun Cluster ソフトウェアは、二重列構成の単一の列に障害が発生した場合に、最新のデータを提示できるようになります。メディエータを使用した二重列構成には、以下の規則が適用されます。
ディスクセットは、2 つのメディエータホストのみで構成する必要があります。これら 2 つのメディエータホストは、ディスクセットに使用されているものと同じクラスタノードにする必要があります。
ディスクセットには 3 つ以上のメディエータホストを使用できません。
メディエータは、2 つの列と 2 つのホストという基準を満たさないディスクセットでは構成できません。
上記の規則では、クラスタ全体で 2 つのノードを使用する必要はありません。むしろ、2 つの列を持つディスクセットを 2 つのノードに接続する必要があることだけが規定されています。この規則の下では、N+1 クラスタやその他の多くのトポロジを利用できます。
構成に二重列メディエータが必要な場合は、以下の手順を実行します。
メディエータホストを追加するディスクセットを現在マスターしているノードのスーパーユーザーになります。
metaset(1M) コマンドを実行し、ディスクセットに接続されている各ノードをそのディスクセットのメディエータホストとして追加します。
# metaset -s setname -a -m mediator-host-list |
ディスクセット名を指定します。
ディスクセットに追加します。
ディスクセットのメディエータホストとして追加するノードの名前を指定します。
metaset コマンドのメディエータ固有のオプションの詳細については、mediator(7D) のマニュアルページを参照してください。
メディエータデータの状態を確認します。
「メディエータデータの状態を確認する」に進みます。
次の例では、ノード 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) のマニュアルページを参照してください。
medstat 出力の状態フィールドの値がBad になっている場合は、影響のあるメディエータホストを修復します。
「不正なメディエータデータを修復する」に進みます。
「クラスタファイルシステムを追加する」に進んでクラスタファイルシステムを作成します。
次の手順を実行し、不正なメディエータデータを修復します。
「メディエータデータの状態を確認する」の作業で説明されている方法で、不正なメディエータデータを持つすべてのメディエータホストを特定します。
関連するディスクセットを所有しているノードのスーパーユーザーになります。
関連するすべてのディスクセットから、不正なメディエータデータを持つすべてのメディエータホストを削除します。
# metaset -s setname -d -m mediator-host-list |
ディスクセット名を指定します。
ディスクセットから削除します。
削除するノードの名前をディスクセットのメディエータホストとして指定します。
手順 3で削除した各メディエータホストを修復します。
# metaset -s setname -a -m mediator-host-list |
ディスクセットに追加します。
ディスクセットのメディエータホストとして追加するノードの名前を指定します。
metaset コマンドのメディエータ固有のオプションの詳細については、mediator(7D) のマニュアルページを参照してください。
クラスタファイルシステムを作成します。
「クラスタファイルシステムを追加する」に進みます。