ページの先頭行へ戻る
ETERNUS SF Storage Cruiser 16.5 / AdvancedCopy Manager 16.5 クラスタ適用ガイド
FUJITSU Storage

4.1 カスタマイズ項目の確認

運用管理サーバ業務のカスタマイズでは、以下の項目が必要です。各項目の内容を理解したうえで、設定するクラスタ業務ごとに準備・確認してください。

表4.1 カスタマイズに必要な項目

項目名

インストール先サーバのOS

Windows

Solaris

Linux

業務名

論理IPアドレス

共有データ用共有ディスク

共有データ用共有ディスクのディスクリソース

リソース種別

×

クラスタ名

×

×

ネットワーク名

×

×

外部接続用ネットワーク

×

×

IPアドレスリソース

×

×

インストール時のユーザー

×

×

論理ノード名

業務用通信サービス/デーモンのポート番号

アクセスボリューム

汎用スクリプト

○: 必要な項目
×: 不要な項目

各項目の詳細は、以下のとおりです。

業務名

クラスタ業務の名称です。

論理IPアドレス

Webコンソールおよび管理対象サーバと通信するためのIPアドレスです。

ETERNUS SF Manager用に新規の論理IPアドレスを使用することを推奨します。

新規のIPアドレスを割り当てる場合は、既存の業務がIPアドレスを引継ぎリソースとしていて、IPアドレスリソースを追加しても業務に支障がないことを確認してください。

既存の論理IPアドレスを使用する場合は、論理IPアドレスをETERNUS SF Managerと共有することで、すでに論理IPアドレスを使用している製品に問題が発生しないことを確認してください。

共有データ用共有ディスク

ETERNUS SF Managerの共用データを格納するボリュームです。

信頼性や更新時性能などを考慮して、ETERNUS SF Manager専用の新しいボリュームを使用することを推奨します。

注意

共有データ用共有ディスクを指定する場合は、以下の点に注意してください。

  • 共有データ用共有ディスクは、クラスタシステムの共有ディスクとして定義してください。

  • AdvancedCopy Managerのバックアップ/レプリケーション運用で使用するボリューム以外のディスクを割り当ててください。

  • AdvancedCopy Manager CCMのコピー元/コピー先ボリュームおよびアクセスボリューム以外のディスクを割り当ててください。

  • 共有データ用共有ディスクに、ファイルシステムを作成してください。

  • ファイルシステムで使用するため、マウントできるようにしてください。

  • Quorumディスク以外のディスクを使用してください。(Windows環境だけ)

ETERNUS SF Managerに必要な容量の詳細は、『ETERNUS SF 導入ガイド』の「ETERNUS SF Managerの動作環境」にある「動的ディスク容量」を参照してください。

共有データ用共有ディスクのディスクリソース

共有データ用共有ディスクのディスクリソース名です。

リソース種別

サービス/デーモンを起動または停止するスクリプト(汎用スクリプト)を登録するためのCmdlineリソースです。

クラスタ名

WSFCで指定したクラスタ名です。

ネットワーク名

新しい論理IPアドレスを使用する場合に指定する、ETERNUS SF Manager専用のネットワーク名です。
ETERNUS SF Managerは、このネットワーク名でネットワークリソースを作成します。

外部接続用ネットワーク

新しい論理IPアドレスを使用する場合に指定する、WSFCで指定した外部通信用のネットワーク名です。

IPアドレスリソース

既存の論理IPアドレスを使用する場合に指定する、論理IPアドレスが設定されているIPアドレスリソース名です。

インストール時のユーザー

ETERNUS SF Managerをインストールしたときの、ユーザー名およびパスワードです。

論理ノード名

AdvancedCopy Manager用の論理サーバの名前です。
論理ノード名は、8Byte以下の英数字だけを使って、ユーザーが任意に設定できます。

実行されたAdvancedCopy Managerの機能(バックアップ管理のコマンドなど)がどのクラスタ業務に属しているかを判断するために、AdvancedCopy Managerはクラスタ業務ごとに一意の名称(論理ノード名)を割り当てます。この論理ノード名を環境変数SWSTGNODEに設定してAdvancedCopy Managerのコマンドを実行すると、実行されたコマンドは対象のクラスタ業務を判断して処理を行います。

AdvancedCopy Managerのサーバ追加処理で、「論理IPアドレス」と「業務用通信サービス/デーモンのポート番号(stgxfws_logicalNodeName)」を設定することによって、対象のクラスタ業務をAdvancedCopy Managerのサーバとして追加します。

注意

Solaris版PRIMECLUSTERまたはLinux版PRIMECLUSTERの場合、以下の13個の文字列は論理ノード名に設定できません。

audit、cluster、cmdevs、config、daemon、data、java、log、pid、report、samp、sh、tmp

業務用通信サービス/デーモンのポート番号

AdvancedCopy Managerの業務用通信サービス/デーモンに割り当てるポート番号です。プライマリノードとセカンダリノードで同じ番号にする必要があります。
1024~65535の範囲で、未使用の番号(ほかのサービスが使用していない番号)を準備してください。

ポイント

業務用通信サービス/デーモンのポート番号は、ローカル業務用通信サービス/デーモンのポート番号やほかの業務用通信サービス/デーモンのポート番号と異なる番号にしてください。

アクセスボリューム

CCMサーバからETERNUS ディスクアレイにアドバンスト・コピーを指示するためのボリュームです。
SAN経由コピー制御機能で運用するETERNUS ディスクアレイに、アドバンスト・コピーの指示を行う場合に必要です。

AdvancedCopy Manager CCM用のバックアップ対象のETERNUS ディスクアレイの中の論理ボリュームを1つ、アクセスボリューム用として、クラスタを構成するすべてのノードに接続してください。

汎用スクリプト

サービス/デーモンを起動または停止するためのスクリプトです。

Windows環境の場合

以下のサービスの汎用スクリプトファイル(起動/停止用)を作成します。

  • ETERNUS SF Manager Apache Service / Tomcat Service用の汎用スクリプト

  • AdvancedCopy Manager CCM用の汎用スクリプト

参考

汎用スクリプトのサンプルとして、以下のファイルが、<プログラムディレクトリ>\Common\sample\clusterディレクトリに格納されています。
<プログラムディレクトリ>とは、ETERNUS SF Managerをインストールしたときの「プログラムディレクトリ」です。

ファイル名

説明

esfmanager-web.vbs

ETERNUS SF Manager Apache Service用の汎用スクリプトのサンプルです。

esfmanager-tomcat.vbs

ETERNUS SF Manager Tomcat Service用の汎用スクリプトのサンプルです。

esfmanager-ccm.vbs

AdvancedCopy Manager CCM用の汎用スクリプトのサンプルです。

これらのファイルを使用するときは、必ず、別ディレクトリへコピーしたものを使用してください。

ETERNUS SF Manager Apache Service / Tomcat Service用の汎用スクリプト

以下のスクリプトファイルを、それぞれのサービスに対して作成してください。ファイル名は任意ですが、拡張子は".vbs"にしてください。

スクリプト内のserviceName には、対象のサービス名(esfmanagerwebまたはesfmanagertomcatのどちらか)を指定してください。

Function Online()

    Dim objWmiProvider
    Dim objService
    Dim strServiceState

    ' Check to see if the service is running
    set objWmiProvider = GetObject("winmgmts:/root/cimv2")
    set objService = objWmiProvider.get("win32_service='serviceName'")
    strServiceState = objService.state

    If ucase(strServiceState) = "RUNNING" Then
        Online = True
    Else

        ' If the service is not running, try to start it.
        response = objService.StartService()

        ' response = 0 or 10 indicates that the request to start was accepted
        If ( response <> 0 ) and ( response <> 10 ) Then
            Online = False
        Else
            Online = True
        End If
    End If
End Function

Function Offline()

    Dim objWmiProvider
    Dim objService
    Dim strServiceState

    ' Check to see if the service is running
    set objWmiProvider = GetObject("winmgmts:/root/cimv2")
    set objService = objWmiProvider.get("win32_service='serviceName'")
    strServiceState = objService.state

    If ucase(strServiceState) = "RUNNING" Then

        response = objService.StopService()

        If ( response <> 0 ) and ( response <> 10 ) Then
            Offline = False
        Else
            Offline = True
        End If
    Else
            Offline = True
    End If
End Function

Function Terminate()
    
    Dim objWmiProvider
    Dim objService
    
    ' Stopping the service
    set objWmiProvider = GetObject("winmgmts:/root/cimv2")
    set objService = objWmiProvider.get("win32_service='serviceName'")
    response = objService.StopService()
    
    Resource.LogInformation "Terminate Stop Response: " & response
    
    Terminate = True
End Function

Function LooksAlive()

    Dim objWmiProvider
    Dim objService
    Dim strServiceState

    set objWmiProvider = GetObject("winmgmts:/root/cimv2")
    set objService = objWmiProvider.get("win32_service='serviceName'")
    strServiceState = objService.state

    if ucase(strServiceState) = "RUNNING" Then
        LooksAlive = True
    Else
        LooksAlive = False
    End If
End Function

Function IsAlive()

    Dim objWmiProvider
    Dim objService
    Dim strServiceState

    set objWmiProvider = GetObject("winmgmts:/root/cimv2")
    set objService = objWmiProvider.get("win32_service='serviceName'")
    strServiceState = objService.state

    if ucase(strServiceState) = "RUNNING" Then
        IsAlive= True
    Else
        IsAlive = False
    End If

End Function
AdvancedCopy Manager CCM用の汎用スクリプト

AdvancedCopy Manager CCMの管理サービスを停止するためのスクリプトです。

共有データ用共有ディスクがオフラインになる前に、以下のサービスを停止する必要があります。
サービスを停止するために、acservice stopコマンド(-lanオプション付き)を実行する汎用スクリプトファイルを作成してください。コマンドの詳細は、『ETERNUS SF AdvancedCopy Manager 運用ガイド Copy Control Module編』の「コマンドリファレンス」を参照してください。

  • ETERNUS SF AdvancedCopy Manager CCM管理サービス

以下に、汎用スクリプトファイルの例を示します。ファイル名は任意ですが、拡張子は".vbs"にしてください。

スクリプト内の installDir には、ETERNUS SF Managerのインストール先ディレクトリを記述してください。

Dim WshShell
Set WshShell = CreateObject("WScript.Shell")

Function Open( )
    Open = True
End Function

Function Online( )
    Online = True
End Function

Function LooksAlive( )
    LooksAlive = True
End Function

Function IsAlive( )
    IsAlive = True
End Function

Function Offline( )
    Resource.LogInformation "--- start offline ---"
    Set oExec = WshShell.Exec("installDir\CCM\bin\acservice.exe stop -lan")
    Resource.LogInformation oExec.StdOut.ReadAll
    Resource.LogInformation oExec.StdErr.ReadAll
    Resource.LogInformation "--- end offline ---"
    Offline = True
End Function

Function Close( )
    Close = True
End Function

Function Terminate( )
    Terminate = True
End Function
Solaris/Linux環境の場合

以下のデーモンの汎用スクリプトファイル(起動/停止/確認用)を作成します。

  • ETERNUS SF Manager Apacheデーモン / Tomcatデーモン / Postgresデーモン用の汎用スクリプト

  • AdvancedCopy Manager CCM用の汎用スクリプト

  • AdvancedCopy Managerデーモン用の汎用スクリプト

参考

汎用スクリプトのサンプルとして、以下のファイルが、/opt/FJSVesfcm/sample/clusterディレクトリに格納されています。

ファイル名

説明

EsfCmdline-Start

ETERNUS SF Manager Apacheデーモン / Tomcatデーモン / Postgresデーモン用の、Startスクリプトのサンプルです。

EsfCmdline-Stop

ETERNUS SF Manager Apacheデーモン / Tomcatデーモン / Postgresデーモン用の、Stopスクリプトのサンプルです。

EsfCmdline-Check

ETERNUS SF Manager Apacheデーモン / Tomcatデーモン / Postgresデーモン用の、Checkスクリプトのサンプルです。

CcmCmdline

AdvancedCopy Manager CCM用の汎用スクリプトのサンプルです。

AcmCmdline

AdvancedCopy Managerデーモン用の汎用スクリプトのサンプルです。

これらのファイルを使用するときは、必ず、別ディレクトリへコピーしたものを使用してください。

ETERNUS SF Manager Apacheデーモン / Tomcatデーモン / Postgresデーモン用の汎用スクリプト

以下の設定で、汎用スクリプトファイルを作成してください。ファイル名は任意です。

種類

オーナー

グループ

アクセス権

Startスクリプト

root

root

544

Stopスクリプト

root

root

544

Checkスクリプト

root

root

544

[Startスクリプト]

#!/bin/sh

#
# ETERNUS SF Manager daemon start for PRIMECLUSTER
#

/opt/FJSVesfcm/bin/startSFmanager start
if [ $? -ne 0 ]; then
    exit 1
fi

exit 0

[Stopスクリプト]

#!/bin/sh

#
# ETERNUS SF Manager daemon stop for PRIMECLUSTER
#

/opt/FJSVesfcm/bin/startSFmanager stop
if [ $? -ne 0 ]; then
    exit 1
fi

exit 0

[Checkスクリプト]

  • Solaris環境の場合

    #!/bin/sh
    
    #
    # ETERNUS SF Manager Check script for PRIMECLUSTER
    #
    
    PATH=/bin:/usr/bin:/sbin:/usr/sbin
    export PATH
    
    check_postgres()
    {
        ps -ef | grep '/opt/FJSVesfcm/postgres/bin/postgres' | grep -v grep > /dev/null 2>&1
        if [ $? -ne 0 ]; then
            return 1
        fi
    
        return 0
    }
    
    check_apache()
    {
        ps -ef | grep '/opt/FJSVesfcm/apache/bin/httpd' | grep -v grep > /dev/null 2>&1
        if [ $? -ne 0 ]; then
            return 1
        fi;
    
        return 0
    }
    
    check_tomcat()
    {
        ps -ef | grep '/opt/FJSVesfcm/JRE/bin/java' | grep 'FJSVesfcm' | grep -v grep > /dev/null 2>&1
        if [ $? -ne 0 ]; then
            return 1
        fi;
    
        return 0
    
    }
    
    for EXEC in check_postgres check_apache check_tomcat
    do
        eval $EXEC
        if [ $? -ne 0 ]; then
            exit 1
        fi
    done
    
    exit 0
  • Linux環境の場合

    #!/bin/sh
    
    #
    # ETERNUS SF Manager Check script for PRIMECLUSTER
    #
    
    PATH=/bin:/usr/bin:/sbin:/usr/sbin
    export PATH
    
    check_postgres()
    {
        ps -ef --cols 90 | grep '/opt/FJSVesfcm/postgres/bin/postgres' | grep -v grep > /dev/null 2>&1
        if [ $? -ne 0 ]; then
            return 1
        fi
    
        return 0
    }
    
    check_apache()
    {
        ps -ef --cols 90 | grep '/opt/FJSVesfcm/apache/bin/httpd' | grep -v grep > /dev/null 2>&1
        if [ $? -ne 0 ]; then
            return 1
        fi;
    
        return 0
    }
    
    check_tomcat()
    {
        ps -ef --cols 90 | grep '/opt/FJSVesfcm/JRE/bin/java' | grep 'FJSVesfcm' | grep -v grep > /dev/null 2>&1
        if [ $? -ne 0 ]; then
            return 1
        fi;
    
        return 0
    
    }
    
    for EXEC in check_postgres check_apache check_tomcat
    do
        eval $EXEC
        if [ $? -ne 0 ]; then
            exit 1
        fi
    done
    
    exit 0
AdvancedCopy Manager CCM用の汎用スクリプト

AdvancedCopy Manager CCMの管理サービスを停止するためのスクリプトです。

共有データ用共有ディスクがオフラインになる前に、以下のサービスを停止する必要があります。
サービスを停止するために、acservice stopコマンド(-lanオプション付き)を実行する汎用スクリプトファイルを作成してください。コマンドの詳細は、『ETERNUS SF AdvancedCopy Manager 運用ガイド Copy Control Module編』の「コマンドリファレンス」を参照してください。

  • ETERNUS SF AdvancedCopy Manager CCM管理サービス

以下に、PRIMECLUSTERのCmdlineリソース用Start/Stopスクリプトとして作成した場合の例を示します。

#!/bin/sh

case $1 in
'start')
        exit 0 ;;
'stop' )
        /opt/FJSVccm/bin/acservice stop -lan
        exit 0 ;;
esac

Cmdlineリソース登録の際、Startスクリプトの場合は引数に"start"を、Stopスクリプトの場合は引数に"stop"を指定してください。
Start/Stopスクリプトの作成手順は、使用しているクラスタソフトウェアのマニュアルを参照してください。

AdvancedCopy Managerデーモン用の汎用スクリプト

クラスタアプリケーション(業務)からAdvancedCopy Managerのデーモンを起動/停止するスクリプトです。以下を参照して、AdvancedCopy Managerデーモンの起動/停止スクリプトファイルを作成してください。

  • クラスタ業務の起動時の処理

    運用管理サーバ業務のAdvancedCopy Managerのサービスが起動するように設定します。

    クラスタ業務の起動時に、AdvancedCopy Managerサービス起動コマンド(/opt/FJSVswstf/cluster/MgrStart)が実行されるように設定してください。

    ポイント

    AdvancedCopy Managerサービス起動コマンドが実行されるようにするため、環境変数SWSTGNODEに、起動する運用管理サーバ業務の論理ノード名を設定してください。

    注意

    クラスタソフトウェアには、起動処理の結果をクラスタソフトウェアへ通知する必要があるものが存在します。処理結果の通知が必要な場合は、AdvancedCopy Managerサービス起動コマンドの終了ステータスを基に、適切な値をクラスタソフトウェアへ通知するように設定してください。

    AdvancedCopy Managerサービスの起動に必要な情報は、以下のとおりです。

    項目

    説明

    環境変数SWSTGNODE

    論理ノード名です。

    AdvancedCopy Managerサービス起動コマンド名

    /opt/FJSVswstf/cluster/MgrStart

    AdvancedCopy Managerサービス起動コマンドの終了ステータス

    正常終了: 0
    異常終了: 1

  • クラスタ業務の停止時の処理

    運用管理サーバ業務のAdvancedCopy Managerのサービスが停止するように設定します。

    クラスタ業務の停止時に、AdvancedCopy Managerサービス停止コマンド(/opt/FJSVswstf/cluster/MgrStop)が実行されるように設定してください。

    ポイント

    AdvancedCopy Managerサービス停止コマンドが実行されるようにするため、環境変数SWSTGNODEに、停止する運用管理サーバ業務の論理ノード名を設定してください。

    注意

    クラスタソフトウェアには、停止処理の結果をクラスタソフトウェアへ通知する必要があるものが存在します。処理結果の通知が必要な場合は、AdvancedCopy Managerサービス停止コマンドの終了ステータスを基に、適切な値をクラスタソフトウェアへ通知するように設定してください。

    AdvancedCopy Managerサービスの停止に必要な情報は、以下のとおりです。

    項目

    説明

    環境変数SWSTGNODE

    論理ノード名です。

    AdvancedCopy Managerサービス停止コマンド名

    /opt/FJSVswstf/cluster/MgrStop

    AdvancedCopy Managerサービス停止コマンドの終了ステータス

    正常終了: 0
    異常終了: 1

PRIMECLUSTERのCmdlineリソース用Start/Stopスクリプトとして作成した場合の例は、以下のとおりです。

#!/bin/sh
SWSTGNODE=acmnode1
export SWSTGNODE

case $1 in
'start')
        /opt/FJSVswstf/cluster/MgrStart
        exit 0 ;;
'stop' )
        /opt/FJSVswstf/cluster/MgrStop
        exit 0 ;;
esac

Cmdlineリソース登録の際、Startスクリプトの場合は引数に"start"を、Stopスクリプトの場合は引数に"stop"を指定してください。

Start/Stopスクリプトの作成手順は、使用しているクラスタソフトウェアのマニュアルを参照してください。