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

rootdg ディスクグループの設定の概要

各クラスタノードで、rootdg ディスクグループを作成する必要があります。このディスクグループは VxVM が構成情報を格納するために使用され、次の制限があります。

Sun Cluster ソフトウェアでは、次の rootdg ディスクグループの構成方法がサポートされています。

詳細については、VxVM のインストールマニュアルを参照してください。

ルートディスクをカプセル化する

次の手順で、ルートディスクをカプセル化して rootdg ディスクグループを作成します。

  1. VERITAS Volume Manager (VxVM) のライセンスキーを用意します。

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

  3. ルートディスクに 0 シリンダのスライスが少なくとも 2 つあり、ディスクの始点または終端に 1 つまたは複数の空きシリンダがあることを確認します。

    必要に応じて、format(1M) コマンドを使用して、各 VxVM スライスに 0 シリンダを割り当てます。スライス 7 がボリューム管理ソフトウェア用に予約されている場合は、スライス 7 をフォーマットすることで、ディスク終端に必要な余分な領域を開放できます。

  4. vxinstall(1M) ユーティリティーを起動します。


    # vxinstall
    

    プロンプトが表示されたら、次のようにします。

    • Custom Installation を選択する。

    • ルートディスクをミラー化する。

    • クラスタ全体で一意のルートディスク名を選択する。ルートディスクに名前を付ける簡単な方法は、デフォルト名に文字を追加することです。たとえば、指定したデフォルト名が rootdisk の場合は、あるノードのルートディスクには rootdiska、次のノードのルートディスクには rootdiskb という順に名前を付けていきます。

    • rootdg ディスクグループに他のディスクは追加しない。

    • その他のコントローラには 4 (Leave these disks alone) を選択する。

    • 停止後の再起動は行わない。

    詳細については、VxVM のインストールマニュアルを参照してください。


    注 -

    Dynamic Multipathing (DMP) は無効に設定されているため、次のようなエラーメッセージが表示されることがあります。このメッセージは無視しても問題ありません。



    vxvm:vxdmpadm:ERROR:vxdmp module is not loaded on the system.Command invalid.
  5. /global/.devices/node@nodeid ファイルシステム用の /etc/vfstab ファイルデバイス名を編集します。


    注 -

    この変更は、/global/.devices/node@nodeid ファイルシステムがルートディスク上にあることを VxVM が認識するために必要です。


    既存のデバイス名を、/globaldevices エントリで使用されている名前に変更します。このエントリは、コメントアウトされています。次に、/etc/vfstab ファイルの /globaldevices および /global/.devices/node@2 エントリの例を示します。


    #device            device             mount         FS   fsck  mount   mount
    #to mount          to fsck            point         type pass  at boot options
    ...
    #/dev/dsk/c1t3d0s3 /dev/rdsk/c1t3d0s3 /globaldevices ufs 2     yes     -
    ...
    /dev/did/dsk/d4s3  /dev/did/rdsk/d4s3 /global/.devices/node@2 ufs 2 no global

    /global/.devices/node@2 エントリを次のように変更します。


    #device            device             mount         FS   fsck  mount   mount
    #to mount          to fsck            point         type pass  at boot options
    ...
    #/dev/dsk/c1t3d0s3 /dev/rdsk/c1t3d0s3 /globaldevices ufs 2     yes     -
    ...
    /dev/dsk/c1t3d0s3  /dev/rdsk/c1t3d0s3 /global/.devices/node@2 ufs 2 no global
  6. クラスタ内の各ノードごとに、手順 2手順 5 を繰り返します。

  7. 任意のノードから、scshutdown(1M) コマンドを使用してクラスタを停止します。


    # scshutdown
    
  8. 非クラスタモードで各ノードを再起動します。

    1. 各ノードで次のコマンドを実行して、非クラスタモードで各ノードを再起動します。


      ok boot -x
      

      注 -

      クラスタモードでノードを再起動しないでください。


    2. 次のようなメッセージがノードで表示された場合は、Control-D キーを押して起動を続行します。

      fsck を手動で実行するよう指示されますが、無視してください。Control-D キーを押して起動を続行し、残りのルートディスクのカプセル化手順を完了します。


      WARNING - Unable to repair the /global/.devices/node@1 filesystem. 
      Run fsck manually (fsck -F ufs /dev/vx/rdsk/rootdisk3vola). Exit 
      the shell when done to continue the boot process.
       
      Type control-d to proceed with normal startup,
      (or give root password for system maintenance): 

      クラスタが各ノードで広域的にマウントできるようにするには、/global/.devices/node@nodeid ファイルシステムにさらに変更を加える必要があります。このような必要条件があるため、この再起動中は、1 つのノード以外は /global/.devices/node@nodeid ファイルシステムをマウントできず、警告メッセージが表示されます。

    VxVM によってルートディスクがカプセル化され、/etc/vfstab エントリが更新されます。

  9. 手順 8 で正常にマウントされた /global/.devices/node@nodeid ファイルシステムをマウント解除します。


    # umount /global/.devices/node@nodeid
    

    このファイルシステムをマウント解除することにより、手順 10 で、変更を初期化するためにノードを 2 回再起動しなくても、ディスクグループに再度マイナー番号を割り当てることができます。このファイルシステムは、手順 14 での再起動中に自動的に再マウントされます。

  10. クラスタの各ノードで rootdg ディスクグループに再度マイナー番号を指定します。

    クラスタ全体で一意で 1000 未満の rootdg マイナー番号を指定し、マイナー番号が共有ディスクグループと衝突するのを防ぎます。効果的なマイナー番号の指定は、最初のノードに 100、2 つ目のノードに 200 という順に割り当てていく方法です。


    # vxdg reminor rootdg n
    

    n

    rootdg マイナー番号を指定します。

    このコマンドの実行後に次のような警告メッセージが表示されることがありますが、無視してください。


    vxvm:vxdg:WARNING:Volume swapvol:Device is open, will renumber on reboot

    新しいマイナー番号がルートディスクボリュームに適用されます。スワップボリュームには、再起動後に再度番号が割り当てられます。


    # ls -l /dev/vx/dsk/rootdg
    total 0
    brw------- 1 root       root    55,100 Apr  4 10:48 rootdiska3vol
    brw------- 1 root       root    55,101 Apr  4 10:48 rootdiska7vol
    brw------- 1 root       root    55,  0 Mar 30 16:37 rootvol
    brw------- 1 root       root    55,  7 Mar 30 16:37 swapvol
  11. /usr ファイルシステムがルートディスク上のルート (/) ファイルシステムに連結されていない場合は、クラスタの各ノードで /usr ボリュームのデバイスノードを手作業で更新します。

    1. 既存の /usr デバイスノードを削除します。


      # rm /dev/vx/dsk/usr
      # rm /dev/vx/dsk/rootdg/usr
      # rm /dev/vx/rdsk/usr
      # rm /dev/vx/rdsk/rootdg/usr
      
    2. /usr ファイルシステムに割り当てられた新しいマイナー番号を確認します。


      # vxprint -l -v usrvol
      Disk group: rootdg Volume:   usrvol
      ...
      device:   minor=102 bdev=55/102 cdev=55/102 path=/dev/vx/dsk/rootdg/usrvol
    3. 新しいマイナー番号を使用し、新しい /usr デバイスノードを作成します。


      # mknod /dev/vx/dsk/usr b major_number new-minor-number
      # mknod /dev/vx/dsk/rootdg/usr b major_number new-minor-number
      # mknod /dev/vx/dsk/usr c major_number new-minor-number
      # mknod /dev/vx/dsk/rootdg/usr c major_number new-minor-number
      
  12. /var ファイルシステムがルートディスク上のルート (/) ファイルシステムと連結されていない場合は、クラスタの各ノードで /var ボリュームのデバイスノードを手作業で更新します。

    1. 既存の /var デバイスノードを削除します。


      # rm /dev/vx/dsk/var
      # rm /dev/vx/dsk/rootdg/var
      # rm /dev/vx/rdsk/var
      # rm /dev/vx/rdsk/rootdg/var
      
    2. /var ファイルシステムに割り当てられた新しいマイナー番号を確認します。


      # vxprint -l -v usrvol
      Disk group: rootdg Volume:   usrvol
      ...
      device:   minor=103 bdev=55/102 cdev=55/102 path=/dev/vx/dsk/rootdg/usrvol
    3. 新しいマイナー番号を使用し、新しい /var デバイスノードを作成します。


      # mknod b /dev/vx/dsk/var major_number new-minor-number
      # mknod b /dev/vx/dsk/rootdg/var major_number new-minor-number
      # mknod c /dev/vx/dsk/var major_number new-minor-number 
      # mknod c /dev/vx/dsk/rootdg/var major_number new-minor-number
      
  13. 任意のノードからクラスタを停止します。


    # scshutdown
    
  14. 各ノードをクラスタモードで起動します。


    ok boot
    
  15. (省略可能) クラスタの各ノードでルートディスクをミラー化します。

    ルートのミラー化については、VxVM のマニュアルを参照してください。

  16. ルートディスクをミラー化した場合は、クラスタの各ノードで、そのノードのルートディスクのミラー化に使用したディスクに関連付けられた raw ディスクデバイスグループの localonly プロパティを有効にします。

    各ノードについて、異なる raw ディスクデバイスグループを構成します。このグループはルートディスクをミラー化するときにそのノードが排他的に使用します。起動デバイスが複数のノードに接続されている場合に、その起動デバイスが不意にノードを使用できなくなるのを防ぐために、localonly プロパティは有効にしておいてください。


    # scconf -c -D name=rawdisk_groupname,localonly=true
    
    -D name=rawdisk_groupname

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

    scdidadm -L コマンドを使用して、raw ディスクデバイスグループの完全なデバイス ID (DID) 擬似ドライバ名を表示します。 次の例では、raw ディスクデバイスグループ名 dsk/d1 は、出力の第 3 列から取られたもので、これが完全な DID 擬似ドライバ名に当たります。scconf コマンドは次に、ノード phys-schost-3 が、そのルート ディスクをミラー化するために排他的に使用する raw ディスクデバイスグループ dsk/d1 を構成します。


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

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

次の作業

「共有ディスクグループの作成と登録を行う」に進み、共有ディスクグループを作成します。