Sun Cluster 3.0 U1 ソフトウェアのインストール

付録 A Sun Cluster 構成用 Solstice DiskSuite をインストールおよび構成する

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

この付録では、次の手順について説明しています。

Solstice DiskSuite の構成

作業を開始する前に、次の情報を用意してください。

次の表に、Sun Cluster 構成用の Solstice DiskSuite ソフトウェアのインストールと構成において行う作業を示します。


注 -

SunPlex Manager を使用して Solstice DiskSuite ソフトウェアをインストールした場合は、「Solstice DiskSuite ソフトウェアをインストールする」から 「メタデバイス状態データベースの複製を作成する」までの作業はすでに行われています。


表 A-1 作業マップ: Solstice DiskSuite ソフトウェアのインストールと構成

作業 

参照箇所 

Solstice DiskSuite 構成のレイアウトを計画する 

「ボリューム管理の計画」

「Solstice DiskSuite の構成例」

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

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

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

「メタデバイス名とディスクセット数を算出する」

ローカルディスクにメタデバイス状態データベースの複製を作成する 

「メタデバイス状態データベースの複製を作成する」

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

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

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

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

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

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

ディスクセット内のドライブのパーティションを再分割し、スライス 1 〜 6 に領域を割り当てる 

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

デバイス ID 擬似デバイスのマッピングを表示し、/etc/lvm/md.tab ファイルにメタデバイスを定義する

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

md.tab ファイルを初期化する

「メタデバイスを起動する」

二重列構成の場合、メディエータホストを構成してメディエータデータの状態を確認する。また必要に応じて、不正なメディエータデータを修正する 

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

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

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

クラスタを構成する 

「クラスタの構成」

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


注 -

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


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

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

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

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

  3. Solstice DiskSuite ソフトウェアパッケージをインストールします。


    注 -

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


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


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

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

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

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

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

    パッチの入手方法とインストール方法については、『Sun Cluster 3.0 U1 ご使用にあたって』を参照してください。

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

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


    # scgdevs
    

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

    「メタデバイス名とディスクセット数を算出する」へ進んでください。

メタデバイス名とディスクセット数を算出する


注 -

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


この手順では、構成に必要なメタデバイス名とディスクセット数を算出し、/kernel/drv/md.conf ファイルを変更する方法について説明します。


ヒント -

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


  1. クラスタ内のディスクセットに必要なメタデバイス名の最大数を計算します。

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

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

      ローカルメタデバイスを使用する場合は、クラスタ内で各メタデバイスが固有の名前を持ち、クラスタ内のほかのデバイス ID(DID) と同じ名前を使用することがないように注意してください。


      ヒント -

      DID 名にだけ使用する値の範囲と、各ノードのローカルメタデバイス名にだけ使用する範囲を選択してください。たとえば、d1d1000 を DID に、d1100d1199 をノード 1 のローカルメタデバイスに、d1200d1299をノード 2 のローカルメタデバイスに指定します。


    2. ディスクセット内で使用するメタデバイス名の最大数を決定します。

      設定するメタデバイスの個数は、実際の量ではなく、メタデバイス名のに基づいています。たとえば、メタデバイス名が d950 から d1000 の場合、Solstice DiskSuite は、50 ではなく、1000 個の名前を必要とします。

  2. クラスタ内のディスクセットの予想個数を計算し、プライベートディスク管理用に 1 つ追加します。

    クラスタでは、最大 32 個のディスクセットを使用できます。ディスクセットのデフォルト値は 4 です。計算されたこの値は、md_nsets フィールドに指定します。

  3. 各ノードで /kernel/drv/md.conf ファイルを編集します。


    注意 - 注意 -

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


    1. 計算によって求めたメタデバイス名の数が 128 個を超える場合は、nmd フィールドを、手順 1 で計算した数に設定します。

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

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


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

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

  5. ローカルに複製を作成します。

    「メタデバイス状態データベースの複製を作成する」に進みます。

メタデバイス状態データベースの複製を作成する


注 -

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


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

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

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

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


    ヒント -

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


  3. 複製を検査します。


    # metadb
    

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

例 - メタデバイス状態データベースの複製の作成

次の例に、それぞれが別個のディスクに作成された 3 つのメタデバイス状態データベースの複製を示します。


# metadb -af c0t0d0s7 c0t1d0s7 c1t0d0s7
# metadb
flags            first blk      block count
    a       u       16            1034         /dev/dsk/c0t0d0s7
    a       u       1050          1034         /dev/dsk/c0t1d0s7
    a       u       2084          1034         /dev/dsk/c1t0d0s7

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

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

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


注 -

上記のミラー化手順の一部で次のようなエラーメッセージが表示されることがありますが、無視してください。


metainit: dg-schost-1: d1s0: not a metadevice



注意 - 注意 -

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


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

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

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

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


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

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


    # metainit -f 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 node
    
    -S

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

    -h node

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

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


    # shutdown -g0 -y -i6
    

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


    # metattach mirror submirror2
    

  10. ルートディスクのミラー化に使用したディスクが複数のノード (多重ポート) に物理的に接続されている場合は、そのディスクの raw ディスクデバイスグループの localonly プロパティを有効にします。

    起動デバイスが複数のノードに接続されている場合に、その起動デバイスが不意にノードを使用できなくなるのを防ぐために、localonly プロパティは有効にしておいてください。

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

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


      # scdidadm -L
      ...
      1         phys-schost-3:/dev/rdsk/c1t1d0     /dev/did/rdsk/d2
      # scconf -c -D name=dsk/d2,localonly=true
      

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

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


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

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

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


    # 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: Concat/Stripe is setup
# metainit -f d20 1 1 c2t2d0s0
d12: Concat/Stripe is setup
# metainit d0 -m d10
d10: Mirror is setup
# metaroot d0
# lockfs -fa
 
(ノードを再起動する)
# scswitch -S -h phys-schost-1
# shutdown -g0 -y -i6
 
(2 つ目のサブミラーを接続する)
# metattach d0 d20
d0: Submirror d20 is attached
 
(ミラー化されたディスクの raw ディスクデバイスグループの localonly プロパティを有効にする)
# scconf -c -D name=dsk/d2,localonly=true
 
(代替起動パスを記録する)
# ls -l /dev/rdsk/c2t2d0s0
lrwxrwxrwx  1 root     root          57 Apr 25 20:11 /dev/rdsk/c2t2d0s0 -> 
../../devices/node@1/pci@1f,0/pci@1/scsi@3,1/disk@2,0:a,raw

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

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

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

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


    # metainit -f submirror1 1 1 diskslice
    

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


    # metainit -f 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. 広域名前空間のミラー化に使用したディスクが複数のノード (多重ポート) に物理的に接続されている場合は、そのディスクの raw ディスクデバイスグループの localonly プロパティを有効にします。

    起動デバイスが複数のノードに接続されている場合に、その起動デバイスが不意にノードを使用できなくなるのを防ぐために、localonly プロパティは有効にしておいてください。

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

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


      # scdidadm -L
      ...
      1         phys-schost-3:/dev/rdsk/c1t1d0     /dev/did/rdsk/d2
      # scconf -c -D name=dsk/d2,localonly=true
      

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

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


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

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

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

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

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

次の例に、パーティション c0t0d0s3 上のサブミラー d111 と パーティション c2t2d0s3 上のサブミラー d121 で構成されているミラー d101 を作成する方法を示します。/global/.devices/node@1/etc/vfstab ファイルエントリは、ミラー名 d101 を使用するように更新されます。ディスク c2t2d0 は多重ポートディスクなので、localonly プロパティが有効に設定されています。


(ミラーを作成する)
# metainit -f d111 1 1 c0t0d0s3
d111: Concat/Stripe is setup
# metainit -f d121 1 1 c2t2d0s3
d121: Concat/Stripe is setup
# metainit d101 -m d111
d101: Mirror is setup
# metattach d101 d121
d101: Submirror d121 is attached
 
(/etc/vfstab ファイルを編集する)
# vi /etc/vfstab
#device        device          mount           FS      fsck    mount   mount
#to mount      to fsck         point           type    pass    at boot options
#
/dev/md/dsk/d101 /dev/md/rdsk/d101 /global/.devices/node@1 ufs 2 no global
 
(同期状況を表示する)
# metastat d101
d101: Mirror
      Submirror 0: d111
         State: Okay
      Submirror 1: d121
         State: Resyncing
      Resync in progress: 15 % done
...
 
(ミラー化したディスクの raw ディスクデバイスグループの DID 名を判別する)
# scdidadm -L
...
1         phys-schost-3:/dev/rdsk/c2t2d0     /dev/did/rdsk/d2
 
(ミラー化したディスクの raw ディスクデバイスグループの localonly プロパティを有効にする)
# scconf -c -D name=dsk/d2,localonly=true

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

次の手順を使用し、/usr/optswap などの、通常のシステム使用時にはマウント解除できないファイルシステムをミラー化します。

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

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


    # metainit -f submirror1 1 1 diskslice
    

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


    # metainit -f 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 node
    
    -S

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

    -h node

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

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


    # shutdown -g0 -y -i6
    

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

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


    # metattach mirror submirror2
    

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

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


    # metastat mirror
    

  11. マウント解除できないファイルシステムのミラー化に使用したディスクが複数のノード (多重ポート) に物理的に接続されている場合は、そのディスクの raw ディスクデバイスグループの localonly プロパティを有効にします。

    起動デバイスが複数のノードに接続されている場合に、その起動デバイスが不意にノードを使用できなくなるのを防ぐために、localonly プロパティは有効にしておいてください。

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

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


      # scdidadm -L
      ...
      1            phys-schost-3:/dev/rdsk/c1t1d0    /dev/did/rdsk/d2
      # scconf -c -D name=dsk/d2,localonly=true
      

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

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


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

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

  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: Concat/Stripe is setup
# metainit -f d21 1 1 c2t2d0s1
d21: Concat/Stripe is setup
# metainit d1 -m d11
d1: Mirror is setup
 
(/etc/vfstab ファイルを更新する)
# vi /etc/vfstab
#device        device          mount           FS      fsck    mount   mount
#to mount      to fsck         point           type    pass    at boot options
#
/dev/md/dsk/d1 /dev/md/rdsk/d1 /usr            ufs     2       no      global
 
(ノードを再起動する)
# scswitch -S -h phys-schost-1
# shutdown -g0 -y -i6
 
(2 つ目のサブミラーを接続する)
# metattach d1 d21
d1: Submirror d21 is attached
 
(同期状態を参照する)
# metastat d1
d1: Mirror
      Submirror 0: d11
         State: Okay
      Submirror 1: d21
         State: Resyncing
      Resync in progress: 15 % done
...
 
(ミラー化したディスクの raw ディスクデバイスグループの DID 名を判別する)
# scdidadm -L
...
1         phys-schost-3:/dev/rdsk/c2t2d0     /dev/did/rdsk/d2
 
(ミラー化したディスクの raw ディスクデバイスグループの localonly プロパティを有効にする)
# scconf -c -D name=dsk/d2,localonly=true

ユーザー定義ファイルシステムをミラー化する

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

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

  2. ユーザー定義ファイルシステムが存在するスライスを単一スライス (1 方向) 連結にします。


    # metainit -f submirror1 1 1 diskslice
    

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


    # metainit -f 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. 2 つ目のサブミラーをこのミラーに接続します。

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


    # metattach mirror submirror2
    

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

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


    # metastat mirror
    

  9. ユーザー定義ファイルシステムのミラー化に使用したディスクが複数のノード (多重ポート) に物理的に接続されている場合は、そのディスクの 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
      # scconf -c -D name=dsk/d2,localonly=true
      

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

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


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

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

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

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

例 - ユーザー定義ファイルシステムのミラー化

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


(ミラーを作成する)
# metainit -f d14 1 1 c0t0d0s4
d14: Concat/Stripe is setup
# metainit -f d24 1 1 c2t2d0s4
d24: Concat/Stripe is setup
# metainit d4 -m d14
d4: Mirror is setup
 
(/etc/vfstab ファイルを更新する)
# vi /etc/vfstab
#device        device          mount           FS      fsck    mount   mount
#to mount      to fsck         point           type    pass    at boot options
#
/dev/md/dsk/d4 /dev/md/rdsk/d4 /home           ufs     2       no      global
 
(2 つ目のサブミラーを接続する)
# metattach d4 d24
d4: Submirror d24 is attached
 
(同期状態を参照する)
# metastat d4
d4: Mirror
      Submirror 0: d14
         State: Okay
      Submirror 1: d24
         State: Resyncing
      Resync in progress: 15 % done
...
 
(ミラー化したディスクの raw ディスクデバイスグループの DID 名を判別する)
# scdidadm -L
...
1         phys-schost-3:/dev/rdsk/c2t2d0     /dev/did/rdsk/d2
 
(ミラー化したディスクの raw ディスクデバイスグループの localonly プロパティを有効にする)
# scconf -c -D name=dsk/d2,localonly=true

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

クラスタ内に作成するディスクセットごとに、次の手順を実行します。


注 -

SunPlex Manager を使用して Solstice DiskSuite ソフトウェアをインストールした場合は、1 〜 3 個のディスクセットがすでに存在している場合があります。SunPlex Manager が作成するメタセットの詳細は、「SunPlex Manager による Sun Cluster ソフトウェアのインストール」を参照してください。


  1. 作成するディスクセットが、以下の要件のいずれかを満たしていることを確認します。

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

    • 3 つ以上の列で構成されている場合は、必ず、任意の 2 つの列 (S1 と S2) のディスク数の合計を 3 つ目の列 (S3) のディスク数より多くします。この必要条件を数式で表すと、ディスク数 (S1) + ディスク数 (S2) > ディスク数 (S3) となります。

  2. root がグループ 14 のメンバーになるようにします。


    # vi /etc/group
    ...
    sysadmin::14:root
    ...

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

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

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

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

    このコマンドによって、ディスクセットを Sun Cluster ディスクデバイスグループとして登録する作業も行われます。


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

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

    -a

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

    -h node1

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

    node2

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

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


    # metaset -s setname
    

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

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

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

次のコマンドでは、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 は次のようにドライブのパーティションを再分割し、ディスクセット用のメタデバイス状態データベースをドライブに配置できるようにします。

ディスクセットにドライブを追加する
  1. ノードのスーパーユーザーになります。

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

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

  3. デバイス ID (DID) マッピングの一覧を表示します。


    # scdidadm -L
    

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

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

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

    次の例では、DID インスタンス番号 2 のエントリは、phys-schost-1phys-schost-2 で共有されているドライブを示しており、完全な DID 名は /dev/did/rdsk/d2 です。


    1       phys-schost-1:/dev/rdsk/c0t0d0 /dev/did/rdsk/d1
    2       phys-schost-1:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2
    2       phys-schost-2:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2
    3       phys-schost-1:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3
    3       phys-schost-2:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3
    ...

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


    # metaset -s setname -t
    
    -s setname

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

    -t

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

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

    完全な DID 擬似ドライバ名を使用します。


    # metaset -s setname -a DIDname
    
    -a

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

    DIDname

    共有ディスクのデバイス ID (DID) 名


    注 -

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


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


    # metaset -s setname
    

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

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

metaset コマンドによって、ディスクドライブ /dev/did/dsk/d1/dev/did/dsk/d2 がディスクセット dg-schost-1 に追加されます。


# metaset -s dg-schost-1 -a /dev/did/dsk/d1 /dev/did/dsk/d2

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

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

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

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

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

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

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

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

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

  3. md.tab ファイルを使用してメタデバイスを定義します。

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

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

クラスタ内の各ノードごとに /etc/lvm/md.tab ファイルを作成します。md.tab ファイルを使用し、作成したディスクセットのメタデバイスを定義します。


注 -

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



ヒント -

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


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

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

    下位デバイス名 (cNtXdY) の代わりに、md.tab ファイルの完全な DID 擬似ドライバ名を使用します。


    # scdidadm -L
    

    次の出力例では、1 列目が DID インスタンス番号、2 列目が完全パス (物理パス)、3 列目が完全な DID 擬似ドライバ名 (疑似パス) です。


    1       phys-schost-1:/dev/rdsk/c0t0d0 /dev/did/rdsk/d1
    2       phys-schost-1:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2
    2       phys-schost-2:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2
    3       phys-schost-1:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3
    3       phys-schost-2:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3
    ...

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

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


    注 -

    サブミラーに使用するディスクにデータがすでに存在している場合は、メタデバイスを構成する前にそのデータのバックアップを取り、ミラーに復元する必要があります。


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

    「メタデバイスを起動する」に進みます。

例 - サンプル md.tab ファイル

次の md.tab のサンプルファイルでは、dg-schost-1 というディスクセット用のメタデバイスを定義しています。md.tab ファイル内の行の順序は重要ではありません。


dg-schost-1/d0 -t dg-schost-1/d1 dg-schost-1/d4
    dg-schost-1/d1 -m dg-schost-1/d2
        dg-schost-1/d2 1 1 /dev/did/rdsk/d1s4
        dg-schost-1/d3 1 1 /dev/did/rdsk/d55s4
    dg-schost-1/d4 -m dg-schost-1/d5
        dg-schost-1/d5 1 1 /dev/did/rdsk/d3s5
        dg-schost-1/d6 1 1 /dev/did/rdsk/d57s5

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

メタデバイスを起動する

この作業は、md.tab ファイルで定義したメタデバイスを起動する場合に行います。

  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
    

    詳細は、metastat(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 ディスクセットで必要です。は、ディスク格納装置、その物理ディスク、格納装置からノードへのケーブル、インタフェースアダプタカードで構成されます。メディエータを使用することで、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(7) のマニュアルページを参照してください。

  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. Status フィールドの値が Bad かどうかを確認します。

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

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

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

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

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


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

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

    -d

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

    -m mediator-host-list

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

  4. メディエータホストを復元します。


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

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

    -m mediator-host-list

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

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

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

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

Solstice DiskSuite の構成例

ここでは、Solstice DiskSuite ソフトウェアを使用する際に、各ディスクセットに含めるディスク数を決定する方法を示します。この例では、3 つの記憶装置を使用しているものと想定しています。また、既存のアプリケーションが NFS (それぞれ 5G バイトの 2 つのファイルシステム) 上で動作し、2 つの Oracle データベース (5G バイトと 10G バイト) を実行しています。

この構成例に必要なドライブ数は、次の表に示す計算式に基づいて決定されます。3 つの記憶装置構成の場合は、28 個のドライブが必要であり、これらのドライブを 3 つ記憶装置の間にできるかぎり等配分します。必要なディスクの容量は切り上げられるため、5G バイトのファイルシステムには、1G バイトのディスク空間が追加されていることに注意してください。

表 A-2 構成に必要なドライブ数

用途 

データ 

必要なディスク装置 

必要なドライブ数 

nfs1

5G バイト 

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

nfs2

5G バイト 

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

oracle1

5G バイト 

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

oracle2

10G バイト 

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

10 

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

表 A-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 方向のミラー化を復元できます。