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

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

この章では、「ボリューム管理の計画」の計画情報に基づいて、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 ソフトウェアを構成します。


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

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

この節では、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. (Solaris 8 と Solaris 9 のみ) 構成に必要なメタデバイス名とディスクセットの数を計算し、/kernel/drv/md.conf ファイルを変更

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

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

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

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

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

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


注 –

次のような状況ではこの手順を実行しないでください。


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

始める前に

次の作業を実行します。

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

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

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

  3. 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 のインストールには、 SUNWmdr および SUNWmdu パッケージが必要です。

    • 64 ビット版の Solstice DiskSuite をインストールするには、SUNWmdx パッケージも必要です。

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


    注 –

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


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

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

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

  6. クラスタのほかの各ノードで、手順 1から手順 5までを繰り返します。

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


    # scgdevs
    
次の手順

SunPlex Installer を使用して Solstice DiskSuite ソフトウェアをインストールした場合は、「ルートディスクのミラー化」に進みます。

クラスタが Solaris 10 OS 上で動作している場合は、「状態データベースの複製を作成するには」に進みます。

上記以外の場合は、「メタデバイス名またはボリューム名とディスクセットの数を算出する」に進みます。

注意事項

scgdevs コマンドは、「Could not open /dev/rdsk/c0t6d0s2 to verify device id, Device busy」のようなメッセージを返すことがあります。リストされたデバイスが CD-ROM デバイスの場合は、メッセージを無視しても問題ありません。

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


注 –

次の状況では、この手順は実行しないでください。


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


ヒント –

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

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


始める前に

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

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

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

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

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

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

      ローカルのメタデバイスまたはボリュームを使用する場合は、広域デバイスファイルシステム /global/.devices/node@ nodeid がマウントされる、ローカルのメタデバイス名またはボリューム名のそれぞれがクラスタ全体で一意であり、クラスタ内にある任意のデバイス ID 名と同じ名前を使用していないことを確認します。


      ヒント –

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


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

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

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


    注意 – 注意 –

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


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

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

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


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

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

次の手順

ローカルの状態データベースの複製を作成します。「状態データベースの複製を作成するには」に進みます。

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


注 –

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


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

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

  2. 各クラスタノードの 1 つ以上のローカルデバイス上で状態データベースレプリカを作成します。

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


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

    ヒント –

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


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

  3. 複製を検査します。


    # metadb
    

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


例 3–1 状態データベースの複製の作成

次の例は、3 つの Solstice DiskSuite 状態データベースの複製を示しています。各複製は、異なるデバイス上に作成されています。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

次の手順

ルートディスク上のファイルシステムをミラー化するには、「ルートディスクのミラー化」に進みます。

それ以外の場合は、 「クラスタ内でのディスクセットの作成」に進んで、Solstice DiskSuite または Solaris Volume Manager ディスクセットを作成します。

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

ルートディスクをミラー化することによって、システムディスクの障害のためにクラスタノード自体が停止することを防止します。ルートディスクには、4 種類のファイルシステムを配置できます。ファイルシステムは、各種類ごとに異なる方法でミラー化します。

各のファイルシステムは、以下の手順でミラー化します。


注意 – 注意 –

ローカルディスクをミラー化する場合は、ディスク名を指定する際にパスに /dev/global を使用しないでください。クラスタファイルシステム以外にこのパスを指定すると、システムを起動できなくなります。


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

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

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

  2. ルートスライスを単一スライス (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
    

    注 –

    このデバイスが広域デバイスファイルシステム /global/.devices/node@nodeid をマウントするのに使用されるローカルのデバイスである場合、このミラーのメタデバイス名またはボリューム名は、クラスタ全体で一意である必要があります。


  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. ルートディスクのミラー化に使用されるディスクが 1 つ以上のノードに物理的に接続されている (多重ホスト化されている) 場合は、localonly プロパティーを有効にします。

    以下の手順を実行して、ルートディスクのミラー化に使用するディスクの 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
      Device group name:						dsk/d2
      …
        (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
      …
    3. ノードリストに複数のノード名が含まれる場合、ルートディスクをミラー化したノードを除くすべてのノードをノードリストから削除します。

      ルートディスクをミラー化したノードだけが raw ディスクデバイスグループのノードリストに残るはずです。


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

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

      nodelist=node

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

    4. 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 ユーザーズガイド』の第 7 章、『Solaris ボリュームマネージャの管理』、または『Solaris ボリュームマネージャの管理』「RAID-1 ボリュームの作成」を参照してください。


    # ls -l /dev/rdsk/root-disk-slice
    
  12. クラスタ内の残りの各ノードで、手順 1 から手順 11 までを繰り返します。

    広域デバイスファイルシステム /global/.devices/node@nodeid がマウントされるミラーのメタデバイス名またはボリューム名はそれぞれ、クラスタ全体で一意になるようにします。


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

次の例に、パーティション c0t0d0s0 上のサブミラー d10 とパーティション c2t2d0s0 上のサブミラー d20 で構成されているノード phys-schost-1 上に、ミラー d0 を作成する方法を示します。デバイス c2t2d0 は多重ホストディスクなので、localonly プロパティーが有効に設定されています。


(ミラーを作成します)
# metainit -f d10 1 1 c0t0d0s0
d11: Concat/Stripe is setup
# metainit d20 1 1 c2t2d0s0
d12: Concat/Stripe is setup
# metainit d0 -m d10
d10: Mirror is setup
# metaroot d0
# lockfs -fa
 
(phys-schost-1 からリソースグループとデバイスグループを移動します)
# scswitch -S -h phys-schost-1
 
(ノードを再起動します)
# shutdown -g0 -y -i6
 
(2 番目のサブミラーを接続します)
# metattach d0 d20
d0: Submirror d20 is attached
 
(デバイスグループのノードリストを表示します)
# scconf -pvv | grep dsk/d2
Device group name:						dsk/d2
…
  (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
…
 
(ノードリストから phys-schost-3 を削除します)
# scconf -r -D name=dsk/d2,nodelist=phys-schost-3
 
(localonly プロパティーを有効にします)
# scconf -c -D name=dsk/d2,localonly=true
 
(代替起動パスを記録します)
# 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 をミラー化する場合は、「広域名前空間をミラー化する」に進みます。

マウント解除できないファイルシステムをミラー化する場合は、「マウント解除できないルート (/) 以外のファイルシステムをミラー化する」に進みます。

ユーザー定義のファイルシステムをミラー化する場合は、「マウント解除できるファイルシステムをミラー化する」に進みます。

上記以外の場合は、 「クラスタ内でのディスクセットの作成」に進んで、ディスクセットを作成します。

注意事項

このミラー化のいくつかの手順において、「metainit: dg-schost-1: d1s0: not a metadevice」のようなエラーメッセージが出力されることがあります。このようなエラーメッセージは危険ではなく、無視してもかまいません。

Procedure広域名前空間をミラー化する

次の手順を使用し、広域名前空間 /global/.devices/node@nodeid/ をミラー化します。

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

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

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


    # metainit -f submirror1 1 1 diskslice
    
  3. 2 番目の連結を作成します。


    # metainit submirror2 1 1 submirror-diskslice
    
  4. 1 つのサブミラーを使用して 1 方向のミラーを作成します。


    # metainit mirror -m submirror1
    

    注 –

    広域デバイスファイルシステム /global/.devices/node@nodeid がマウントされるミラーのメタデバイス名またはボリューム名は、クラスタ全体で一意である必要があります。


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

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


    # metattach mirror submirror2
    
  6. /global/.devices/node@nodeid ファイルシステム用に /etc/vfstab ファイルエントリを編集します。

    device to mountdevice 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. 広域名前空間のミラー化に使用されるディスクが複数のノードに接続されている (多重ホスト化されている) 場合は、localonly プロパティーを有効にします。

    以下の手順を実行して、広域名前空間のミラー化に使用するディスクの 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. ノードリストに複数のノード名が含まれる場合、ディスクをミラー化したノードを除くすべてのノードをノードリストから削除します。

      ディスクをミラー化したノードだけが raw ディスクデバイスグループのノードリストに残るはずです。


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

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

      nodelist=node

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

    4. localonly プロパティーを有効にします。

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


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

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

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


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

次の例に、パーティション 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 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 ディスクデバイスグループのデバイス ID 名を確認します)
# scdidadm -L
…
1         phys-schost-3:/dev/rdsk/c2t2d0     /dev/did/rdsk/d2
 
(デバイスグループのノードリストを表示します)
# scconf -pvv | grep dsk/d2
Device group name:						dsk/d2
…
  (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
…
 
(ノードリストから phys-schost-3 を削除します)
# scconf -r -D name=dsk/d2,nodelist=phys-schost-3
 
(localonly プロパティーを有効にします)
# scconf -c -D name=dsk/d2,localonly=true

次の手順

ルート (/) 以外で、マウント解除できないファイルシステムをミラー化する場合は、「マウント解除できないルート (/) 以外のファイルシステムをミラー化する」に進みます。

ユーザー定義のファイルシステムをミラー化する場合は、「マウント解除できるファイルシステムをミラー化する」に進みます。

上記以外の場合は、 「クラスタ内でのディスクセットの作成」に進んで、ディスクセットを作成します。

注意事項

このミラー化のいくつかの手順において、「metainit: dg-schost-1: d1s0: not a metadevice」のようなエラーメッセージが出力されることがあります。このようなエラーメッセージは危険ではなく、無視してもかまいません。

Procedureマウント解除できないルート (/) 以外のファイルシステムをミラー化する

次の手順を使用し、/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 mountdevice 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. マウント解除できないファイルシステムをミラー化するのに使用されるディスクが複数のノードに物理的に接続されている (つまり、多重ホストされている) 場合は、localonly プロパティーを有効にします。

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

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

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


      # 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. ノードリストに複数のノード名が含まれる場合、ルートディスクをミラー化したノードを除くすべてのノードをノードリストから削除します。

      ルートディスクをミラー化したノードだけが raw ディスクデバイスグループのノードリストに残るはずです。


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

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

      nodelist=node

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

    4. localonly プロパティーを有効にします。

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


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

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

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


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

次の例に、ノード phys-schost-1 上にミラー d1 を作成し、c0t0d0s1 上に存在する /usr をミラー化するための方法を示します。ミラー d1 は、パーティション c0t0d0s1 上のサブミラー d11 とパーティション c2t2d0s1 上のサブミラー d21 で構成されています。/usr/etc/vfstab ファイルエントリは、ミラー名 d1 を使用するように更新されます。デバイス c2t2d0 は多重ホストディスクなので、localonly プロパティーが有効に設定されています。


(ミラーを作成します。)
# metainit -f d11 1 1 c0t0d0s1
d11: Concat/Stripe is setup
# metainit d21 1 1 c2t2d0s1
d21: Concat/Stripe is setup
# metainit d1 -m d11
d1: Mirror is setup
 
(/etc/vfstab ファイルを編集します。)
# vi /etc/vfstab
#device        device        mount    FS     fsck    mount    mount
#to mount      to fsck       point    type   pass    at boot  options
#
/dev/md/dsk/d1 /dev/md/rdsk/d1 /usr ufs  2       no global
 
(phys-schost-1 からリソースグループとデバイスグループを移動します。)
# scswitch -S -h phys-schost-1
 
(ノードを再起動します。)
# shutdown -g0 -y -i6
 
(2 番目のサブミラーを接続します。)
# metattach d1 d21
d1: Submirror d21 is attached
 
(同期の状態を表示します。)
# metastat d1
d1: Mirror
      Submirror 0: d11
         State: Okay
      Submirror 1: d21
         State: Resyncing
      Resync in progress: 15 % done
…
 
(ミラー化したディスクの raw ディスクデバイスグループのデバイス ID 名を確認します。)
# scdidadm -L
…
1         phys-schost-3:/dev/rdsk/c2t2d0     /dev/did/rdsk/d2
 
(デバイスグループのノードリストを表示します。)
# scconf -pvv | grep dsk/d2
Device group name:						dsk/d2
…
  (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
…
 
(ノードリストから phys-schost-3 を削除します。)
# scconf -r -D name=dsk/d2,nodelist=phys-schost-3
 
(localonly プロパティーを有効にします。)
# scconf -c -D name=dsk/d2,localonly=true

次の手順

ユーザー定義のファイルシステムをミラー化する場合は、「マウント解除できるファイルシステムをミラー化する」に進みます。

上記以外の場合は、 「クラスタ内でのディスクセットの作成」に進んで、ディスクセットを作成します。

注意事項

このミラー化のいくつかの手順において、「metainit: dg-schost-1: d1s0: not a metadevice」のようなエラーメッセージが出力されることがあります。このようなエラーメッセージは危険ではなく、無視してもかまいません。

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

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

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

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

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


    # umount /mount-point
    

    詳細については、umount(1M) のマニュアルページと『Solaris のシステム管理 (デバイスとファイルシステム)』の第 18 章「ファイルシステムのマウントとマウント解除 (手順)」を参照してください。

  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 mountdevice 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. ユーザー定義のファイルシステムのミラー化に使用されるディスクが複数のノードに物理的に接続されている (多重ホスト化されている) 場合は、localonly プロパティーを有効にします。

    以下の手順を実行して、ユーザー定義のファイルシステムのミラー化に使用するディスクの raw-disk デバイスグループの 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. ノードリストに複数のノード名が含まれる場合、ルートディスクをミラー化したノードを除くすべてのノードをノードリストから削除します。

      ルートディスクをミラー化したノードだけが raw ディスクデバイスグループのノードリストに残るはずです。


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

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

      nodelist=node

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

    4. 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 のシステム管理 (デバイスとファイルシステム)』の第 18 章「ファイルシステムのマウントとマウント解除 (手順)」を参照してください。


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

次の例に、ミラー d4 を作成し、c0t0d0s4 上に存在する /export をミラー化する方法を示します。ミラー d4 は、パーティション c0t0d0s4 上のサブミラー d14 とパーティション c2t2d0s4 上のサブミラー d24 で構成されています。/export/etc/vfstab ファイルエントリは、ミラー名 d4 を使用するように更新されます。デバイス c2t2d0 は多重ホストディスクなので、localonly プロパティーが有効に設定されています。


(ファイルシステムをマウント解除します)
# umount /export
 
(ミラーを作成します)
# metainit -f d14 1 1 c0t0d0s4
d14: Concat/Stripe is setup
# metainit 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 /export 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 ディスクデバイスグループのデバイス ID 名を確認します)
# scdidadm -L
…
1         phys-schost-3:/dev/rdsk/c2t2d0     /dev/did/rdsk/d2
 
(デバイスグループのノードリストを表示します)
# scconf -pvv | grep dsk/d2
Device group name:                       dsk/d2
…
  (dsk/d2) Device group node list:       phys-schost-1, phys-schost-3
…
 
(ノードリストから phys-schost-3 を削除します)
# scconf -r -D name=dsk/d2,nodelist=phys-schost-3
 
(localonly プロパティーを有効にします)
# scconf -c -D name=dsk/d2,localonly=true 
 
(ファイルシステムをマウントします)
# mount /export

次の手順

ディスクセットを作成する必要がある場合は、次のうちの 1 つに進みます。

必要十分なディスクセットを持っている場合は、次のうちの 1 つに進みます。

注意事項

このミラー化のいくつかの手順において、「metainit: dg-schost-1: d1s0: not a metadevice」のようなエラーメッセージが出力されることがあります。このようなエラーメッセージは危険ではなく、無視してもかまいません。

クラスタ内でのディスクセットの作成

この節では、クラスタ構成向けにディスクセットを作成する方法を説明します。以下のような状況では、ディスクセットを作成する必要がない場合があります。

次の表に、ディスクセットを作成するときに実行する作業を示します。

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

作業 

参照先 

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

「ディスクセットを作成するには」

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

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

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

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

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

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

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

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

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

この手順を実行して、ディスクセットを作成します。

手順
  1. (Solaris 8 または Solaris 9) 新しいディスクセットを作成したあと、クラスタに 3 つより多いディスクセットがあるかどうかを判断します。

    • 3 つより多いディスクセットがクラスタにない場合は、手順 9 に進みます。

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

    • クラスタが Solaris 10 OS 上で動作している場合、 Solaris ボリュームマネージャーは自動的に必要な構成の変更を行います。手順 9 に進みます。

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

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

    作成できるディスクセットの最大数は、md_nsets の構成した値から 1 を引いた数です。md_nsets で可能な最大の値は 32 なので、作成できるディスクセットの最大許容数は 31 です。

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


    注意 – 注意 –

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


  5. いずれかのノードで、md.conf ファイルに変更を加えた場合、以下の手順を実行して、これらの変更をアクティブにしてください。

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


      # scshutdown -g0 -y
      
    2. クラスタの各ノードを再起動します。


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

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

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

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

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


     % ps -ef | grep scgdevs
    
  9. 作成する予定のディスクセットが次の条件の 1 つに適合することを確認します。

    • ディスクセットが正確に 2 つのディスク列で構成されている場合、そのディスクセットは、正確に 2 つのノードに接続して、正確に 2 つのメディエータホストを使用する必要があります。これらのメディエータホストは、ディスクセットに使用されるものと同じ 2 つのホストでなければなりません。二重列メディエータを構成する方法の詳細については、「二重列メディエータの構成」を参照してください。

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

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

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

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

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

    次のコマンドは、ディスクセットを作成し、そのディスクセットを 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 版)』「ディスクデバイスグループの管理」を参照してください。


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


    # metaset -s setname
    

例 3–6 ディスクセットを作成する

次のコマンドでは、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

次の手順

ディスクセットにドライブを追加します。「ディスクセットにドライブを追加する」に進みます。

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

ディスクセットにドライブを追加すると、ボリューム管理ソフトウェアは、以下のようにパーティションを再分割して、ディスクセットの状態データベースをドライブに置くことができるようにします。

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

始める前に

ディスクセットが作成済みであることを確認します。手順については、「ディスクセットを作成するには」を参照してください。

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

  2. 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
    …
  3. ディスクセットの所有者になります。


    # metaset -s setname -t
    
    -s setname

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

    -t

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

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

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


    # metaset -s setname -a drivename
    
    -a

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

    drivename

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


    注 –

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


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


    # metaset -s setname
    

例 3–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

次の手順

メタデバイスまたはボリューム用にドライブのパーティションを再分割する場合は、「ディスクセット内のドライブのパーティションを再分割する」に進みます。

それ以外の場合は、md.tab ファイルを作成する」に進んで、md.tab ファイルで、メタデバイスまたはボリュームを定義します。

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

metaset(1M) コマンドは、ディスクセット内のドライブのパーティションを再分割し、各ドライブの小さな領域をスライス 7 として Solstice DiskSuite または Solaris Volume Manager ソフトウェア用に予約します。各ドライブの残り領域はスライス 0 に組み込まれます。ドライブをより効果的に利用するために、この手順に従ってドライブの配置を変更してください。スライス1 から 6 に領域を割り当てることで、Solstice DiskSuite メタデバイスまたは Solaris ボリュームマネージャー ボリュームを設定するときにこれらのスライスを使用できるようになります。

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

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

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

    • 状態データベースのレプリカを維持するのに十分な大きさのシリンダ 0 で始まるスライス 7 を作成します。Solstice DiskSuite または Solaris ボリュームマネージャー の管理者ガイドを参照して、ご使用のバージョンのボリューム管理ソフトウェア用の状態データベースレプリカのサイズを調べます。

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

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

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

次の手順

md.tab ファイルを使用してメタデバイスまたはボリュームを定義します。md.tab ファイルを作成する」に進みます。

Proceduremd.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. クラスタノードのスーパーユーザーになります。

  2. md.tab ファイルを作成するときの参照用として、DID マッピングの一覧を表示します。

    下位デバイス名 (cN tXdY) の代わりに、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 ファイルを作成し、エディタを使用して手作業で編集します。


    注 –

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


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

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


例 3–8 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 ファイルは、以下のように構築されています。

  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 ファイルで定義したメタデバイスまたはボリュームを起動します。「メタデバイスまたはボリュームを起動する」に進みます。

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

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

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

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

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

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


    # scswitch -z setname -h node
    
    -z setname

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

    -h node

    所有権を取得するノードを指定します。

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


    # metainit -s setname -a
    
    -s setname

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

    -a

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

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

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


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

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

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


    # metastat -s setname
    

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


例 3–9 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 つのノードがある場合は、二重列メディエータを追加します。「二重列メディエータの構成」に進みます。

それ以外の場合は、「クラスタファイルシステムを追加する」に進んで、クラスタファイルシステムを作成します。

二重列メディエータの構成

この節では、二重列メディエータホストを構成するための情報と手順について説明します。二重列メディエータは、2 つのディスク列と 2 つのクラスタノードだけで構成されている、すべての Solstice DiskSuite または Solaris Volume Manager ディスクセットに必要です。メディエータを使用することで、Sun Cluster ソフトウェアは、二重列構成の単一の列に障害が発生した場合に、最新のデータを提示できるようになります。

二重列メディエータ、またはメディエータホストとは、メディエータデータを格納するクラスタノードのことです。メディエータデータは、その他のメディエータの場所に関する情報を提供するもので、データベースの複製に格納されているコミット数と同一のコミット数が含まれています。このコミット数は、メディエータデータがデータベースの複製内のデータと同期しているかどうかを確認するために使用されます。

は、ディスク格納装置、その物理ディスク、格納装置からノードへのケーブル、インタフェースアダプタカードで構成されます。

次の表に、二重列メディエータホストを構成するために実行する作業を示します。

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

作業 

参照先 

1. 二重列メディエータホストを構成 

「二重列メディエータの必要条件」

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

2. メディエータデータの状態をチェック 

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

3. 必要に応じて、不正なメディエータデータを修復 

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

二重列メディエータの必要条件

メディエータを使用した二重列構成には、以下の規則が適用されます。

上記の規則では、クラスタ全体で 2 つのノードを使用する必要はありません。むしろ、2 つの列を持つディスクセットを 2 つのノードに接続する必要があることだけが規定されています。この規則の下では、N+1 クラスタやその他の多くのトポロジを利用できます。

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

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

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

  2. ディスクセットに接続されている各ノードを、そのディスクセットのメディエータホストとして追加します。


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

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

    -a

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

    -m mediator-host-list

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

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


例 3–10 メディエータホストの追加

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

次の手順

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

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

始める前に

「メディエータホストを追加する」で説明されているとおりに、メディエータホストが追加されていることを確認します。

手順
  1. メディエータデータの状態を表示します。


    # medstat -s setname
    
    -s setname

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

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

  2. medstat 出力の状態フィールドの値がBad になっている場合は、影響のあるメディエータホストを修復します。

    「不正なメディエータデータを修復する」に進みます。

次の手順

「クラスタファイルシステムを追加する」に進んで、クラスタファイルシステムを作成します。

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

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

手順
  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) のマニュアルページを参照してください。

次の手順

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