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

Solaris ボリュームマネージャー ソフトウェアの構成

次の表に、 Sun Cluster 構成用の Solaris ボリュームマネージャー ソフトウェアの構成において行う作業を示します。

表 4–1 作業マップ: Solaris ボリュームマネージャー ソフトウェアの構成

作業 

参照先 

1. Solaris ボリュームマネージャー 構成のレイアウトの計画 

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

2. (Solaris 9 のみ) 構成に必要なボリューム名とディスクセットの数を計算し、/kernel/drv/md.conf ファイルを変更

「SPARC: ボリューム名とディスクセットの数を設定する」

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

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

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

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

ProcedureSPARC: ボリューム名とディスクセットの数を設定する


注 –

この手順が必要なのは、Solaris 9 OS の場合だけです。クラスタが Solaris 10 OS 上で動作する場合は、「状態データベースの複製を作成するには」に進んでください。

Solaris 10 リリースで、Solaris ボリュームマネージャー はボリュームを動的に構成するように拡張されました。/kernel/drv/md.conf ファイルの nmd パラメータと md_nsets パラメータを編集しなくてすみます。新しいボリュームは必要に応じて作成されます。


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


ヒント –

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

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


始める前に

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

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

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

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

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

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

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


      ヒント –

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


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

      設定するボリューム名の個数は、実際の量ではなく、ボリューム名のに基づいています。たとえば、ボリューム名が d950 から d1000 の場合、Solaris ボリュームマネージャー ソフトウェアは、50 ではなく 1000 個の名前を必要とします。

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


    注意 – 注意 –

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


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

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

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


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

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

次の手順

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

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

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

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

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

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


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

    ヒント –

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


    詳細については、metadb(1M) のマニュアルページと Solaris ボリュームマネージャー のマニュアルを参照してください。

  3. 複製を検査します。


    phys-schost# metadb
    

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


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

以下に、状態データベースの複製の例を 3 つ示します。各複製は、異なるデバイス上に作成されています。


phys-schost# metadb -af c0t0d0s7 c0t1d0s7 c1t0d0s7
phys-schost# metadb
flags            first blk      block count
    a       u       16          8192         /dev/dsk/c0t0d0s7
    a       u       16          8192         /dev/dsk/c0t1d0s7
    a       u       16          8192         /dev/dsk/c1t0d0s7

次の手順

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

それ以外の場合は、「クラスタ内でのディスクセットの作成」に進んで、Solaris ボリュームマネージャー ディスクセットを作成します。

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

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

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


注意 – 注意 –

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


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

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


注 –

この手順では、長い形式の Sun Cluster コマンドを紹介します。ほとんどのコマンドには、短い形式もあります。これらのコマンドは、コマンド名の形式以外は同一です。コマンドの一覧および短い形式については、『Sun Cluster のシステム管理 (Solaris OS 版)』の付録 A「Sun Cluster オブジェクト指向コマンド」を参照してください。


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

  2. ルートスライスを単一スライス(1 方向) 連結にします。

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


    phys-schost# metainit -f submirror1 1 1 root-disk-slice
    
  3. 2 番目の連結を作成します。


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


    phys-schost# metainit mirror -m submirror1
    

    注 –

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


  5. ルート (/) ディレクトリのシステムファイルを設定します。


    phys-schost# metaroot mirror
    

    このコマンドは、ルート (/) ファイルシステムがメタデバイスまたはボリュームに配置された状態でシステムを起動できるように、/etc/vfstab および /etc/system ファイルを編集します。詳細は、metaroot(1M) のマニュアルページを参照してください。

  6. ファイルシステムをすべてフラッシュします。


    phys-schost# lockfs -fa
    

    このコマンドを実行すると、マウントされているすべての UFS ファイルシステム上で、すべてのトランザクションがログからフラッシュされ、マスターファイルシステムに書き込まれます。詳細については、lockfs(1M) のマニュアルページを参照してください。

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


    phys-schost# clnode evacuate from-node
    
    from-node

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

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

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


    phys-schost# shutdown -g0 -y -i6
    
  9. 2 番目のサブミラーをこのミラーに接続します。


    phys-schost# metattach mirror submirror2
    

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

  10. ルートディスクのミラー化に使用されるディスクが 1 つ以上のノードに物理的に接続されている(多重ホスト化されている) 場合は、デバイスグループのプロパティーを、ミラーとしての使用をサポートするように変更します。

    デバイスグループが以下の要件を満たすことを確認してください。

    • raw ディスクデバイスグループは、そのノードリストに構成された唯一のノードである必要があります。

    • raw ディスクデバイスグループの localonly プロパティーが有効になっている必要があります。localonly プロパティーは、ブートデバイスが複数のノードに接続されている場合に、ブートデバイスからのノードが不意に停止するのを防ぎます。

    1. 必要に応じて、cldevice コマンドを使用して、raw ディスクデバイスグループの名前を調べます。


      phys-schost# cldevice show node:/dev/rdsk/cNtXdY
      

      ヒント –

      このディスクに物理的に接続されているノードからコマンドを発行する場合は、ディスク名をデバイスのフルパス名の代わりに cNtXdY で指定することができます。


      次の例では、raw ディスクデバイスグループ名 dsk/d2 は DID デバイス名の一部です。


      === DID Device Instances ===                   
      
      DID Device Name:                                /dev/did/rdsk/d2
        Full Device Path:                               phys-schost-1:/dev/rdsk/c1t1d0
        Full Device Path:                               phys-schost-3:/dev/rdsk/c1t1d0
      …

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

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


      phys-schost# cldevicegroup show dsk/dN
      

      デバイスグループ dsk/d2 の出力は次のようになります。


      Device Group Name:                              dsk/d2
      …
        Node List:                                      phys-schost-1, phys-schost-3
      …
        localonly:                                      false
    3. ノードリストに複数のノード名が含まれる場合、ルートディスクをミラー化したノードを除くすべてのノードをノードリストから削除します。

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


      phys-schost# cldevicegroup remove-node -n node devicegroup
      
      -n node

      デバイスグループのノードリストから削除するノードを指定します。

    4. raw ディスクデバイスグループの localonly プロパティーが有効になっていない場合は、これを有効にします。

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


      phys-schost# cldevicegroup set -p localonly=true devicegroup
      
      -p

      デバイスグループプロパティーに値を設定します。

      localonly=true

      デバイスグループの localonly プロパティーを有効にします。

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

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

    主起動デバイスで起動に失敗した場合は、この代替起動デバイスから起動できます。代替起動デバイスについては、『Solaris ボリュームマネージャの管理』「root (/) のミラー化に関する特殊な考慮事項」または『Solaris ボリュームマネージャの管理』「RAID-1 ボリュームの作成」を参照してください。


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

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


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

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


phys-schost# metainit -f d10 1 1 c0t0d0s0
d11: Concat/Stripe is setup
phys-schost# metainit d20 1 1 c2t2d0s0
d12: Concat/Stripe is setup
phys-schost# metainit d0 -m d10
d10: Mirror is setup
phys-schost# metaroot d0
phys-schost# lockfs -fa
phys-schost# clnode evacuate phys-schost-1
phys-schost# shutdown -g0 -y -i6
phys-schost# metattach d0 d20
d0: Submirror d20 is attached
phys-schost# cldevicegroup show dsk/d2
Device Group Name:                              dsk/d2
…
  Node List:                                      phys-schost-1, phys-schost-3
…
  localonly:                                     false
phys-schost# cldevicegroup remove-node -n phys-schost-3 dsk/d2
phys-schost# cldevicegroup set -p localonly-true dsk/d2
phys-schost# 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/ をミラー化します。


注 –

この手順では、長い形式の Sun Cluster コマンドを紹介します。ほとんどのコマンドには、短い形式もあります。これらのコマンドは、コマンド名の形式以外は同一です。コマンドの一覧および短い形式については、『Sun Cluster のシステム管理 (Solaris OS 版)』の付録 A「Sun Cluster オブジェクト指向コマンド」を参照してください。


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

  2. グローバルデバイス名前空間を単一スライス (1 方向) 連結にします。

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


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


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


    phys-schost# metainit mirror -m submirror1
    

    注 –

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


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

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


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

    device to mount および device to fsck 列の名前を実際のミラー名に変更してください。


    phys-schost# 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) コマンドを使用して、ミラー状態を参照し、ミラーの同期が完了していることを確認します。


    phys-schost# metastat mirror
    
  9. グローバルデバイス名前空間のミラー化に使用されるディスクが物理的に複数のノードに接続されている (多重ホスト化されている) 場合は、デバイスグループのノードリストにノードが 1 つしか含まれず、localonly プロパティーが有効になっていることを確認してください。

    デバイスグループが以下の要件を満たすことを確認してください。

    • raw ディスクデバイスグループは、そのノードリストに構成された唯一のノードである必要があります。

    • raw ディスクデバイスグループの localonly プロパティーが有効になっている必要があります。localonly プロパティーは、ブートデバイスが複数のノードに接続されている場合に、ブートデバイスからのノードが不意に停止するのを防ぎます。

    1. 必要に応じて、cldevice コマンドを使用して、raw ディスクデバイスグループの名前を調べます。


      phys-schost# cldevice show node:/dev/rdsk/cNtXdY
      

      ヒント –

      このディスクに物理的に接続されているノードからコマンドを発行する場合は、ディスク名をデバイスのフルパス名の代わりに cNtXdY で指定することができます。


      次の例では、raw ディスクデバイスグループ名 dsk/d2 は DID デバイス名の一部です。


      === DID Device Instances ===                   
      
      DID Device Name:                                /dev/did/rdsk/d2
        Full Device Path:                               phys-schost-1:/dev/rdsk/c1t1d0
        Full Device Path:                               phys-schost-3:/dev/rdsk/c1t1d0
      …

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

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


      phys-schost# cldevicegroup show dsk/dN
      

      デバイスグループ dsk/d2 の出力は次のようになります。


      Device Group Name:                              dsk/d2
      …
        Node List:                                      phys-schost-1, phys-schost-3
      …
        localonly:                                      false
    3. ノードリストに複数のノード名が含まれる場合、ルートディスクをミラー化したノードを除くすべてのノードをノードリストから削除します。

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


      phys-schost# cldevicegroup remove-node -n node devicegroup
      
      -n node

      デバイスグループのノードリストから削除するノードを指定します。

    4. raw ディスクデバイスグループの localonly プロパティーが有効になっていない場合は、これを有効にします。

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


      phys-schost# cldevicegroup set -p localonly=true devicegroup
      
      -p

      デバイスグループプロパティーに値を設定します。

      localonly=true

      デバイスグループの localonly プロパティーを有効にします。

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


例 4–3 グローバルデバイス名前空間のミラー化

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


phys-schost# metainit -f d111 1 1 c0t0d0s3
d111: Concat/Stripe is setup
phys-schost# metainit d121 1 1 c2t2d0s3
d121: Concat/Stripe is setup
phys-schost# metainit d101 -m d111
d101: Mirror is setup
phys-schost# metattach d101 d121
d101: Submirror d121 is attached
phys-schost# 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
phys-schost# metastat d101
d101: Mirror
      Submirror 0: d111
         State: Okay
      Submirror 1: d121
         State: Resyncing
      Resync in progress: 15 % done
…
phys-schost# cldevice show phys-schost-3:/dev/rdsk/c2t2d0 
=== DID Device Instances ===                   

DID Device Name:                                /dev/did/rdsk/d2
  Full Device Path:                               phys-schost-1:/dev/rdsk/c2t2d0
  Full Device Path:                               phys-schost-3:/dev/rdsk/c2t2d0
…

phys-schost# cldevicegroup show | grep dsk/d2
Device Group Name:                              dsk/d2
…
  Node List:                                      phys-schost-1, phys-schost-3
…
  localonly:                                      false
phys-schost# cldevicegroup remove-node -n phys-schost-3 dsk/d2
phys-schost# cldevicegroup set -p localonly-true dsk/d2

次の手順

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

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

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

注意事項

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

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

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


注 –

この手順では、長い形式の Sun Cluster コマンドを紹介します。ほとんどのコマンドには、短い形式もあります。これらのコマンドは、コマンド名の形式以外は同一です。コマンドの一覧および短い形式については、『Sun Cluster のシステム管理 (Solaris OS 版)』の付録 A「Sun Cluster オブジェクト指向コマンド」を参照してください。


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

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

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


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


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


    phys-schost# metainit mirror -m submirror1
    

    注 –

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


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

  6. 各ノードで 、ミラー化したマウント解除できない各ファイルシステムの /etc/vfstab ファイルエントリを編集します。

    device to mount および device to fsck 列の名前を実際のミラー名に変更してください。


    phys-schost# 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. リソースグループまたはデバイスグループをノードから移動させます。


    phys-schost# clnode evacuate from-node
    
    from-node

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

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


    phys-schost# shutdown -g0 -y -i6
    
  9. 2 番目のサブミラーを各ミラーに接続します。

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


    phys-schost# metattach mirror submirror2
    
  10. 手順 9で開始したミラーの同期が完了するまで待機します。

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


    phys-schost# metastat mirror
    
  11. マウント解除できないファイルシステムのミラー化に使用されるディスクが物理的に複数のノードに接続されている (多重ホスト化されている) 場合は、デバイスグループのノードリストにノードが 1 つしか含まれず、localonly プロパティーが有効になっていることを確認してください。

    デバイスグループが以下の要件を満たすことを確認してください。

    • raw ディスクデバイスグループは、そのノードリストに構成された唯一のノードである必要があります。

    • raw ディスクデバイスグループの localonly プロパティーが有効になっている必要があります。localonly プロパティーは、ブートデバイスが複数のノードに接続されている場合に、ブートデバイスからのノードが不意に停止するのを防ぎます。

    1. 必要に応じて、cldevice コマンドを使用して、raw ディスクデバイスグループの名前を調べます。


      phys-schost# cldevice show node:/dev/rdsk/cNtXdY
      

      ヒント –

      このディスクに物理的に接続されているノードからコマンドを発行する場合は、ディスク名をデバイスのフルパス名の代わりに cNtXdY で指定することができます。


      次の例では、raw ディスクデバイスグループ名 dsk/d2 は DID デバイス名の一部です。


      === DID Device Instances ===                   
      
      DID Device Name:                                /dev/did/rdsk/d2
        Full Device Path:                               phys-schost-1:/dev/rdsk/c1t1d0
        Full Device Path:                               phys-schost-3:/dev/rdsk/c1t1d0
      …

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

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


      phys-schost# cldevicegroup show dsk/dN
      

      デバイスグループ dsk/d2 の出力は次のようになります。


      Device Group Name:                              dsk/d2
      …
        Node List:                                      phys-schost-1, phys-schost-3
      …
        localonly:                                      false
    3. ノードリストに複数のノード名が含まれる場合、ルートディスクをミラー化したノードを除くすべてのノードをノードリストから削除します。

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


      phys-schost# cldevicegroup remove-node -n node devicegroup
      
      -n node

      デバイスグループのノードリストから削除するノードを指定します。

    4. raw ディスクデバイスグループの localonly プロパティーが有効になっていない場合は、これを有効にします。

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


      phys-schost# cldevicegroup set -p localonly=true devicegroup
      
      -p

      デバイスグループプロパティーに値を設定します。

      localonly=true

      デバイスグループの localonly プロパティーを有効にします。

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


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

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


phys-schost# metainit -f d11 1 1 c0t0d0s1
d11: Concat/Stripe is setup
phys-schost# metainit d21 1 1 c2t2d0s1
d21: Concat/Stripe is setup
phys-schost# metainit d1 -m d11
d1: Mirror is setup
phys-schost# 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# clnode evacuate phys-schost-1
phys-schost# shutdown -g0 -y -i6
phys-schost# metattach d1 d21
d1: Submirror d21 is attached
phys-schost# metastat d1
d1: Mirror
      Submirror 0: d11
         State: Okay
      Submirror 1: d21
         State: Resyncing
      Resync in progress: 15 % done
…
phys-schost# cldevice show phys-schost-3:/dev/rdsk/c2t2d0
…
DID Device Name:                                /dev/did/rdsk/d2
phys-schost# cldevicegroup show dsk/d2
Device Group Name:                              dsk/d2
…
  Node List:                                      phys-schost-1, phys-schost-3
…
  localonly:                                      false
phys-schost# cldevicegroup remove-node -n phys-schost-3 dsk/d2
phys-schost# cldevicegroup set -p localonly=true dsk/d2

次の手順

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

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

注意事項

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

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

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


注 –

この手順では、長い形式の Sun Cluster コマンドを紹介します。ほとんどのコマンドには、短い形式もあります。これらのコマンドは、コマンド名の形式以外は同一です。コマンドの一覧および短い形式については、『Sun Cluster のシステム管理 (Solaris OS 版)』の付録 A「Sun Cluster オブジェクト指向コマンド」を参照してください。


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

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

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


    phys-schost# umount /mount-point
    

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

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

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


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


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


    phys-schost# metainit mirror -m submirror1
    

    注 –

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


  6. ミラー化するマウント可能な各ファイルシステムで手順 1から手順 5 までを繰り返します。

  7. 各ノードで 、ミラー化した各ファイルシステムの /etc/vfstab ファイルエントリを編集します。

    device to mount および device to fsck 列の名前を実際のミラー名に変更してください。


    phys-schost# 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 番目のサブミラーをこのミラーに接続します。

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


    phys-schost# metattach mirror submirror2
    
  9. 手順 8 で開始したミラーの同期が完了するまで待機します。

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


    phys-schost# metastat mirror
    
  10. ユーザー定義ファイルシステムのミラー化に使用されるディスクが物理的に複数のノードに接続されている (多重ホスト化されている) 場合は、デバイスグループのノードリストにノードが 1 つしか含まれず、localonly プロパティーが有効になっていることを確認してください。

    デバイスグループが以下の要件を満たすことを確認してください。

    • raw ディスクデバイスグループは、そのノードリストに構成された唯一のノードである必要があります。

    • raw ディスクデバイスグループの localonly プロパティーが有効になっている必要があります。localonly プロパティーは、ブートデバイスが複数のノードに接続されている場合に、ブートデバイスからのノードが不意に停止するのを防ぎます。

    1. 必要に応じて、cldevice コマンドを使用して、raw ディスクデバイスグループの名前を調べます。


      phys-schost# cldevice show node:/dev/rdsk/cNtXdY
      

      ヒント –

      このディスクに物理的に接続されているノードからコマンドを発行する場合は、ディスク名をデバイスのフルパス名の代わりに cNtXdY で指定することができます。


      次の例では、raw ディスクデバイスグループ名 dsk/d2 は DID デバイス名の一部です。


      === DID Device Instances ===                   
      
      DID Device Name:                                /dev/did/rdsk/d2
        Full Device Path:                               phys-schost-1:/dev/rdsk/c1t1d0
        Full Device Path:                               phys-schost-3:/dev/rdsk/c1t1d0
      …

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

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


      phys-schost# cldevicegroup show dsk/dN
      

      デバイスグループ dsk/d2 の出力は次のようになります。


      Device Group Name:                              dsk/d2
      …
        Node List:                                      phys-schost-1, phys-schost-3
      …
        localonly:                                      false
    3. ノードリストに複数のノード名が含まれる場合、ルートディスクをミラー化したノードを除くすべてのノードをノードリストから削除します。

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


      phys-schost# cldevicegroup remove-node -n node devicegroup
      
      -n node

      デバイスグループのノードリストから削除するノードを指定します。

    4. raw ディスクデバイスグループの localonly プロパティーが有効になっていない場合は、これを有効にします。

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


      phys-schost# cldevicegroup set -p localonly=true devicegroup
      
      -p

      デバイスグループプロパティーに値を設定します。

      localonly=true

      デバイスグループの localonly プロパティーを有効にします。

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

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


    phys-schost# mount /mount-point
    

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


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

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


phys-schost# umount /export
phys-schost# metainit -f d14 1 1 c0t0d0s4
d14: Concat/Stripe is setup
phys-schost# metainit d24 1 1 c2t2d0s4
d24: Concat/Stripe is setup
phys-schost# metainit d4 -m d14
d4: Mirror is setup
phys-schost# 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
phys-schost# metattach d4 d24
d4: Submirror d24 is attached
phys-schost# metastat d4
d4: Mirror
       Submirror 0: d14
          State: Okay
       Submirror 1: d24
          State: Resyncing
       Resync in progress: 15 % done
…
phys-schost# cldevice show phys-schost-3:/dev/rdsk/c2t2d0
…
DID Device Name:                                /dev/did/rdsk/d2
phys-schost# cldevicegroup show dsk/d2
Device Group Name:                              dsk/d2
…
  Node List:                                      phys-schost-1, phys-schost-2
…
  localonly:                                      false
phys-schost# cldevicegroup remove-node -n phys-schost-3 dsk/d2
phys-schost# cldevicegroup set -p localonly=true dsk/d2 
phys-schost# mount /export

次の手順

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

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

注意事項

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