Sun Cluster 2.2 Cluster Volume Manager ガイド

システム起動ディスクのミラー化

この節では、定義済みの rootdg があり、完全なカプセル化に変換する必要がある既存の Sun Cluster システムを変換する手順を説明します。

この手順には 2 つの部分があります。最初の部分 (手順 A) では、カプセル化を実行する間、1 つのディスクスライスを使用して一時的に CVM データを収容します。2 番目の部分 (手順 B) では、ディスク全体を使用して一時的に CVM データを収容します。

既存のノードでのシステム起動ディスクのミラー化

既存の Sun Cluster ノードで次のいずれかの手順を使用して、起動ディスクをミラー化します。

これらの手順はどちらも、次の条件を前提としています。

  1. 起動ディスクには少なくとも 2 つの空きパーティションがある。

  2. ディスクの先頭または最後には、空き領域として 2 つのシリンダがある。

  3. rootdg は 1 つの単純パーティションから作成されている。

  4. 余分のディスクまたはパーティションを一時的な予備領域として使用できる。この領域は、カプセル化の対象となる起動ディスク以外のディスク上にあるものとする。

手順 A: ディスクスライスの使用

一時的な記憶領域として 1 つのパーティションしか使用できない場合には、この手順を使用して起動ディスクをカプセル化およびミラー化します。一時的な記憶域としてディスク全体を使用できる場合には、「手順 B: ディスク全体の使用」を参照してください。

構成

手順 A

  1. 現在のノードで Sun Cluster ソフトウェアを停止します。


    # scadmin stopnode 
    
  2. 起動ディスク上に rootdg の単純パーティションが存在する場合は、起動ディスク以外の場所に個別のパーティション (サイズは 2 シリンダ) を探します。起動ディスク上に rootdg の単純パーティションが存在しない場合は、手順 10 へ進んでください。

  3. format コマンドを使用して、新しいパーティションを予約しラベルを付けます。


    # format c0t3d0
    

    c0t3d0s7 を、サイズが 2 シリンダの新しいパーティションにします。

  4. CVM に対して新しいパーティションを定義します。


    # vxdisk -f init c0t3d0s7 
    
  5. 新しいパーティションを rootdg に追加します。


    # vxdg adddisk c0t3d0s7 
    
  6. 新しい rootdg パーティションを volboot ファイルに追加します。


    # vxdctl add disk c0t3d0s7 
    
  7. format コマンドを使用して、古いディスクパーティションを解放します。


    # format c0t0d0 
    

    パーティション c0t0d0s5 の領域が解放されます。

  8. rootdg から元のディスクを削除します。


    # vxdg rmdisk c0t0d0s5
    # vxdisk rm c0t0d0s5 
    
  9. volboot ファイル内の rootdg の古いパーティションをクリーンアップします。


    # vxdctl rm disk c0t0d0s5 
    
  10. vxdiskadm を入力して、起動ディスク (この例では c0t0d0) をカプセル化します。


    # vxdiskadm -Select an operation to perform: 2 
    -Select disk devices to encapsulate:
    [,all,list,q,?] c0t0d0 
    -Continue operation? [y,n,q,?] (default: y) y 
    -Which disk group [,list,q,?] (default: rootdg) rootdg 
    -Use a default disk name for the disk? [y,n,q,?] (default: y) n 
    -Continue with operation? [y,n,q,?] (default: y) y 
    -Continue with encapsulation? [y,n,q,?] (default: y) y 
    -Enter disk name for  [,q,?] (default: disk01) disk01 
    -Encapsulate other disks? [y,n,q,?] (default: n) n 
    -Select an operation to perform: q
    

    各手順を検証してください。

  11. システムを再起動します。


    # shutdown -g0 -y -i6 
    

    システムがもう一度再起動し、プロセスが完了します。

    以上で起動ディスクがカプセル化され、CVM によって管理されるようになりました。

  12. カプセル化を検証するには、次の手順に従います。

    1. vxva を呼び出し、rootdg ディスクグループのアイコンを開きます。

      カプセル化された起動ディスクと、それから作成された 4 つのボリュームが表示されます。

    2. /etc/vfstab ファイルが /dev/dsk ディレクトリではなく /dev/vx/dsk ディレクトリ内のデバイスファイルを参照していることを確認します。

  13. カプセル化したディスクをミラー化するために、ディスク (例: c0t2d0) とメディア名 (例: mirrorroot) を選択し、次のように入力します。


    # /etc/vx/bin/vxdisksetup -i c0t2d0
    # /usr/sbin/vxdg adddisk mirrorroot=c0t2d0 
    

    vxvarootdg ディスクグループに新しいディスクが表示されます。

  14. mirrorroot でカプセル化された起動ディスクをミラー化します。


    # /etc/vx/bin/vxmirror disk01 mirrorroot 
    

    vxmirror コマンドは、カプセル化された起動ディスク内の各ボリュームのミラー化に対応する一連のコマンドを出力します。

  15. vxmirror コマンドが完了したら、vxvarootdg ディスクグループ内のミラー化ボリュームを探して、プロセスが成功したことを確認します。

    以上で起動ディスクのミラーから起動することが可能になりました。

  16. rootdg ディスクグループ内の 2 シリンダの単純ディスクを削除します。


    # vxdg rmdisk c0t3d0s7
    # vxdisk rm c0t3d0s7
    # vxdctl rm disk c0t3d0s7 
    
  17. Sun Cluster ソフトウェアを起動します。


    # scadmin startnode 
    
  18. 他のシステムもミラー化する場合は、手順 A を繰り返します。

  19. 起動ディスクのカプセル化を解除します。

    システムまたはボリュームマネージャをアップグレードする場合には、まず起動ディスクのカプセル化を解除する必要があります。/CD_path/CVM/scripts にある upgrade_start スクリプトを使用すると、ボリューム上のファイルシステムが自動的に通常のディスクパーティションに変換されます。システムを再起動して、通常のディスクパーティションへの変換を完了します。

手順 B: ディスク全体の使用

一時的な記憶領域として 1 つのディスク全体を使用できる場合は、次の手順で起動ディスクをカプセル化およびミラー化します。ディスク全体が使用できない場合には、「手順 A: ディスクスライスの使用」を参照してください。

構成

手順 B

  1. 現在のノードで Sun Cluster ソフトウェアを停止します。


    # scadmin stopnode 
    
  2. 予備のディスクを CVM で使用するために初期化します。


    # /etc/vx/bin/vxdisksetup -i c1t0d0 
    
  3. 新しいディスクを rootdg に追加します。


    # vxdg adddisk c1t0d0 
    
  4. format コマンドを使用して、rootdg の起動ディスクの一部分である古いディスクパーティションを解放します。


    # format c0t0d0 
    
  5. rootdg から元のディスクを削除します。


    # vxdg rmdisk c0t0d0s5
    # vxdisk rm c0t0d0s5 
    
  6. volboot ファイル内の rootdg の古いパーティションをクリーンアップします。


    # vxdctl rm disk c0t0d0s5 
    
  7. vxdiskadm コマンドを使用して、起動ディスク (例: c0t0d0) をカプセル化します。


    # vxdiskadm
    -Select an operation to perform: 2
    -Select disk devices to encapsulate:                                  
    [,all,list,q,?] c0t0d0
    -Continue operation? [y,n,q,?] (default: y) y
    -Which disk group [,list,q,?] (default: rootdg) rootdg
    -Use a default disk name for the disk? [y,n,q,?] (default: y) n
    -Continue with operation? [y,n,q,?] (default: y) y
    -Continue with encapsulation? [y,n,q,?] (default: y) y
    -Enter disk name for [,q,?] (default: disk01) disk01
    -Encapsulate other disks? [y,n,q,?] (default: n) n
    -Select an operation to perform: q
    
  8. システムを再起動します。


    # shutdown -g0 -y -i6 
    

    システムがもう一度再起動し、プロセスが完了します。

    以上で起動ディスクがカプセル化され、CVM によって管理されるようになりました。

  9. カプセル化を検証するには、次の手順に従います。

    1. vxva を呼び出し、rootdg ディスクグループのアイコンを開きます。

      カプセル化された起動ディスクと、それから作成された 4 つのボリュームが表示されます。

    2. /etc/vfstab ファイルが /dev/dsk ディレクトリではなく /dev/vx/dsk ディレクトリ内のデバイスファイルを参照していることを確認します。

  10. カプセル化したディスクをミラー化するため、ディスク (例: c0t2d0) とメディア名 (例: mirrorroot) を選択し、次のように入力します。


    # /etc/vx/bin/vxdisksetup -i c0t2d0
    # /usr/sbin/vxdg adddisk mirrorroot=c0t2d0 
    

    vxvarootdg ディスクグループに新しいディスクが表示されます。

  11. mirrorroot でカプセル化された起動ディスクをミラー化します。


    # /etc/vx/bin/vxmirror disk01 mirrorroot 
    

    vxmirror コマンドは、カプセル化された起動ディスク内の各ボリュームのミラー化に対応する一連のコマンドを表示します。

  12. vxmirror コマンドが完了したら、vxvarootdg ディスクグループ内にミラー化ボリュームを探して、プロセスが成功したことを確認します。

    以上で起動ディスクのミラーから起動することが可能になりました。

  13. rootdg ディスクグループから一時的ディスクを削除します。


    # vxdg rmdisk c1t0d0
    # vxdisk rm c1t0d0 
    
  14. Sun Cluster ソフトウェアを起動します。


    # scadmin startnode 
    
  15. 他のシステムもミラー化する場合は、手順 B を繰り返します。

vxconfigd の説明

vxconfigd コマンドは、他のユーティリティからのボリュームやディスクの構成変更に関する要求を受け付け、それらの変更をカーネルに通知し、ディスクに格納された構成情報を変更します。vxconfigd は、システムの起動時における CVM の初期化も行います。

エラー処理

vxconfigd コマンドは、重大なエラーが発生すると終了する場合があります。vxconfigd はデフォルトではコンソールにエラーを出力しますが、デバッグ用の各種パラメータ付きでログファイルにエラーを記録するように構成することもできます。(詳細についてはマニュアルページを参照。)

デバッグ用パラメータを使用可能にし、メッセージをファイルに記録するためのコマンドの例を示します。


# vxdctl stop
# vxconfigd -x 1 -x logfile=filename -x mstimestamp > /dev/null 2>&1 &

オプションの意味は次のとおりです。