Sun Cluster ソフトウェアのインストール (Solaris OS 版)

第 3 章 Solstice DiskSuite/Solaris Volume Manager ソフトウェアのインストールと構成

この章で説明する手順とボリューム管理の計画 の計画情報に基づいて、Solstice DiskSuite/Solaris Volume Manager ソフトウェア用に、ローカルディスクおよび多重ホストディスクをインストールおよび構成してください。 詳細については、Solstice DiskSuite/Solaris Volume Manager のマニュアルを参照してください。

この章の内容は、次のとおりです。

Solstice DiskSuite/Solaris Volume Manager ソフトウェアのインストールと構成

この節では、Solstice DiskSuite/Solaris Volume Manager ソフトウェアをインストールするための情報と手順を紹介します。

Task Map: Solstice DiskSuite/Solaris Volume Manager ソフトウェアのインストールと構成

次の表に、 Sun Cluster 構成用の Solstice DiskSuite/Solaris Volume Manager ソフトウェアのインストールと構成において行う作業を示します。 次に示す状況では、該当する手順を実行する必要がありません。

表 3–1 Task Map: Solstice DiskSuite/Solaris Volume Manager ソフトウェアのインストールと構成

目次 

参照箇所 

1. Solstice DiskSuite/Solaris Volume Manager 構成のレイアウトの計画 

2. (Solaris 8 のみ) Solstice DiskSuite ソフトウェアをインストール

Solstice DiskSuite ソフトウェアをインストールする

3. 構成に必要なメタデバイス名とディスクセットの個数を計算し、/kernel/drv/md.conf ファイルを変更

メタデバイス名またはボリューム名とディスクセットの数を算出する

4. ローカルディスクに状態データベースの複製を作成 

状態データベースの複製を作成するには

5. (任意) ルートディスクのファイルシステムをミラー化 

ルートディスクのミラー化

6. metaset コマンドを使用してディスクセットを作成

ディスクセットを作成する

7. ディスクセットにディスクドライブを追加 

ディスクセットにディスクドライブを追加する

8. (省略可能) ディスクセット内のディスクドライブのパーティションを再分割して、スライス 1 から 6 に空間を割り当てる

ディスクセット内のディスクドライブのパーティションを再分割する

9. デバイス ID 擬似デバイスのマッピングを表示し、/etc/lvm/md.tab ファイルにメタデバイスまたはボリュームを定義

md.tab ファイルを作成する

10. md.tab ファイルを初期化

メタデバイスまたはボリュームを起動する

11. (二重列構成のみ) 二重列メディエータホストを構成してメディエータデータの状態を確認。また必要に応じて、不正なメディエータデータを修正

  1. メディエータホストを追加する

  2. メディエータデータの状態を確認する

12. クラスタを構成 

クラスタの構成

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 (ミラー) 

nfs2

5G バイト 

3x2.1G バイトディスクx2 (ミラー) 

SPARC: oracle1

5G バイト 

3x2.1 G バイトディスクx2 (ミラー)  

SPARC: oracle2

10G バイト 

5x2.1 G バイトディスクx2 (ミラー)  

10 

次の表は、2 つのディスクセットと 4 つのデータサービス間のディスクドライブの割り当てを示しています。

表 3–3 ディスクセットの分配

ディスクセット 

データサービス 

ディスクドライブ 

記憶装置 1 

記憶装置 2 

記憶装置 3 

dg-schost-1

nfs1, oracle1

12  

dg-schost-2

nfs2, oracle2

16  

当初 dg-schost-1 には、それぞれの記憶装置から 4 つのディスクドライブ (合計で 12 のディスク) が割り当てられ、dg-schost-2 には、それぞれの記憶装置から 5 つまたは 6 つのディスクドライブ (合計で16 のディスク) が割り当てられます。

どちらのディスクセットにも、ホットスペアは割り当てられていません。 1 つの記憶装置につき、少なくとも 1 つのホットスペアを各ディスクセットに割り当てることによってドライブをホットスペアし、完全な 2 面ミラー化を復元できます。

Solstice DiskSuite ソフトウェアをインストールする


注 –

SunPlex Manager を使用して Solstice DiskSuite ソフトウェアをインストールした場合は、この作業を行わないでください。 代わりに、ルートディスクのミラー化 に進みます。

Solaris 9 ソフトウェアをインストールした場合は、この作業を行わないでください。 Solaris 9 ソフトウェアと共に Solaris Volume Manager ソフトウェアがインストールされています。 代わりに、メタデバイス名またはボリューム名とディスクセットの数を算出する に進みます。


クラスタ内の各ノードで次の作業を行います。

  1. 以下の情報を用意します。

  2. クラスタノードのスーパーユーザーになります。

  3. CD-ROM からインストールする場合は、ノードの CD-ROM ドライブに Solaris 8 Software 2 of 2 CD-ROM を挿入します。

    この手順では、ボリューム管理デーモン vold(1M) が実行されており、CD-ROM デバイスを管理するように構成されていることを想定しています。

  4. Solstice DiskSuite ソフトウェアパッケージは、次の例に示す順序でインストールします。


    # cd /cdrom/sol_8_sparc_2/Solaris_8/EA/products/DiskSuite_4.2.1/sparc/Packagespkgadd -d . SUNWmdr SUNWmdu [SUNWmdx] optional-pkgs
    


    注 –

    Solstice DiskSuite ソフトウェアパッチをインストールする場合は、Solstice DiskSuite ソフトウェアをインストールした後に 再起動しないでください。


    すべての Solstice DiskSuite のインストールには、 SUNWmdr および SUNWmdu パッケージが必要です。 64 ビット版の Solstice DiskSuite をインストールするには、SUNWmdx パッケージも必要です。

    オプションのソフトウェアパッケージについては、Solstice DiskSuite のインストールマニュアルを参照してください。

  5. CD-ROM からインストールした場合は、CD-ROM を取り出します。

  6. Solstice DiskSuite パッチをすべてインストールします。

    パッチの入手先とインストール方法については、『Sun Cluster 3.1 ご使用にあたって 』の「パッチと必須ファームウェアのレベル」を参照してください。

  7. クラスタの他のノードで、手順 1手順 6 を繰り返します。

  8. クラスタの 1 つのノードから、Solstice DiskSuite の広域デバイス名前空間を手作業で生成します。


    # scgdevs
    


    注 –

    scgdevs コマンドは、次のようなメッセージを返します。


    Could not open /dev/rdsk/c0t6d0s2 to verify device id, Device busy

    リストされたデバイスが CD-ROM デバイスの場合は、メッセージを無視しても問題ありません。


  9. クラスタで使用するメタデバイス名とディスクセットの数を設定します。

    メタデバイス名またはボリューム名とディスクセットの数を算出する に進みます。

メタデバイス名またはボリューム名とディスクセットの数を算出する


注 –

SunPlex Manager を使用して Solstice DiskSuite ソフトウェアをインストールした場合は、この作業を行わないでください。 代わりに、ルートディスクのミラー化 に進みます。


この手順では、構成に必要とされる Solstice DiskSuite メタデバイス名または Solaris Volume Manager のボリューム名の数およびディスクセットを計算する方法について説明します。 また、/kernel/drv/md.conf ファイルを変更して、これらの数を指定する方法についても説明します。


ヒント –

メタデバイス名またはボリューム名のデフォルトの数は、ディスクセットごとに 128 ですが、多くの構成ではこれ以上の数が必要になります。 構成を実装する前にこの数を増やしておくと、後で管理時間の節約になります。

同時に、nmd および md_nsets フィールドの値はできるだけ低く抑えてください。 デバイスを作成していなくても nmd および md_nsets によって指定された値に基づいて、可能性のあるすべてのデバイス分をメモリー構造上に確保します。 最適なパフォーマンスを得るには、nmdmd_nsets の値を、使用するメタデバイスまたはボリュームの数よりもわずかに高く維持します。


  1. 必要事項を記入したディスクデバイスグループ構成のワークシートを用意します。

  2. クラスタ内のディスクセットに必要なディスクセットの合計数を計算して、ディスクセットをもう 1 つプライベートディスク管理に追加します。

    クラスタは最大 32 個のディスクセットを持つことができます。一般的な使用のために 31 個 と、プライベートディスク管理のために 1 個です。 デフォルトのディスクセット数は 4 です。この値は、手順 4で、md_nsetsフィールドに指定します。

  3. クラスタ内のディスクセットに必要なメタデバイス名またはボリューム名の最大数を計算します。

    各ディスクセットは、最大 8192 個のメタデバイス名またはボリューム名を持つことができます。 この値は、手順 4 で、nmd フィールドに指定します。

    1. 各ディスクセットに必要なメタデバイス名またはボリューム名の数を計算します。

      ローカルメタデバイスまたはボリュームを使用する場合、各ローカルメタデバイス名またはボリューム名がクラスタ全体で一意であり、クラスタ内にある任意のデバイス ID (DID) 名と同じ名前を使用していないことを確認します。


      ヒント –

      DID 名として排他的に使用する番号の範囲と、各ノードのローカルメタデバイス名またはボリューム名として排他的に使用する範囲を選択します。 たとえば、DID は、d1 から d100 までの範囲の名前を使用します。 ノード 1 上のローカルメタデバイスまたはボリュームは、d100 から d199 までの範囲の名前を使用します。 また、ノード 2 上のローカルメタデバイスまたはボリュームは、d200 から d299 までの範囲の名前を使用します。


    2. ディスクセットに必要なメタデバイス名またはボリューム名の最大数を計算します。

      設定するメタデバイス名またはボリューム名の数は、メタデバイス名またはボリューム名の実際の数ではなく、メタデバイス名またはボリューム名のに基づいています。 たとえば、メタデバイス名またはボリューム名が d950 から d1000 の場合、Solstice DiskSuite/Solaris Volume Manager ソフトウェアは、50 ではなく 1000 個の名前を必要とします。

  4. 各ノードでスーパーユーザーになり、/kernel/drv/md.conf ファイルを編集します。


    注意 – 注意 –

    すべてのクラスタノード (クラスタペアトポロジの場合はクラスタペア) の /kernel/drv/md.conf ファイルの内容は、それぞれのノードがサービスを提供するディスクセット数に関係なく、同一である必要があります。 このガイドラインに従わないと、重大な Solstice DiskSuite/Solaris Volume Manager エラーが発生し、データが失われることがあります。


    1. md_nsets フィールドを、手順 2 で計算した数に設定します。

    2. nmd フィールドを、手順 3 で計算した数に設定します。

  5. 各ノードで再構成再起動を行います。


    # touch /reconfigure
    # shutdown -g0 -y -i6
    

    /kernel/drv/md.conf ファイルに対する変更は、再起動後に有効になります。

  6. ローカルの状態データベースの複製を作成します。

    状態データベースの複製を作成するには に進みます。

状態データベースの複製を作成するには


注 –

SunPlex Manager を使用して Solstice DiskSuite ソフトウェアをインストールした場合は、この作業を行わないでください。 代わりに、ルートディスクのミラー化 に進みます。


クラスタ内の各ノード上で次の手順を実行します。

  1. クラスタノードのスーパーユーザーになります。

  2. metadb コマンドを使用し、各クラスタノードの 1 つまたは複数のローカルディスクに状態データベースの複製を作成します。

    使用するスライスを指定するには、デバイス ID 名 (dN) ではなく、物理名 (cNtXdYsZ) を使用してください。


    # metadb -af slice-1 slice-2 slice-3
    


    ヒント –

    Solstice DiskSuite/Solaris Volume Manager ソフトウェアの実行に必要な状態データを保護するには、各ノードごとに少なくとも 3 つの複製を作成します。 また、複数のディスクに複製を配置することによって、いずれかのディスクに障害が発生した場合に対する保護も提供できます。


    詳細については、metadb(1M) のマニュアルページと Solstice DiskSuite のマニュアルを参照してください。

  3. 複製を検査します。


    # metadb
    

    metadb コマンドは複製の一覧を表示します。

  4. ルートディスク上のファイルシステムをミラー化するかどうかを決定します。

例 — 状態データベースの複製の作成

次の例は、Solstice DiskSuite 状態データベースの複製を 3 つ示しています。 各複製は、異なるディスク上に作成されています。 Solaris Volume Manager の場合は、複製サイズが大きくなります。


# 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 を使用しないでください。 クラスタファイルシステム以外にこのパスを指定すると、システムを起動できなくなります。


ルート (/) ファイルシステムをミラー化する

次の手順を使用し、ルート (/) ファイルシステムをミラー化します。

  1. ノードのスーパーユーザーになります。

  2. metainit(1M) コマンドを使用し、ルートスライスを単一スライスの (1 面) 連結にします。

    ルートディスクスライスの物理ディスク名を指定します (cNtXdYsZ)。


    # metainit -f submirror1 1 1 root-disk-slice
    

  3. 2 番目の連結を作成します。


    # metainit submirror2 1 1 submirror-disk-slice
    

  4. 1 つのサブミラーを使用して 1 方向のミラーを作成します。


    # metainit mirror -m submirror1
    


    注 –

    このミラーのメタデバイス名またはボリューム名は、クラスタ全体で一意でなければなりません。


  5. metaroot(1M) コマンドを実行します。

    このコマンドは、ルート (/) ファイルシステムがメタデバイスまたはボリュームに配置された状態でシステムを起動できるように、/etc/vfstab および /etc/system ファイルを編集します。


    # metaroot mirror
    

  6. lockfs(1M) コマンドを実行します。

    このコマンドを実行すると、マウントされているすべての UFS ファイルシステム上で、すべてのトランザクションがログからフラッシュされ、マスターファイルシステムに書き込まれます。


    # lockfs -fa
    

  7. リソースグループまたはデバイスグループをノードから移動させます。


    # scswitch -S -h from-node
    
    -S

    すべてのリソースグループとデバイスグループを退避させます。

    -h from-node

    リソースグループやデバイスグループを退避させるノード名を指定します。

  8. ノードを再起動します。

    このコマンドは、新しくミラー化されたルート (/) ファイルシステムを再マウントします。


    # shutdown -g0 -y -i6
    

  9. metattach(1M) コマンドを使用し、2 番目のサブミラーをこのミラーに接続します。


    # metattach mirror submirror2
    

  10. ルートディスクのミラー化に使用したディスクが複数のノード (多重ポート) に物理的に接続されているかどうかを確認します。

    • 物理的に接続されていない場合は、手順 11 に進みます。

    • 物理的に接続されている場合は、次の手順を実行して、ルートディスクのミラー化に使用したディスクの raw ディスクデバイスグループの localonly プロパティを有効にします。 起動デバイスが複数のノードに接続されている場合に、その起動デバイスが不意にノードを使用できなくなるのを防ぐために、localonly プロパティは有効にしておいてください。

    1. 必要に応じて、scdidadm(1M) -L コマンドを使用し、raw ディスクデバイスグループのデバイス ID (DID) の完全なパス名を表示します。

      次の例では、raw ディスクデバイスグループ名 dsk/d2 は、出力の第 3 列の一部になっており、これが完全な DID パス名にあたります。


      # scdidadm -L
      …
      1         phys-schost-3:/dev/rdsk/c1t1d0     /dev/did/rdsk/d2
      

    2. raw ディスクデバイスグループのノードリストを表示します。

      次に出力例を示します。


      # scconf -pvv | grep dsk/d2
      デバイスグループ名:						dsk/d2
      …
        (dsk/d2) デバイスグループのノードリスト:		phys-schost-1, phys-schost-3
      …

    3. ノードリストにノード名が複数含まれているかどうかを確認します。

      • 含まれている場合は、手順 d に進みます。

      • 含まれていない場合は、手順 e に進みます。

    4. raw ディスクデバイスグループのノードリストから、ルートディスクをミラー化したノード以外のすべてのノードを削除します。

      ルートディスクをミラー化したノードだけがノードリストに残るようにします。


      # scconf -r -D name=dsk/dN,nodelist=node
      
      -D name=dsk/dN

      raw ディスクデバイスグループのクラスタ固有の名前を指定します。

      nodelist=node

      ノードリストから削除するノードの名前を指定します。

    5. scconf(1M) コマンドを使用し、localonly プロパティを有効にします。

      localonly プロパティが有効になった時点で、raw ディスクデバイスグループはそのノードリスト内のノードだけに使用されるようになります。 これにより、起動デバイスが複数のノードに接続されている場合に、不意にノードがその起動デバイスから使用できなくなることが防止されます。


      # scconf -c -D name=rawdisk-groupname,localonly=true
      
      -D name=rawdisk-groupname

      raw ディスクデバイスグループの名前を指定します。

      localonly プロパティの詳細については、scconf_dg_rawdisk(1M) のマニュアルページを参照してください。

  11. 将来使用する場合に備えて、代替起動パスを記録しておきます。

    主起動デバイスで起動に失敗した場合は、この代替起動デバイスから起動できます。 代替起動デバイスの詳細については、『Solstice DiskSuite 4.2.1 ユーザーズガイド』の「システムのトラブルシューティング」を参照するか、『Solaris ボリュームマネージャの管理』の「ルート (/) のミラー化に関する特殊な考慮事項」を参照してください。


    # ls -l /dev/rdsk/root-disk-slice
    

  12. クラスタ内のその他の各ノードで 手順 1手順 11 を繰り返します。

    ミラーのメタデバイス名またはボリューム名は、クラスタ全体で一意になるようにします。

  13. 広域名前空間 /global/.devices/node@nodeid をミラー化するかどうかを決定します。

  14. マウント解除できないファイルシステムをミラー化するかどうかを決定します。

  15. ユーザー定義ファイルシステムをミラー化するかどうかを決定します。

例 — ルート (/) ファイルシステムのミラー化

次の例に、パーティション 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
# 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. 各クラスタのノードのスーパーユーザーになります。

  2. 広域名前空間を単一スライス (1 方向) 連結にします。

    ディスクスライスの物理ディスク名を使用します (cNtXdYsZ)。


    # metainit -f submirror1 1 1 diskslice
    

  3. 2 番目の連結を作成します。


    # metainit submirror2 1 1 submirror-diskslice
    

  4. 1 つのサブミラーを使用して 1 方向のミラーを作成します。


    # metainit mirror -m submirror1
    


    注 –

    このミラーのメタデバイス名またはボリューム名は、クラスタ全体で一意でなければなりません。


  5. 2 番目のサブミラーをこのミラーに接続します。

    このように接続することで、サブミラーの同期が開始されます。


    # metattach mirror submirror2
    

  6. /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

  7. クラスタ内の残りの各ノードに対して、手順 1 から 手順 6 までを繰り返します。

  8. 手順 5 で開始したミラーの同期が完了するまで待機します。

    metastat(1M) コマンドを使用して、ミラー状態を参照し、ミラーの同期が完了しているかどうかを確認します。


    # metastat mirror
    

  9. 広域名前空間のミラー化に使用したディスクが複数のノード (多重ポート) に物理的に接続されているかどうかを確認します。

    • 物理的に接続されていない場合は、手順 10 に進みます。

    • 物理的に接続されている場合は、次の手順を実行して、広域名前空間のミラー化に使用したディスクの raw ディスクデバイスグループの localonly プロパティを有効にします。 起動デバイスが複数のノードに接続されている場合に、その起動デバイスが不意にノードを使用できなくなるのを防ぐために、localonly プロパティは有効にしておいてください。

    1. 必要に応じて、scdidadm(1M) コマンドを使用し、raw ディスクデバイスグループのデバイス ID (DID) の完全なパス名を表示します。

      次の例では、raw ディスクデバイスグループ名 dsk/d2 は、出力の第 3 列の一部になっており、これが完全な DID パス名にあたります。


      # scdidadm -L
      …
      1         phys-schost-3:/dev/rdsk/c1t1d0     /dev/did/rdsk/d2
      

    2. raw ディスクデバイスグループのノードリストを表示します。

      次に出力例を示します。


      # scconf -pvv | grep dsk/d2
      Device group name:						dsk/d2
      …
        (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
      …

    3. ノードリストにノード名が複数含まれているかどうかを確認します。

      • 含まれている場合は、手順 d に進みます。

      • 含まれていない場合は、手順 e に進みます。

    4. raw ディスクデバイスグループのノードリストから、ディスクをミラー化したノード以外のすべてのノードを削除します。

      ディスクをミラー化したノードだけがノードリストに残るようにします。


      # scconf -r -D name=dsk/dN,nodelist=node
      
      -D name=dsk/dN

      raw ディスクデバイスグループのクラスタ固有の名前を指定します。

      nodelist=node

      ノードリストから削除するノードの名前を指定します。

    5. scconf(1M) コマンドを使用し、localonly プロパティを有効にします。

      localonly プロパティが有効になった時点で、raw ディスクデバイスグループはそのノードリスト内のノードだけに使用されるようになります。 これにより、起動デバイスが複数のノードに接続されている場合に、不意にノードがその起動デバイスから使用できなくなることが防止されます。


      # scconf -c -D name=rawdisk-groupname,localonly=true
      
      -D name=rawdisk-groupname

      raw ディスクデバイスグループの名前を指定します。

      localonly プロパティの詳細については、scconf_dg_rawdisk(1M) のマニュアルページを参照してください。

  10. マウント解除できないルート (/) 以外のファイルシステムをミラー化するかどうかを決定します。

  11. ユーザー定義ファイルシステムをミラー化するかどうかを決定します。

例 — 広域名前空間のミラー化

次の例に、パーティション 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/optswap などの、通常のシステム使用時にはマウント解除できないルート (/) 以外のファイルシステムをミラー化します。

  1. 各クラスタのノードのスーパーユーザーになります。

  2. マウント解除できないファイルシステムが存在しているスライスを単一スライス (1 方向) 連結にします。

    ディスクスライスの物理ディスク名を指定します (cNtXdYsZ)。


    # metainit -f submirror1 1 1 diskslice
    

  3. 2 番目の連結を作成します。


    # metainit submirror2 1 1 submirror-diskslice
    

  4. 1 つのサブミラーを使用して 1 方向のミラーを作成します。


    # metainit mirror -m submirror1
    


    注 –

    このミラーのメタデバイス名またはボリューム名は、クラスタ全体で一意である必要はありません。


  5. ミラー化するマウント解除できない各ファイルシステムに対して、手順 1から手順 4までを繰り返します。

  6. 各ノードで 、ミラー化したマウント解除できない各ファイルシステムの /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

  7. リソースグループまたはデバイスグループをノードから移動させます。


    # scswitch -S -h from-node
    
    -S

    すべてのリソースグループとデバイスグループを退避させます。

    -h from-node

    リソースグループまたはデバイスグループを移動させるノード名を指定します。

  8. ノードを再起動します。


    # shutdown -g0 -y -i6
    

  9. 2 番目のサブミラーを各ミラーに接続します。

    このように接続することで、サブミラーの同期が開始されます。


    # metattach mirror submirror2
    

  10. 手順 9 で開始したミラーの同期が完了するまで待機します。

    metastat(1M) コマンドを使用して、ミラー状態を参照し、ミラーの同期が完了していることを確認します。


    # metastat mirror
    

  11. マウント解除できないファイルシステムのミラー化に使用したディスクが複数のノード (多重ポート) に物理的に接続されているかどうかを確認します。

    • 物理的に接続されていない場合は、手順 12 に進みます。

    • 物理的に接続されている場合は、次の手順を実行して、マウント解除できないファイルシステムのミラー化に使用したディスクの raw ディスクデバイスグループの localonly プロパティを有効にします。 起動デバイスが複数のノードに接続されている場合に、その起動デバイスが不意にノードを使用できなくなるのを防ぐために、localonly プロパティは有効にしておいてください。

    1. 必要に応じて、scdidadm -L コマンドを使用し、raw ディスクデバイスグループの完全なデバイス ID パス名を表示します。

      次の例では、raw ディスクデバイスグループ名 dsk/d2 は、出力の第 3 列の一部になっており、これが完全な DID パス名にあたります。


      # scdidadm -L
      …
      1            phys-schost-3:/dev/rdsk/c1t1d0    /dev/did/rdsk/d2
      

    2. raw ディスクデバイスグループのノードリストを表示します。

      次に出力例を示します。


      # scconf -pvv | grep dsk/d2
      Device group name:						dsk/d2
      …
        (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
      …

    3. ノードリストにノード名が複数含まれているかどうかを確認します。

      • 含まれている場合は、手順 d に進みます。

      • 含まれていない場合は、手順 e に進みます。

    4. raw ディスクデバイスグループのノードリストから、ルートディスクをミラー化したノード以外のすべてのノードを削除します。

      ルートディスクをミラー化したノードだけがノードリストに残るようにします。


      # scconf -r -D name=dsk/dN,nodelist=node
      
      -D name=dsk/dN

      raw ディスクデバイスグループのクラスタ固有の名前を指定します。

      nodelist=node

      ノードリストから削除するノードの名前を指定します。

    5. scconf(1M) コマンドを使用し、localonly プロパティを有効にします。

      localonly プロパティが有効になった時点で、raw ディスクデバイスグループはそのノードリスト内のノードだけに使用されるようになります。 これにより、起動デバイスが複数のノードに接続されている場合に、不意にノードがその起動デバイスから使用できなくなることが防止されます。


      # scconf -c -D name=rawdisk-groupname,localonly=true
      
      -D name=rawdisk-groupname

      raw ディスクデバイスグループの名前を指定します。

      localonly プロパティの詳細については、scconf_dg_rawdisk(1M) のマニュアルページを参照してください。

  12. ユーザー定義ファイルシステムをミラー化するかどうかを決定します。

例 — マウント解除できないファイルシステムのミラー化

次の例に、ノード 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

マウント解除できるファイルシステムをミラー化する

次の手順を使用し、マウント解除できるユーザー定義ファイルシステムをミラー化します。 この手順では、ノードを再起動する必要はありません。

  1. 各クラスタのノードのスーパーユーザーになります。

  2. ミラー化するファイルシステムをマウント解除します。

    そのファイルシステム上で実行中のプロセスがないことを確認します。


    # umount /mount-point
    

    詳細については、umount(1M) のマニュアルページおよび『Solaris のシステム管理 (基本編)』の「ファイルシステムのマウントとマウント解除」を参照してください。

  3. マウント解除できるユーザー定義ファイルシステムが存在するスライスを、単一スライス(1 方向) 連結にします。

    ディスクスライスの物理ディスク名を指定します (cNtXdYsZ)。


    # metainit -f submirror1 1 1 diskslice
    

  4. 2 番目の連結を作成します。


    # metainit submirror2 1 1 submirror-diskslice
    

  5. 1 つのサブミラーを使用して 1 方向のミラーを作成します。


    # metainit mirror -m submirror1
    


    注 –

    このミラーのメタデバイス名またはボリューム名は、クラスタ全体で一意である必要はありません。


  6. ミラー化するマウント解除できる各ファイルシステムに対して、手順 1 から 手順 5 までを繰り返します。

  7. 各ノードで 、ミラー化したマウント解除できる各ファイルシステムの /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

  8. 2 番目のサブミラーをこのミラーに接続します。

    このように接続することで、サブミラーの同期が開始されます。


    # metattach mirror submirror2
    

  9. 手順 8 で開始したミラーの同期が完了するまで待機します。

    metastat(1M) コマンドを使用し、ミラー化の状態を参照します。


    # metastat mirror
    

  10. ユーザー定義ファイルシステムのミラー化に使用したディスクが複数のノード (多重ポート) に物理的に接続されているかどうかを確認します。

    • 物理的に接続されていない場合は、手順 12 に進みます。

    • 物理的に接続されている場合は、次の手順を実行して、ユーザー定義ファイルシステムのミラー化に使用したディスクの raw ディスクデバイスグループの localonly プロパティを有効にします。 起動デバイスが複数のノードに接続されている場合に、その起動デバイスが不意にノードを使用できなくなるのを防ぐために、localonly プロパティは有効にしておいてください。

    1. 必要に応じて、scdidadm -L コマンドを使用し、raw ディスクデバイスグループの完全なデバイス ID (DID) パス名を表示します。

      次の例では、raw ディスクデバイスグループ名 dsk/d4 は、出力の第 3 列の一部になっており、これが完全な DID パス名にあたります。


      # scdidadm -L
      …
      1         phys-schost-3:/dev/rdsk/c1t1d0     /dev/did/rdsk/d2
      

    2. raw ディスクデバイスグループのノードリストを表示します。

      次に出力例を示します。


      # scconf -pvv | grep dsk/d2
      Device group name:						dsk/d2
      …
        (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
      …

    3. ノードリストにノード名が複数含まれているかどうかを確認します。

      • 含まれている場合は、手順 d に進みます。

      • 含まれていない場合は、手順 e に進みます。

    4. raw ディスクデバイスグループのノードリストから、ルートディスクをミラー化したノード以外のすべてのノードを削除します。

      ルートディスクをミラー化したノードだけがノードリストに残るようにします。


      # scconf -r -D name=dsk/dN,nodelist=node
      
      -D name=dsk/dN

      raw ディスクデバイスグループのクラスタ固有の名前を指定します。

      nodelist=node

      ノードリストから削除するノードの名前を指定します。

    5. scconf(1M) コマンドを使用し、localonly プロパティを有効にします。

      localonly プロパティが有効になった時点で、raw ディスクデバイスグループはそのノードリスト内のノードだけに使用されるようになります。 これにより、起動デバイスが複数のノードに接続されている場合に、不意にノードがその起動デバイスから使用できなくなることが防止されます。


      # scconf -c -D name=rawdisk-groupname,localonly=true
      
      -D name=rawdisk-groupname

      raw ディスクデバイスグループの名前を指定します。

      localonly プロパティの詳細については、scconf_dg_rawdisk(1M) のマニュアルページを参照してください。

  11. ミラー化したファイルシステムをマウントします。


    # mount /mount-point
    

    詳細については、mount(1M) のマニュアルページおよび『Solaris のシステム管理 (基本編)』の「ファイルシステムのマウントとマウント解除」を参照してください。

  12. ディスクセットを作成します。

    ディスクセットを作成する に進みます。

例 — マウント解除できるファイルシステムのミラー化

次の例に、ミラー 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 Manager を使用して Solstice DiskSuite をインストールした場合は、1 から 3 個のディスクセットがすでに存在している可能性があります。 SunPlex Manager によって作成されたメタセットの詳細については、SunPlex Manager により Sun Cluster ソフトウェアをインストールする を参照してください。


  1. クラスタ内にディスクセットを 4 つ以上作成する予定かどうかを確認します。

    • 作成しない場合は、手順 6 に進みます。

    • 作成する予定の場合、手順 2 に進んで、4 つ以上のディスクセットを作成できるようにクラスタを準備します。 この作業は、初めてディスクセットをインストールするか、あるいは、完全に構成されたクラスタにより多くのディスクセットを追加するかに関わらず行います。

  2. md_nsets 変数の値が、クラスタに作成しようとするディスクセットの合計数より大きいことを確認します。

    1. クラスタの任意のノードで、/kernel/drv/md.conf ファイルの md_nsets 変数の値を検査します。

    2. クラスタ内に作成する予定のディスクセットの合計数が md_nsets の値から 1 を引いた数より大きい場合、各ノード上で md_nsets の値を希望の値まで増やします。

      作成できるディスクセットの最大数は、md_nsets の構成した値から 1 を引いた数です。 md_nsets に設定できる最大値は 32 です。

    3. クラスタの各ノードの /kernel/drv/md.conf ファイルが同じであるかを確認します。


      注意 – 注意 –

      このガイドラインに従わないと、重大な Solstice DiskSuite/Solaris Volume Manager エラーが発生し、データが失われることがあります。


    4. ノードのどれか 1 つでクラスタを停止します。


      # scshutdown -g0 -y
      

    5. クラスタの各ノードを再起動します。


      ok> boot
      

  3. クラスタの各ノードで devfsadm(1M) コマンドを実行します。

    このコマンドは、すべてのノードで同時に実行できます。

  4. クラスタ内の 1 つのノードから、scgdevs(1M) コマンドを実行して、広域デバイス名前空間を更新します。

  5. ディスクセットの作成を行う前に、各ノード上で、scgdevs コマンドが終了しているかどうかを確認します。

    ノードの 1 つで scgdevs コマンドを実行すると、このコマンドはリモートから自分自身をすべてのノードで呼び出します。 scgdevs コマンドが処理を終了したかどうかを確認するには、クラスタの各ノードで次のコマンドを実行します。


    % ps -ef | grep scgdevs
    

  6. 作成する予定のディスクセットが次の条件の 1 つに適合することを確認します。

    • ディスク列を 2 つだけ構成する場合、ディスクセットは 2 つのノードと接続する必要があり、さらに、ディスクセットとして使用する 2 つのホストと同一である 2 つのメディエータホストを使用する必要があります。 二重列メディエータの構成についての詳細は、二重列メディエータの構成 を参照してください。

    • ディスク列を3 つ以上構成する場合、任意の 2 つのディスク列 S1 と S2 のディスク数の合計が 3 番目のディスク列 S3 のディスクドライブ数よりも多いことを確認します。この条件を式で表すと、count (S1) + count (S2) > count (S3) となります。

  7. ローカル状態データベースの複製が存在することを確認します。

    手順については、状態データベースの複製を作成するには を参照してください。

  8. ディスクセットをマスターする予定のクラスタノード上でスーパーユーザーになります。

  9. ディスクセットを作成します。

    次のコマンドは、ディスクセットを作成し、そのディスクセットを Sun Cluster ディスクデバイスグループとして登録します。


    # metaset -s setname -a -h node1 node2
    
    -s setname

    ディスクセットの名前を指定します。

    -a

    ディスクセットを追加 (作成) します。

    -h node1

    ディスクセットをマスターとする主ノードの名前を指定します。

    node2

    ディスクセットをマスターとする二次ノードの名前を指定します。


    注 –

    クラスタ上に Solstice DiskSuite/Solaris Volume Manager デバイスグループを構成する metaset コマンドを実行すると、デフォルトで 1 つの二次ノードが指定されます。 デバイスグループの二次ノードの数は、デバイスグループが作成された後、 scsetup(1M) ユーティリティーを使用して変更できます。 numsecondaries の変更方法については、『Sun Cluster のシステム管理 (Solaris OS 版)』の「ディスクデバイスグループの管理」を参照してください。


  10. 新しいディスクセットの状態を確認します。


    # metaset -s setname
    

  11. ディスクセットにディスクドライブを追加します。

    ディスクセットへのディスクドライブの追加 に進みます。

例 — ディスクセットの作成

次のコマンドでは、2 つのディスクセット dg-schost-1dg-schost-2 が作成され、ノード phys-schost-1phys-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/Solaris Volume Manager は次のようにドライブのパーティションを再分割し、ディスクセット用の状態データベースをディスクドライブに配置できるようにします。

ディスクセットにディスクドライブを追加する

  1. ノードのスーパーユーザーになります。

  2. ディスクセットが作成済みであることを確認します。

    手順については、ディスクセットを作成する を参照してください。

  3. DID マッピングの一覧を表示します。


    # scdidadm -L
    

    • ディスクセットをマスターする (またはマスターする可能性がある) クラスタノードによって共有されているディスクドライブを選択します。

    • ディスクドライブをディスクセットに追加するときは、完全なデバイス ID パス名を使用します。

    出力の 1 列目は DID インスタンス番号、2 列目は完全パス (物理パス)、3 列目は完全なデバイス ID パス名 (疑似パス) になります。 共有ディスクドライブには、1 つの DID インスタンス番号に対して複数のエントリがあります。

    次の例では、DID インスタンス番号 2 のエントリは、phys-schost-1phys-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
    …

  4. ディスクセットの所有権を取得します。


    # metaset -s setname -t
    
    -s setname

    ディスクセットの名前を指定します。

    -t

    ディスクセットの所有権を取得します。

  5. ディスクセットにディスクドライブを追加します。

    完全なデバイス ID パス名を使用します。


    # metaset -s setname -a drivename
    

    -a

    ディスクセットにディスクドライブを追加します。

    drivename

    共有ディスクドライブの完全なデバイス ID パス名


    注 –

    ディスクセットにディスクドライブを追加するときは、下位デバイス名 (cNtXdY) は使用しないでください。 下位レベルデバイス名はローカル名であり、クラスタ全体で一意ではないため、この名前を使用するとディスクセットがスイッチオーバーできなくなる可能性があります。


  6. 新しいディスクセットとディスクドライブの状態を検査します。


    # metaset -s setname
    

  7. メタデバイスまたはボリュームで使用するためにディスクドライブのパーティションを再分割するかどうかを決定します。

例 — ディスクセットへのディスクドライブの追加

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 Volume Manager ボリュームを設定するときにこれらのスライスを使用できるようになります。

  1. クラスタノードのスーパーユーザーになります。

  2. format コマンドを使用し、ディスクセット内の各ディスクドライブのディスクパーティションを変更します。

    ディスクドライブのパーティションを再分割する際は、以下の条件を満たすことで、metaset(1M) コマンドでディスクのパーティションを再分割できないようにする必要があります。

    • 状態データベースの複製を格納するのに十分な大きさ (約2M バイト) の、シリ ンダ 0 から始まるスライス 7 を作成します。

    • スライス 7 の Flag フィールドを wu (読み書き可能、マウント不可) に設定します。 読み取り専用には設定しないでください。

    • スライス 7 がディスクドライブ上の他のスライスとオーバーラップしないようにします。

    詳細については、format(1M) のマニュアルページを参照してください。

  3. md.tab ファイルを使用してメタデバイスまたはボリュームを定義します。

    md.tab ファイルを作成する に進みます。

md.tab ファイルを作成する

クラスタ内の各ノードごとに /etc/lvm/md.tab ファイルを作成します。 md.tab ファイルを使用して、作成したディスクセット用に Solstice DiskSuite メタデバイスまたは Solaris Volume Manager ボリュームを定義します。


注 –

ローカルメタデバイスまたはボリュームを使用する場合は、ディスクセットの構成に使用したデバイス ID 名とは別の名前をローカルメタデバイスまたはボリュームに付けるようにしてください。 たとえば、ディスクセットで /dev/did/dsk/d3 というデバイス ID 名が使用されている場合は、ローカルメタデバイスまたはボリュームに /dev/md/dsk/d3 という名前は使用しないでください。 この必要条件は、命名規約 /dev/md/setname/{r}dsk/d# を使用する共有メタデバイスまたはボリュームには適用されません。



ヒント –

クラスタ環境内のローカルメタデバイス間またはボリューム間での混乱を避けるため、クラスタ全体で各ローカルメタデバイス名またはボリューム名が固有となるような命名規則を使用してください 。 たとえばノード 1 には d100 〜 d199 の名前を選択し、ノード 2 には d200 〜 d299 を使用します。


  1. クラスタノードのスーパーユーザーになります。

  2. 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
    …

  3. /etc/lvm/md.tab ファイルを作成し、エディタを使用して手作業で編集します。

    md.tab ファイルを作成する方法の詳細については、Solstice DiskSuite/Solaris Volume Manager のマニュアルおよび md.tab(4) のマニュアルページを参照してください。


    注 –

    サブミラーに使用するディスクドライブにデータがすでに存在している場合は、メタデバイスまたはボリュームを設定する前にデータのバックアップを作成する必要があります。 その後、データをミラーに復元します。


  4. md.tab ファイルで定義したメタデバイスまたはボリュームを起動します。

    メタデバイスまたはボリュームを起動する に進みます。

例 — サンプル 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 Volume Manager では、トランスメタデバイスの代わりにトランザクショナルボリュームが使用され、メタデバイスの代わりにボリュームが使用されます。 ほかの部分については、次の処理は両方のボリュームマネージャに対して有効です。

サンプル md.tab ファイルは、以下のように構築されています。

  1. 先頭行では、デバイス d0 を、メタデバイス d10d20 のミラーとして定義しています。 -m は、このデバイスがミラーデバイスであることを示します。


    dg-schost-1/d0 -m dg-schost-1/d0 dg-schost-1/d20

  2. 2 行目では、d0 の最初のサブミラーであるメタデバイス d10 を一方向のストライプとして定義しています。


    dg-schost-1/d10 1 1 /dev/did/rdsk/d1s0

  3. 3 行目では、d0 の最初のサブミラーであるメタデバイス d20 を一方向のストライプとして定義しています。


    dg-schost-1/d20 1 1 /dev/did/rdsk/d2s0

メタデバイスまたはボリュームを起動する

この作業は、md.tab ファイルで定義した Solstice DiskSuite メタデバイスまたは Solaris Volume Manager ボリュームを起動する場合に行います。

  1. クラスタノードのスーパーユーザーになります。

  2. md.tab ファイルが /etc/lvm ディレクトリに置かれていることを確認します。

  3. コマンドを実行するノードで、ディスクセットの所有権を持っていることを確認します。

  4. ディスクセットの所有権を取得します。


    # metaset -s setname -t
    
    -s setname

    ディスクセットの名前を指定します。

    -t

    ディスクセットの所有権を取得します。

  5. md.tab ファイルで定義されているディスクセットのメタデバイスまたはボリュームを起動します。


    # metainit -s setname -a
    
    -a

    md.tab ファイルで定義されているすべてのメタデバイスを起動します。

  6. 各マスターおよびログデバイスに、2 番目のサブミラー (submirror2) を接続します。

    md.tab ファイル内のメタデバイスまたはボリュームを起動すると、マスターの最初のサブミラー (submirror1) とログデバイスだけが接続されるため、submirror2 は手作業で接続する必要があります。


    # metattach mirror submirror2
    

  7. クラスタ内の各ディスクセットに対して、手順 3 から 手順 6 までを繰り返します。

    必要に応じて、ディスクドライブに接続できる別のノードから metainit(1M) コマンドを実行します。 クラスタ化ペアトポロジでは、すべてのノードがディスクドライブにアクセスできるわけではないため、この手順が必要になります。

  8. メタデバイスまたはボリュームの状態を確認します。


    # metastat -s setname
    

    詳細は、metaset(1M) のマニュアルページを参照してください。

  9. 2 つのディスク格納装置と 2 つのノードだけで構成されたディスクセットがクラスタに含まれているかどうかを確認します。

例 — md.tab ファイルで定義されているメタデバイスの起動

次の例では、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 つの列を持つディスクセットを 2 つのノードに接続する必要があることだけが規定されています。 この規則の下では、N+1 クラスタやその他の多くのトポロジを利用できます。

メディエータホストを追加する

構成に二重列メディエータが必要な場合は、以下の手順を実行します。

  1. メディエータホストを追加するディスクセットを現在マスターしているノードのスーパーユーザーになります。

  2. metaset(1M) コマンドを実行し、ディスクセットに接続されている各ノードをそのディスクセットのメディエータホストとして追加します。


    # metaset -s setname -a -m mediator-host-list
    
    -s setname

    ディスクセットの名前を指定します。

    -a

    ディスクセットに追加します。

    -m mediator-host-list

    ディスクセットのメディエータホストとして追加するノードの名前を指定します。

    metaset コマンドのメディエータ固有のオプションの詳細については、mediator(7D) のマニュアルページを参照してください。

  3. メディエータデータの状態を確認します。

    メディエータデータの状態を確認する に進みます。

例 — メディエータホストの追加

次の例では、ノード phys-schost-1phys-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

メディエータデータの状態を確認する

  1. メディエータホストを追加するに説明されているとおりに、メディエータホストを追加します。

  2. medstat(1M) コマンドを実行します。


    # medstat -s setname
    
    -s setname

    ディスクセットの名前を指定します。

    詳細は、medstat(1M) のマニュアルページを参照してください。

  3. 状態フィールドの値が不正かどうかを確認します。

不正なメディエータデータを修復する

次の手順を実行し、不正なメディエータデータを修復します。

  1. メディエータデータの状態を確認する の作業で説明されている方法で、不正なメディエータデータを持つすべてのメディエータホストを特定します。

  2. 関連するディスクセットを所有しているノードのスーパーユーザーになります。

  3. 関連するすべてのディスクセットから、不正なメディエータデータを持つすべてのメディエータホストを削除します。


    # metaset -s setname -d -m mediator-host-list
    
    -s setname

    ディスクセットの名前を指定します。

    -d

    ディスクセットから削除します。

    -m mediator-host-list

    削除するノードの名前をディスクセットのメディエータホストとして指定します。

  4. 手順 3で削除した各メディエータホストを修復します。


    # metaset -s setname -a -m mediator-host-list
    
    -a

    ディスクセットに追加します。

    -m mediator-host-list

    ディスクセットのメディエータホストとして追加するノードの名前を指定します。

    metaset コマンドのメディエータ固有のオプションの詳細については、mediator(7D) のマニュアルページを参照してください。

  5. クラスタファイルシステムを作成します。

    クラスタファイルシステムを追加する に進みます。