ページの先頭行へ戻る
PRIMECLUSTER 導入運用手引書 4.5
FUJITSU Software

10.4.1 Fsystemリソースの動的追加

ここでは、業務を停止せず Fsystem リソースを追加するための手順について説明します。

注意

動的構成変更では、クラスタアプリケーションを動作させたままの状態で RMS の停止を行います。

RMS が停止している状態では、クラスタアプリケーションに異常が発生しても切替えは行われないため、RMS が停止している時間を最小限とするよう、後述の手順を十分確認した上で、必要な手順の洗い出しと整理を行ってください。

また、RMS の停止に伴い異常通報を行うようなミドルウェアを使用している場合は、必要に応じて異常通報機能を無効にするなどの対処を行ってください。

◆操作の流れ

注意

本手順は以下の操作を行う場合に必要となります。

  • 新規に ZFS ストレージプールを追加する

  • 既存の ZFS ストレージプールに、新規にレガシー ZFS ファイルシステムを追加する

  • 新規に UFS ファイルシステムを追加する

既存の ZFS ストレージプールに非レガシーファイルシステムを新規に追加する場合は、本節の手順を実施する必要はありません。

この場合は、事前にクラスタアプリケーションを保守モードにすることで、RMS を起動したまま動的に ZFS ファイルシステムを追加することができます。

保守モードの使用方法については“PRIMECLUSTER RMS 導入運用手引書”の“7.4 保守モードの使用法”を参照してください。

◆操作手順

  1. Cmdline リソースの名前と Online/Offline スクリプトを確認してください。

    クラスタアプリケーションに Cmdline リソースが含まれている場合、Cmdline リソースのリソース名を hvdisp -T gResource コマンドで確認してください。

    もし、リソース名が "RunScriptsAlways" で始まる名前の Cmdline リソースが存在する場合、そのリソースには NULLDETECTOR フラグが設定されています。

    hvdisp コマンドの実行結果が以下のような場合、Cmdline リソース RunScriptsAlways001_Cmd_APP1 と RunScriptsAlways001_Cmd_APP2 に NULLDETECTOR フラグが設定されていると判断できます。

    # hvdisp -T gResource
    Local System:  node01RMS
    Configuration: /opt/SMAW/SMAWRrms/build/config.us
    
    Resource            Type    HostName            State        StateDetails
    -----------------------------------------------------------------------------
    RunScriptsAlways001_Cmd_APP2 gRes                        Online
    ManageProgram000_Cmd_APP2 gRes                        Online
    RunScriptsAlways001_Cmd_APP1 gRes                        Offline
    ManageProgram000_Cmd_APP1 gRes                        Offline

    NULLDETECTOR フラグが設定されている Cmdline リソースの Online/Offline スクリプトには、“6.12.2.1.4 NULLDETECTOR フラグを設定した場合の注意事項”に記載の処理が組み込まれている必要があります。

    もし必要な処理が組み込まれていない場合は、後の手順で RMS を停止した後、スクリプトを修正してください。

  2. userApplication の運用ノードを確認します。

    スタンバイ型の userApplication がクラスタ内のどのノードで動作しているか(どのノードが運用ノードか)を hvdisp -T userApplcation コマンドで確認してください。

    hvdisp コマンドの実行結果が以下のような場合、app1 の運用ノードは node02 で、app2 の運用ノードは node01 です。

    # hvdisp -T userApplcation
    Local System:  node01RMS
    Configuration: /opt/SMAW/SMAWRrms/build/config.us
    
    Resource            Type    HostName            State        StateDetails
    -----------------------------------------------------------------------------
    app2                userApp                     Online
    app1                userApp                     Standby
    app1                userApp node02RMS           Online

    クラスタアプリケーションの運用ノードの情報は、後の手順でファイルシステムを手動でマウントさせるノードを判断する際に必要となります。

  3. Fsystem リソースで制御するファイルシステムを作成してください。

    Fsystem リソースが制御するマウントポイントを新たな GDS ボリューム上に作成する場合、運用ノードで GDS のボリュームを起動してからファイルシステムを作成してください。

    参考

    FsystemリソースにZFSを使用する場合の手順については、“6.4.1 ZFSを使用する場合” を参照してください。

  4. 新たに作成したファイルシステムのマウントと確認を行います。

    手順 2.で確認した、Fsystem リソースを追加する userApplication の運用ノードにて、新しく作成したファイルシステムをマウントした後、正しくマウントされていることを確認します。

    ZFS を使用する場合

    ZFS ストレージプール app2 を追加し、さらにレガシー ZFS ファイルシステムを /appdata へマウントする場合の例にて説明します。

    以下のコマンドを運用ノードで実行し ZFS ストレージプールを import してください(ZFS ストレージプール app2 が GDS のディスククラス class2 のボリューム上に構成される場合)。

    # /usr/sbin/zpool import -d /dev/sfdsk/class2/dsk -R "/" app2

    以下のコマンドを運用ノードで実行し ZFS ファイルシステムをマウントしてください(ZFS ストレージプールに非レガシーファイルシステムの ZFS ファイルシステムを設定している場合は、import 実行時にマウントされるため、以下の手順は不要です)。

    # /usr/sbin/mount -F zfs app2/mp /appdata

    マウント後、以下のコマンドを実行し ZFS ストレージプールとマウントポイントが表示される(ファイルシステムがマウントされている)ことを確認してください。

    # /usr/sbin/zfs list -r app2
    NAME         USED  AVAIL  REFER  MOUNTPOINT
    app2         148K   976M    31K  none
    app2/mp       31K   976M    31K  legacy
    # /usr/bin/df -k | /bin/grep "app2/mp "
    app2/mp               999424          31      999276     1%    /appdata

    また、待機ノードでファイルシステムがマウントされていないこともあわせて確認してください。

    UFS を使用する場合

    GDS のボリューム上の UFS ファイルシステムを /disk2 へマウントする場合の例にて説明します。

    以下のコマンドを運用ノードで実行し UFS ファイルシステムをマウントしてください。

    # /usr/sbin/mount -F ufs /dev/sfdsk/class0002/dsk/volume0001 /disk2

    マウント後、以下のコマンドを実行しマウントポイントが表示される(ファイルシステムがマウントされている)ことを確認してください。

    # /usr/bin/df -k | /bin/grep "/disk2"
    /dev/sfdsk/class0002/dsk/volume0001     999424    31     999276     1%    /disk2

    また、待機ノードでファイルシステムがマウントされていないこともあわせて確認してください。

  5. RMS を停止します。

    クラスタを構成するすべてのノードで hvshut -L コマンドを実行し、クラスタアプリケーションを動作させた状態のまま RMS を停止します。

    hvshut -L コマンド実行時に表示される警告メッセージには 'yes' と入力してください。

    # hvshut -L
                            WARNING
                            -------
    The '-L' option of the hvshut command will shut down the RMS
    software without bringing down any of the applications.
    In this situation, it would be possible to bring up the same
    application on another node in the cluster which *may* cause
    data corruption.
    
    Do you wish to proceed ? (yes = shut down RMS / no = leave RMS running).
    yes

    参照

    hvshut コマンドの詳細については、”PRIMECLUSTER 活用ガイド<コマンドリファレンス編>”の“hvshut(1M)”を参照してください。

  6. RMS が停止したことを確認します。

    クラスタを構成するすべてのノードで hvdisp -a コマンドを実行してください。RMS が停止していれば、コマンドは標準エラー出力に "hvdisp: RMS is not running" を出力します。

    # hvdisp -a
    hvdisp: RMS is not running
  7. NULLDETECTOR フラグが設定されている Cmdline リソースの Online/Offline スクリプトを必要に応じて修正します。

    手順 1. の確認の結果、NULLDETECTOR フラグが設定されている Cmdline リソースの Online/Offline スクリプトに修正が必要な場合、“6.12.2.1.4 NULLDETECTOR フラグを設定した場合の注意事項”を参照して、スクリプトを修正してください。

  8. Fsystem リソースをクラスタシステムに登録します。

    6.7.1.2 Fsystemリソースの作成”に記載の手順を実施してください。

    • ZFSストレージプール app2 を追加し、さらにレガシー ZFS ファイルシステムを /appdata へマウントする場合は、/etc/vfstab.pcl に以下のように記載します。

      #RMS#app2 app2 /app2 zfs - - -
      #RMS#app2/mp app2/mp /appdata zfs - - -
    • UFSファイルシステムを追加する場合、/etc/vfstab.pcl ファイルに以下のように記載します。

      #RMS#/dev/sfdsk/class0002/dsk/volume0001 /dev/sfdsk/class0002/rdsk/volume0001 /disk2 ufs - no -

    Fsystem リソースが制御するマウントポイントを新たな GDS クラス上に作成する場合は、“ 6.7.1.3 Gdsリソースの作成”に記載の手順もあわせて実施してください。

  9. Fsystem リソースをクラスタアプリケーションに追加します。

    手順 8.で追加した Fsystem リソースを既存のクラスタアプリケーションに追加する場合は“10.3.1 クラスタアプリケーションの構成変更”を参照し、いったん対象のクラスタアプリケーションを削除した後、新たにクラスタアプリケーションを再作成してください。

    新規にクラスタアプリケーションを作成する場合は“6.7.2 クラスタアプリケーションの作成”を参照し、クラスタアプリケーションを作成してください。

  10. RMS Configuration の登録と配布を実施します。

    手順 9. でクラスタアプリケーションを RMS Configuration に登録した後、RMS Configurationの配布が可能であると判断された場合は、以下のメッセージ画面が表示されます。

    他のリソースの追加やクラスタアプリケーションの変更などがない場合は、<はい>をクリックしてください。

  11. 全ノードの RMS を起動します。

    いずれかのノードで hvcm -a コマンドを実行し、すべてのノードの RMS を起動します。

    # hvcm -a
  12. userApplication の状態を確認します。

    すべてのノードで hvdisp -a コマンドを実行し、userApplicationが手順 2.で確認した運用ノードで Online 状態、待機ノードで Offline または Standby 状態であることを確認してください。

    注意

    手順 4. でファイルシステムのマウントの操作が正しく行われなかった場合、手順 11. で RMS を起動後、いずれか、または両方のノードで userApplication が Inconsistent 状態になる場合があります。この場合、以下の手順を実施してください。

    1. 待機ノードで hvutil -f コマンドを実行し、待機ノードの userApplication を Offline 状態にします。

    2. 待機ノードの userApplication を Standby 状態に遷移させる場合、待機ノードで hvutil -s コマンドを実行します。

    3. 運用ノードで hvswitch コマンドを実行し、運用ノードの userApplication を Online 状態にします。