Sun Cluster 2.2 のシステム管理

Sun Cluster 環境での SSVM と CVM の使用

Sun StorEdge Volume Manager (SSVM) と Cluster Volume Manager (CVM) は、同じボリュームマネージャをもとにした製品です。CVM は、Oracle Parallel Server (OPS) 構成でだけ使用されます。この節では、ボリュームマネージャの制御下にあるディスクを使用して次のオブジェクトを管理する方法について説明します。

これらのオブジェクトの管理の詳細は、該当する節を参照してください。

オブジェクト管理の概要 (SSVM と CVM)

ボリュームマネージャの制御下にあるオブジェクトは、コマンド行ユーティリティまたは Visual Administrator の GUI を使用して作成と管理を行います。

SSVM と CVM のマニュアルを使用して Sun Cluster 構成内でボリュームマネージャの制御下にあるオブジェクトを管理する場合は、あらかじめこの章の情報に目を通してください。ここに示す作業は、以下の作業を行うための方法の 1 つです。実際の構成に最も適した方法を使用してください。

これらのオブジェクトは、通常、次のような関係を持ちます。

デフォルトのディスクグループは rootdg (ルートディスクグループ) です。必要に応じて、さらにディスクグループを作成できます。ディスクグループの主な管理作業として、ディスクの追加と削除が挙げられます。

ディスクグループに含めたディスクを使用する前に、物理ディスクのスライスを使用して (ボリュームマネージャ制御下の) ディスクとサブディスクを設定することにより、プレックス (ミラー) を構築する必要があります。プレックスは、連結またはストライプです。

SSVM と CVM では、アプリケーションは、スライスではなく (ボリュームマネージャディスクに作成された) ボリュームにアクセスします。

次の節では、作業に使用する SSVM と CVM のコマンド行プログラムについて説明しています。特に指示がないかぎり、これらの作業はすべて GUI を使用しても行えます。


注 -

Sun Cluster HA データサービスを使用しているノードでは、ディスクグループの論理ホストが保守モードにないかぎり、Sun Cluster の制御下にあるディスクグループに対して vxdg import または deport オプションを手動で実行しないでください。ディスクグループを手動でインポートまたはデポートする前に、ディスクグループを制御できるすべてのノードで scadmin stopnode を実行してそれらのノードの Sun Cluster を停止するか、haswitch -m コマンドを使用して対応するすべての論理ホストを保守モードに切り替える必要があります。ディスクグループの制御を Sun Cluster に戻す用意ができた時点で、ディスクグループをデポートし、その後 scadmin startnode または haswitch(1M) を実行して論理ホストを Sun Cluster の制御下に置くのが最も安全な方法です。


ディスクについて

ディスクを SSVM または CVM で使用するには、ボリュームマネージャに制御されるディスクとしてあらかじめ識別 (初期化) する必要があります。初期化が正しく行われたディスクは、ディスクグループへの追加、障害のあるディスクの交換、新しいディスクグループの作成などに使用できます。

ディスクの初期化と構成を行うには (SSVM と CVM)

  1. ディスクにデータが存在しないことを確認します。

    ディスクが初期化されると既存のデータは完全に消去されるため、この確認は必ず行なってください。

  2. 付属のハードウェアマニュアルの操作指示に従って、ディスク格納装置にディスクデバイスを挿入し、取り付けます。

  3. ディスクを初期化し、ディスクグループに加えます。

    この作業は、通常、vxdiskadm メニューまたは GUI を使用して行います。また、コマンド行ユーティリティの vxdisksetupvxdg addisk を使用して、ディスクの初期化とディスクグループへの追加を行うこともできます。

ディスクをオフラインにする

物理ディスクをオフラインにする必要が生じることがあります。ディスクが破損している場合は、無効にして取り外す必要があります。別のシステムに接続するために物理ディスクをほかの場所に移動する場合も、あらかじめディスクを無効にする必要があります。

物理ディスクをオフラインにするには、まずディスクグループからそのディスクを削除し、続いて vxdisk(1M) コマンドを使用してディスクをオフラインにします。

ディスクの削除

ディスクを別のシステムに移動させる場合や、ディスクが故障しかかっているか完全に故障した場合は、ディスクを削除することができます。また、不要になったボリュームも削除できます。

ディスクグループからディスクを削除するには、vxdg(1M) コマンドを使用します。プライベートパーティションとパブリックパーティションを削除してボリュームマネージャによるディスク制御を解除するには、vxdiskunsetup(1M) コマンドを使用します。これらのコマンドの詳細は、vxdg(1M)vxdiskunsetup(1M) のマニュアルページを参照してください。

ディスクグループの管理

SSVM と CVM では、特定のディスクグループのデフォルトマスターであるアクティブノードからディスクグループの生成を行うのが最も便利です。N+1 構成では、これらのデフォルトマスターノードはそれぞれ、多重ホストディスクコネクティビティを、クラスタ内の 1 つのノードであるホットスタンバイノードとだけ共有します。これらのノードを使用してディスクグループを生成すると、不正に構成されたグループの作成を避けることができます。

ディスクグループを作成するには (SSVM と CVM)

新しいディスクグループは、vxdiskadm メニューまたは GUI を使用して作成できます。また、コマンド行ユーティリティ vxdg init も使用できます。

ディスクグループの生成が終わると、vxdg deport コマンドを使用して各ディスクグループをデポートする必要があります。続いて、-t オプションを使用して各グループをホットスタンバイノードにインポートします。-t オプションはインポートが次の起動まで持続することを防止するため、必ず指定してください。SSVM または CVM のプレックスとボリュームをすべて作成した後に、ボリュームを起動する必要があります。

ディスクを別のディスクグループに移動させるには (SSVM と CVM)

ディスクをディスクグループ間で移動させるには、ディスクグループからそのディスクを削除し、別のディスクグループに追加します。

次の例は、コマンド行ユーティリティを使用して、物理ディスク c1t0d1 をディスクグループ acct からディスクグループ log_node1 に移動させます。

  1. vxprint(1M) コマンドを使用して、ディスクが使用中であるかどうかを確認します。


    # vxprint -g acct
     TY NAME         ASSOC        KSTATE   LENGTH   PLOFFS   STATE    TUTIL0  PUTIL0
     dg acct         acct         -        -        -        -        -       -
    
     dm c1t0d0       c1t0d0s2     -        2050272  -        -        -       -
     dm c1t0d1       c1t0d1s2     -        2050272  -        -        -       -
     dm c2t0d0       c2t0d0s2     -        2050272  -        -        -       -
     dm c2t0d1       c2t0d1s2     -        2050272  -        -        -       -
    
     v  newvol       gen          ENABLED  204800   -        ACTIVE   -       -
     pl newvol-01    newvol       ENABLED  205632   -        ACTIVE   -       -
     sd c1t0d1-01    newvol-01    ENABLED  205632   0        -        -       -
     pl newvol-02    newvol       ENABLED  205632   -        ACTIVE   -       -
     sd c2t0d1-01    newvol-02    ENABLED  205632   0        -        -       -
    
     v  vol01        gen          ENABLED  1024000  -        ACTIVE   -       -
     pl vol01-01     vol01        ENABLED  1024128  -        ACTIVE   -       -
     sd c1t0d0-01    vol01-01     ENABLED  1024128  0        -        -       -
     pl vol01-02     vol01        ENABLED  1024128  -        ACTIVE   -       -
     sd c2t0d0-01    vol01-02     ENABLED  1024128  0        -        -       -
  2. vxedit(1M) コマンドを使用してボリュームを削除し、c1t0d1 ディスクを解放します。

    vxedit コマンドは、共有ディスクグループをマスターしている CVM ノードから実行する必要があります。


    # vxedit -g acct -fr rm newvol
    

    -f オプションは、操作を強制します。-r オプションは、操作を繰り返し実行します。

  3. c1t0d1 ディスクを acct ディスクグループから削除します。

    共有ディスクグループをマスターしている CVM ノードから、vxdg コマンドを実行してください。


    # vxdg -g acct rmdisk c1t0d1
    
  4. c1t0d1 ディスクを log_node1 ディスクグループに追加します。


    # vxdg -g log_node1 adddisk c1t0d1
    

    注意 - 注意 -

    この作業は、ディスク上に構成やデータを保存しません。


    c1t0d1 が削除された後の acct ディスクグループの状態を次に示します。


    # vxprint -g acct
    TY NAME         ASSOC        KSTATE   LENGTH   PLOFFS   STATE    TUTIL0  PUTIL0
     dg acct         acct         -        -        -        -        -       -
    
     dm c1t0d0       c1t0d0s2     -        2050272  -        -        -       -
     dm c2t0d0       c2t0d0s2     -        2050272  -        -        -       -
     dm c2t0d1       c2t0d1s2     -        2050272  -        -        -       -
    
     v  vol01        gen          ENABLED  1024000  -        ACTIVE   -       -
     pl vol01-01     vol01        ENABLED  1024128  -        ACTIVE   -       -
     sd c1t0d0-01    vol01-01     ENABLED  1024128  0        -        -       -
     pl vol01-02     vol01        ENABLED  1024128  -        ACTIVE   -       -
     sd c2t0d0-01    vol01-02     ENABLED  1024128  0        -        -       -

    c1t0d1 が追加された後の log_node1 ディスクグループの状態を次に示します。


    # vxprint -g log_node1
     TY NAME         ASSOC        KSTATE   LENGTH   PLOFFS   STATE    TUTIL0  PUTIL0
     dg log_node1    log_node1    -        -        -        -        -       -
    
     dm c1t0d1       c1t0d1s2     -        2050272  -        -        -       -
     dm c1t3d0       c1t3d0s2     -        2050272  -        -        -       -
     dm c2t3d0       c2t3d0s2     -        2050272  -        -        -       -
     # 

    ボリュームのアクセス権または所有権を変更するには、vxedit コマンドを使用する必要があります。


    注意 - 注意 -

    chmodchgrp は使用しないでください。chmod または chgrp によって設定されるアクセス権と所有権は、再起動時に自動的に root に再設定されます。


    変更前の /dev/vx/rdsk ディレクトリ内のボリューム vol01vol02 のアクセス権と所有権の例を次に示します。


    # ls -l
    crw-------		 	 1	 	root 	root	 nnn,nnnnn		 date	time 	vol01
    crw-------		 	 1	 	root	 root 	nnn,nnnnn		date 	time 	vol02
     ...

    vol01 のアクセス権と所有権を変更する例を次に示します。


    # vxedit -g group_name set mode=755 user=oracle vol01
    

    編集後にアクセス権と所有権がどのように変わったかを注意してください。


    # ls -l
    crwxr-xr-x		 	 1 	oracle	 root	 nnn,nnnnn	 	date 	time 	vol01
    crw-------		 	 1	 root	 root	 nnn,nnnnn 		date 	time 	vol02
     ...

SSVM オブジェクトと CVM オブジェクトの管理

ボリューム (仮想ディスク) には、ファイルシステムやデータベースなどのアプリケーションを格納できます。ボリュームは、サブディスクを含むプレックス (最大 32) で構成されます。ボリュームを使用するためには、関連付けられた 1 つ以上のサブディスクに対応する 1 つ以上のプレックスが存在しなければなりません。ボリューム内のサブディスクはすべて、同じディスクグループに属する必要があります。

ボリュームの作成とボリュームへのミラーの追加

各ディスクグループのボリュームの作成と、各ボリュームに対応するミラーの作成には、GUI またはコマンド行ユーティリティ vxassist(1M) を使用してください。

SSVM デバイスまたは CVM デバイスの実際のサイズは、ディスクドライブ全体の容量よりもわずかに小さくなります。SSVM と CVM は、個人的な使用のための領域 (非共有領域と呼ばれる) を少量確保します。


注 -

異なるディスクグループにボリュームが属する場合は、同じボリューム名を使用することができます。


ダーティーリージョンログの追加

ダーティーリージョンログ (DRL) は、システム障害が発生した後に、ミラー化されたボリュームをすばやく回復させるために使用される、オプションのボリュームプロパティです。DRL は、ミラー化されたボリュームに対する I/O 書き込みが原因で変化した領域の記録をとり、この情報を使用して回復を要するボリュームの一部だけを回復させます。

既存のボリュームのログファイルの作成

ログサブディスクは、DRL が有効になっているボリュームの DRL を保存するために使用されます。DRL を使用するボリュームには、最低 1 つのログサブディスクが存在します (複数のログサブディスクを使用して DRL をミラー化できます)。各ログサブディスクは、ボリュームのプレックスの 1 つに対応しています。ログサブディスクは、プレックスあたり 1 つしか存在できません。プレックスにログサブディスクだけが含まれ、データサブディスクが含まれない場合、そのプレックスはログプレックスとして参照できます。ログサブディスクは、データサブディスクが入った通常のプレックスと関連付けることもできます。この場合、データサブディスクの 1 つに障害が発生したためにプレックスの切り離しが必要になると、ログサブディスクは使用できなくなる可能性があります。

既存のボリュームのログを作成するには、GUI またはコマンド行ユーティリティ vxassist(1M) を使用してください。

ホットリロケーション

ホットリロケーションは、冗長 (ミラー化または RAID5) ボリュームマネージャオブジェクトの I/O 障害に自動的に反応し、それらのオブジェクトの冗長性とアクセスを自動的に復元するシステム機能です。ホットリロケーションは、SSVM を使用した構成でのみサポートされます。SSVM は、ボリュームマネージャオブジェクトの I/O 障害を検出し、影響を受けたサブディスクをスペアディスクに指定されたディスクに再配置するか、ディスクグループ内の領域を解放します。続いて SSVM は、障害が発生する前に存在していたオブジェクトを再構築し、それらを冗長でアクセス可能な状態に戻します。

部分的なディスク障害 (ディスク上の一部のサブディスクにだけ影響する障害) が発生した場合、ディスクの障害部分に存在する冗長データは再配置され、影響がなかったディスク部分から構成される既存のボリュームは以前のままアクセスできます。


注 -

ホットリロケーションが行われるのは、障害が発生したディスク上の冗長 (ミラー化または RAID5) サブディスクに対してだけです。障害が発生したディスク上の非冗長サブディスクは再配置されませんが、それらの障害の通知は行われます。


スペアディスクを交換用として使用するには、あらかじめ初期化し、ディスクグループにスペアとして入れておく必要があります。障害発生時にスペアに指定されたディスクが存在しないと、SSVM は障害が発生したディスクグループ内の使用できる任意の空き領域を自動的に使用します。十分な空き容量がない場合には、スペア領域と空き領域が組み合わされて使用されます。各ディスクグループでは、vxedit(1M) コマンドを使用して 1 つ以上のディスクをホットリロケーションのスペアとして指定できます。

VxFS ファイルシステムの使用

タイプが fsgen であるボリューム上の、論理ホストのディスクグループに対応するファイルシステム (UFS または VxFS) は構成と指定が行えます。クラスタノードが論理ホストを制御する場合、ディスクグループに対応する、論理ホストのファイルシステムは制御側ノードの指定されたマウント先にマウントされます。

論理ホストの再構成作業が行われている間、fsck(1M) コマンドを使用してファイルシステムを検査する必要があります。この処理は UFS ファイルシステム上で非対話式の並列モードで行われますが、再構成作業の総合的な時間に影響を与える可能性があります。UFS、SDS、VxFS ファイルシステムのロギング機能は、ファイルシステムのマウントの前に fsck(1M) が使用する時間を大幅に短縮します。

ボリューム回復に加えてデータサービスのスイッチオーバーが必要な場合、回復は再構成にかかる時間よりも長くなります。この場合はタイムアウトし、ノードが停止します。

このため、ミラー化ボリュームを設定する場合は、システム障害時のボリューム回復時間を短縮するために必ず DRL ログを追加してください。クラスタ環境でミラー化ボリュームが使用されている場合は、500M バイトを超えるボリュームに DRL を割り当てる必要があります。

HA データサービスに 500M バイトを超える大きなファイルシステムが使用されている場合は、VxFS を使用してください。通常、VxFS は Sun Cluster には含まれていないため、Veritas 社から別途購入する必要があります。


注 -

非常に小さなミラー化ファイルシステムを使用して論理ホストを構成することも可能ですが、ファイルシステムのサイズが増えるにつれてタイムアウトが発生する可能性があるため、ダーティーリージョンログ (DRL) または VxFS ファイルシステムを使用することをお勧めします。


ファイルシステムの拡張

ファイルシステムが含まれるストライプ化されたボリュームまたは RAID5 ボリュームを拡張するには、そのボリュームに現在存在するディスクと同じ数のディスク上に空き領域がなければなりません。たとえば、一緒にストライプ化された 4 つの 1G バイトディスク (4G バイトファイルシステム 1 つ) が存在し、1G バイトの容量を追加する場合 (5G バイトのファイルシステムを作成する)、少なくても 0.25G バイトの空き領域をそれぞれ持つ 4 つの新しいディスクが必要です。つまり、1 つのディスクを 4 ディスク構成のストライプに追加することはできません。

SSVM または SSVM の GUI は、ファイルシステムを拡張するディスクを選択します。ファイルシステムを拡張させる特定のディスクを選択するには、コマンド行インタフェースを使用してください。

UFS ファイルシステムを直接縮小することは不可能ですが、ボリュームを作成し直し、そのボリュームに対して newfs を実行し、その後バックアップからデータを復元すれば縮小されたファイルシステムができます。

ローカルミラーの管理

ローカルディスクはミラー化できます。一方のミラーに障害が発生した場合は、ボリュームマネージャのマニュアルで説明されている方法に従って、障害が発生したミラーを交換し、新たに追加したディスクと正常なディスクの同期をとり直してください。