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

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

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

  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