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

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

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

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.1 G バイトディスク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 ソフトウェアをインストールする


注 –

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


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

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


この手順では、構成に必要とされる Solstice DiskSuite メタデバイス名または Solaris ボリュームマネージャ のボリューム名の数およびディスクセットを計算する方法について説明します。また、/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 Installer を使用して、Solstice DiskSuite ソフトウェアをインストールした場合は、この作業を行わないでください。代わりに、「ルートディスクのミラー化」に進みます。


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

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

  2. 各クラスタノードの 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 または Solaris Volume Manager ディスクセットを作成します。

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

次の例は、Solstice DiskSuite 状態データベースの複製を 3 つ示しています。各複製は、異なるデバイス上に作成されています。Solaris ボリュームマネージャ の場合は、複製サイズが大きくなります。


# metadb -af c0t0d0s7 c0t1d0s7 c1t0d0s7
# metadb
フラグ        最初のブロック   ブロック数
  a       u       16          1034         /dev/dsk/c0t0d0s7
  a       u       16          1034         /dev/dsk/c0t1d0s7
  a       u       16          1034         /dev/dsk/c1t0d0s7

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

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

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


注 –

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


metainit: dg-schost-1: d1s0: メタデバイスではありません



注意 – 注意 –

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


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

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

  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. ルートディスクのミラー化に使用されるディスクが 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 ユーザーズガイド』の「システムのトラブルシューティング」を参照するか、『Solaris ボリュームマネージャの管理 』の「ルート (/) のミラー化に関する特殊な考慮事項」を参照してください。


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

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

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

  13. (省略可能) 広域名前空間、/global/.devices/node@nodeid をミラー化するには、「広域名前空間をミラー化する」に進みます。

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

  15. (省略可能) ユーザー定義のファイルシステムをミラー化するには、「マウント解除できるファイルシステムをミラー化する」に進みます。

  16. ディスクセットを作成するには、「クラスタ内でのディスクセットの作成」に進みます。

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

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


(ミラーを作成します)
# metainit -f d10 1 1 c0t0d0s0
d11: 連結/ストライプがセットアップされます
# metainit d20 1 1 c2t2d0s0
d12: 連結/ストライプがセットアップされます
# metainit d0 -m d10
d10: ミラーがセットアップされます
# metaroot d0
#
# metaroot d0
# lockfs -fa
 
(phys-schost-1 からリソースグループとデバイスグループを移動します)
# scswitch -S -h phys-schost-1
 
(ノードを再起動します)
# shutdown -g0 -y -i6
 
(2 番目のサブミラーを接続します)
# metattach d0 d20
d0: サブミラー d20 は接続中
 
(デバイスグループノードリストを表示します)
# scconf -pvv | grep dsk/d2
デバイスグループ名:						dsk/d2
…
  (dsk/d2) デバイスグループノードリスト:		phys-schost-1, phys-schost-3
…
 
(ノードリストからphys-schost-3 を削除します)
# scconf -r -D name=dsk/d2,nodelist=phys-schost-3
 
(localonly プロパティを有効にします)
# scconf -c -D name=dsk/d2,localonly=true
 
(代替ブートパスを記録します)
# ls -l /dev/rdsk/c2t2d0s0
lrwxrwxrwx  1 root     root          57 Apr 25 20:11 /dev/rdsk/c2t2d0s0 
–> ../../devices/node@1/pci@1f,0/pci@1/scsi@3,1/disk@2,0:a,raw

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

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

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

  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. 広域名前空間のミラー化に使用されるディスクが複数のノードに接続されている (多重ホスト化されている) 場合は、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
      デバイスグループ名:						dsk/d2
      …
        (dsk/d2) デバイスグループのノードリスト:		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) のマニュアルページを参照してください。

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

  11. (省略可能) ユーザー定義のファイルシステムをミラー化するには、「マウント解除できるファイルシステムをミラー化する」に進みます。

  12. ディスクセットを作成するには、「クラスタ内でのディスクセットの作成」に進みます。

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

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

    以下の手順を実行して、マウントできないファイルシステムのミラー化に使用するディスクの 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. ノードリストに複数のノード名が含まれる場合、ルートディスクをミラー化したノードを除くすべてのノードをノードリストから削除します。

      ルートディスクをミラー化したノードだけが 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) のマニュアルページを参照してください。

  12. (省略可能) ユーザー定義のファイルシステムをミラー化するには、「マウント解除できるファイルシステムをミラー化する」に進みます。

  13. ディスクセットを作成するには、「クラスタ内でのディスクセットの作成」に進みます。

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

次の例に、ノード 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. ユーザー定義のファイルシステムのミラー化に使用されるディスクが複数のノードに物理的に接続されている (多重ホスト化されている) 場合は、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
      デバイスグループ名:						dsk/d2
      …
        (dsk/d2) デバイスグループのノードリスト:		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. ミラー化したファイルシステムをマウントします。


    # 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