Hitachi

Hitachi Advanced Data Binder システム構築・運用ガイド


19.23.3 コールドスタンバイ構成の構築(Azure環境の場合)

Azure環境でのコールドスタンバイ構成の構築手順について説明します。

<ここの操作説明の前提条件>

図19‒8 Azure環境でのコールドスタンバイ構成例」で示すとおり,hadb01が実行系で,hadb02が待機系であるとします。

〈この項の構成〉

(1) HAモニタのインストール

実行系および待機系の仮想マシンにHAモニタをインストールしてください。HAモニタのインストール方法については,マニュアルHAモニタ パブリッククラウド編システムの構築を参照してください。

(2) HADBサーバとHADBクライアントのインストールおよび環境設定

(3) udevルールの設定

各仮想マシンで使用するマネージドディスクのデバイス名を固定するために,実行系と待機系でudevルールを設定してください。

手順

次のすべての操作は,OSのスーパユーザで実行してください。

  1. udevルールファイルを作成する

    /etc/udev/rules.dディレクトリ下に,ディスクのデバイス名を固定するためのudevルールファイル(/etc/udev/rules.d/99-hadb.rules)を作成してください。

    <udevルールファイルの指定例>

    ACTION=="add|change", SUBSYSTEMS=="block", ENV{ID_SERIAL}=="XXXXXXXXXXXX", SYMLINK+="hadb_db"        ...[a]
    ACTION=="add|change", SUBSYSTEMS=="block", ENV{ID_SERIAL}=="YYYYYYYYYYYY", SYMLINK+="hadb_workarea"  ...[b]
    ACTION=="add|change", SUBSYSTEMS=="block", ENV{ID_SERIAL}=="ZZZZZZZZZZZZZZ", SYMLINK+="hadb_audit"   ...[c]
    ACTION=="add|change", SUBSYSTEMS=="block", ENV{ID_SERIAL}=="WWWWWWWWW", SYMLINK+="hadb_wrk"          ...[d]

    [説明]

    1. 下線部分には,DBディレクトリ用のファイルシステムで使用するマネージドディスク(Premium SSD)を指定します。

    2. 下線部分には,作業用一時ファイルを格納するファイルシステムで使用するマネージドディスク(Premium SSD)を指定します。

    3. 下線部分には,監査証跡ファイルを出力するファイルシステムで使用するマネージドディスク(Premium SSD)を指定します。

    4. 下線部分には,作業表用DBエリアで使用するマネージドディスク(Premium SSD v2)を指定します。

  2. 実行系と待機系のOSを再起動する

    設定したudevルールを反映させるために,実行系と待機系のOSを再起動してください。

(4) HAモニタの環境設定

実行系と待機系で,HAモニタの環境設定をしてください。

  1. 環境変数の設定

    19.3.4 HAモニタの環境設定」の「(1) 環境変数の設定」を参照してください。

  2. sysdefファイルの指定

    19.3.4 HAモニタの環境設定」の「(2) sysdefファイルの指定」を参照してください。

    ただし,Azure環境では,次に示すオペランドの指定値が異なります。

    • public_cloud

      useを指定します。

    • cpudown

      このオペランドは省略してください。

    • fence_resetfence_scsifence_lanfence_network

      これらのオペランドは省略してください。

    メモ

    上記のオペランドの詳細については,マニュアルHAモニタ Linux(R)(x86)編HAモニタの環境設定(sysdef),およびマニュアルHAモニタ パブリッククラウド編パブリッククラウド環境固有のHAモニタの環境設定を参照してください。

  3. serversファイルの指定

    serversファイルに指定するオペランドについては,「19.3.4 HAモニタの環境設定」の「(3) serversファイルの指定」を参照してください。ただし,次のオペランドについては指定値が決まっています。

    • patrolcommand

      このオペランドは省略してください。

    • ptrlcmd_ex

      HADB用の設定を記載したサーバの監視コマンドの絶対パスを指定します。

      サーバの監視コマンドはひな形を基に作成してください。作成方法については,「(5) HAモニタの各ファイルの指定例」の「(d) コマンド用環境変数定義ファイルおよび各コマンドファイルの指定例」,およびマニュアルHAモニタ Linux(R)(x86)編サーバの監視コマンドの作成を参照してください。

    • ptrlcmd_ex_inter

      3を指定します。

    • ptrlcmd_ex_retry

      0を指定します。

    • ptrlcmd_ex_tmout

      5を指定します。

    • scsi_devicedmmp_device

      これらのオペランドは省略してください。

    • disk

      次に示すファイルシステムを作成したVGの絶対パスを指定します。

      • DBディレクトリ用のファイルシステム

      • 作業用一時ファイルを格納するファイルシステム

      • 監査証跡ファイルを出力するファイルシステム(監査証跡機能を使用する場合に必要)

    • fs_name

      次に示すファイルシステムに対応する論理ボリュームの絶対パスを指定します。

      • DBディレクトリ用のファイルシステム

      • 作業用一時ファイルを格納するファイルシステム

      • 監査証跡ファイルを出力するファイルシステム(監査証跡機能を使用する場合に必要)

    • fs_mount_dir

      次に示すファイルシステムをマウントするディレクトリのパスを指定します。実行系と待機系で同じパスを指定してください。

      • DBディレクトリ用のファイルシステム

      • 作業用一時ファイルを格納するファイルシステム

      • 監査証跡ファイルを出力するファイルシステム(監査証跡機能を使用する場合に必要)

    • fs_mount_opt

      次に示すファイルシステムをマウントするためのマウントオプション(mountコマンドのオプション)を指定します。

      • DBディレクトリ用のファイルシステム

      • 作業用一時ファイルを格納するファイルシステム

      • 監査証跡ファイルを出力するファイルシステム(監査証跡機能を使用する場合に必要)

    メモ

    上記のオペランドの詳細については,マニュアルHAモニタ Linux(R)(x86)編サーバ対応の環境設定(servers),およびマニュアルHAモニタ パブリッククラウド編パブリッククラウド環境固有のサーバの環境設定を参照してください。

  4. HAモニタの接続構成設定ファイル(connectionファイル)の作成

    接続構成設定ファイルを手動で作成してください。手動での作成方法については,マニュアルHAモニタ Linux(R)(x86)編HAモニタの接続構成設定ファイルの作成を参照してください。

    接続構成設定ファイルには,実行系および待機系に作成したsysdefファイルのnameオペランドに指定したホスト名と,監視パスに使用するIPアドレスの組を指定します。

  5. コマンド用環境変数定義およびコマンドの作成

    HAモニタとの連携のために,次のコマンド用環境変数定義およびコマンドを作成してください。

    • コマンド用環境変数定義

    • サーバの起動コマンド

    • サーバの停止コマンド

    • サーバの監視コマンド

    作成方法は,「19.3.4 HAモニタの環境設定」の「(4) コマンド用環境変数定義およびコマンドの作成」を参照してください。

    ただし,Azure環境では,サーバの監視コマンドファイルのひな形は$ADBDIR/sample/scripts/coldstandby_patrol_ex.shです。このひな形をコピーして該当個所を修正してください。サーバの監視コマンドファイルの指定例については,「(5) HAモニタの各ファイルの指定例」の「(d) コマンド用環境変数定義ファイルおよび各コマンドファイルの指定例」を参照してください。

(5) HAモニタの各ファイルの指定例

次のファイルの指定例を示します。

ここで説明する指定例は,「図19‒8 Azure環境でのコールドスタンバイ構成例」のシステム構成を前提としています。

(a) sysdefファイルの指定例

■実行系(hadb01)のsysdefファイルの指定例
environment  name hadb01,
             address 1,                 ...1
             patrol 60,
             lan path11,                ...2
             lanport HAmon1;            ...3
function     pathpatrol 240,
             connect_retry 5:200,
             monbegin_restart nouse,
             termcmd_at_abort nouse,
             public_cloud use;          ...4

[説明]

  1. この系のリセット優先度を指定します。この系は,実行系のため,リセット優先度をいちばん高くする必要があるので1を指定します。

  2. HAモニタの監視パスとして使用するLANのホスト名を指定します。IPアドレス172.16.0.11に対応するホスト名path11を指定します。

  3. HAモニタの監視パスとして使用するLANのサービス名を指定します。ポート番号7777に対応するサービス名HAmon1を指定します。

  4. Azure環境でHAモニタを使用するため,useを指定します。

■待機系(hadb02)のsysdefファイルの指定例
environment  name hadb02,
             address 2,                 ...1
             patrol 60,
             lan path21,                ...2
             lanport HAmon1;            ...3
function     pathpatrol 240,
             connect_retry 5:200,
             monbegin_restart nouse,
             termcmd_at_abort nouse,
             public_cloud use;          ...4

[説明]

  1. この系のリセット優先度を指定します。この系は,待機系のため,2を指定します。

  2. HAモニタの監視パスとして使用するLANのホスト名を指定します。IPアドレス172.16.0.12に対応するホスト名path21を指定します。

  3. HAモニタの監視パスとして使用するLANのサービス名を指定します。ポート番号7777に対応するサービス名HAmon1を指定します。

  4. Azure環境でHAモニタを使用するため,useを指定します。

(b) serversファイルの指定例

■実行系(hadb01)のserversファイルの指定例
server name /HADB/server,                                      ...1
       alias HADB,
       acttype monitor,
       disk /dev/vg_hadb01:/dev/vg_hadb02:/dev/vg_hadb03,      ...2
       lan_updown use,
       fs_name /dev/vg_hadb01/hadb_db:/dev/vg_hadb02/hadb_workarea:/dev/vg_hadb03/hadb_audit,   ...3
       fs_mount_dir /HADB/db:/mnt/workarea:/mnt/audit,         ...4
       fs_mount_opt "-t xfs -o defaults,noatime,_netdev":"-t xfs -o defaults,noatime,_netdev":"-t xfs -o defaults,noatime,_netdev",   ...5
       actcommand "/HADB/scripts/coldstandby_act.sh",          ...6
       termcommand "/HADB/scripts/coldstandby_term.sh",        ...7
       ptrlcmd_ex "/HADB/scripts/coldstandby_patrol_ex.sh",    ...8
       ptrlcmd_ex_inter 3,
       ptrlcmd_ex_retry 0,
       ptrlcmd_ex_tmout 5,
       servexec_retry 2,
       waitserv_exec yes,
       ip_neck use,
       uoc_neck nouse,
       vg_neck use:nouse:use,                                  ...9
       fs_neck use:nouse:use,                                  ...10
       initial online;                                         ...11

[説明]

  1. サーバディレクトリの絶対パスを指定します。

  2. DBディレクトリ用のファイルシステム,作業用一時ファイルを格納するファイルシステム,および監査証跡ファイルを出力するファイルシステムを作成したVGの絶対パスを指定します。

  3. DBディレクトリ用のファイルシステム,作業用一時ファイルを格納するファイルシステム,および監査証跡ファイルを出力するファイルシステムを作成したLVの絶対パスを指定します。

  4. DBディレクトリ用のファイルシステム,作業用一時ファイルを格納するファイルシステム,および監査証跡ファイルを出力するファイルシステムをマウントするマウントポイントの絶対パスを指定します。

  5. DBディレクトリ用のファイルシステム,作業用一時ファイルを格納するファイルシステム,および監査証跡ファイルを出力するファイルシステムをマウントするためのmountコマンドのオプションを指定します。

  6. コールドスタンバイ構成で使用するサーバの起動コマンドの絶対パスを指定します。

  7. コールドスタンバイ構成で使用するサーバの停止コマンドの絶対パスを指定します。

  8. コールドスタンバイ構成で使用するサーバの監視コマンドの絶対パスを指定します。

  9. DBディレクトリ用のファイルシステムおよび監査証跡ファイルを出力するファイルシステムを作成したVGに対しては,useを指定します。作業用一時ファイルを格納するファイルシステムを作成したVGに対しては,nouseを指定します。

  10. DBディレクトリ用のファイルシステム,および監査証跡ファイルを出力するファイルシステムに対しては,useを指定します。作業用一時ファイルを格納するファイルシステムに対しては,nouseを指定します。

  11. 実行系とするため,onlineを指定します。

■待機系(hadb02)のserversファイルの指定例
server name /HADB/server,                                      ...1
       alias HADB,
       acttype monitor,
       disk /dev/vg_hadb01:/dev/vg_hadb02:/dev/vg_hadb03,      ...2
       lan_updown use,
       fs_name /dev/vg_hadb01/hadb_db:/dev/vg_hadb02/hadb_workarea:/dev/vg_hadb03/hadb_audit,   ...3
       fs_mount_dir /HADB/db:/mnt/workarea:/mnt/audit,         ...4
       fs_mount_opt "-t xfs -o defaults,noatime,_netdev":"-t xfs -o defaults,noatime,_netdev":"-t xfs -o defaults,noatime,_netdev",   ...5
       actcommand "/HADB/scripts/coldstandby_act.sh",          ...6
       termcommand "/HADB/scripts/coldstandby_term.sh",        ...7
       ptrlcmd_ex "/HADB/scripts/coldstandby_patrol_ex.sh",    ...8
       ptrlcmd_ex_inter 3,
       ptrlcmd_ex_retry 0,
       ptrlcmd_ex_tmout 5,
       servexec_retry 2,
       waitserv_exec yes,
       ip_neck use,
       uoc_neck nouse,
       vg_neck use:nouse:use,                                  ...9
       fs_neck use:nouse:use,                                  ...10
       initial standby;                                        ...11

[説明]

  1. サーバディレクトリの絶対パスを指定します。

  2. DBディレクトリ用のファイルシステム,作業用一時ファイルを格納するファイルシステム,および監査証跡ファイルを出力するファイルシステムを作成したVGの絶対パスを指定します。

  3. DBディレクトリ用のファイルシステム,作業用一時ファイルを格納するファイルシステム,および監査証跡ファイルを出力するファイルシステムを作成したLVの絶対パスを指定します。

  4. DBディレクトリ用のファイルシステム,作業用一時ファイルを格納するファイルシステム,および監査証跡ファイルを出力するファイルシステムをマウントするマウントポイントの絶対パスを指定します。

  5. DBディレクトリ用のファイルシステム,作業用一時ファイルを格納するファイルシステム,および監査証跡ファイルを出力するファイルシステムをマウントするためのmountコマンドのオプションを指定します。

  6. コールドスタンバイ構成で使用するサーバの起動コマンドの絶対パスを指定します。

  7. コールドスタンバイ構成で使用するサーバの停止コマンドの絶対パスを指定します。

  8. コールドスタンバイ構成で使用するサーバの監視コマンドの絶対パスを指定します。

  9. DBディレクトリ用のファイルシステムおよび監査証跡ファイルを出力するファイルシステムを作成したVGに対しては,useを指定します。作業用一時ファイルを格納するファイルシステムを作成したVGに対しては,nouseを指定します。

  10. DBディレクトリ用のファイルシステム,および監査証跡ファイルを出力するファイルシステムに対しては,useを指定します。作業用一時ファイルを格納するファイルシステムに対しては,nouseを指定します。

  11. 待機系とするため,standbyを指定します。

(c) HAモニタの接続構成設定ファイルの指定例

HAモニタの接続構成設定ファイル(connectionファイル)の指定例を次に示します。指定内容はすべての系で同じにしてください。

hadb01 LAN 172.16.0.11;     ...1
hadb02 LAN 172.16.0.12;     ...2
[説明]
  1. 実行系(hadb01)の監視パスで使用するIPアドレス172.16.0.11を指定します。

  2. 待機系(hadb02)の監視パスで使用するIPアドレス172.16.0.12を指定します。

HAモニタの接続構成設定ファイルの指定方法の詳細については,マニュアルHAモニタ Linux(R)(x86)編HAモニタの接続構成設定ファイルの作成を参照してください。

(d) コマンド用環境変数定義ファイルおよび各コマンドファイルの指定例

コマンド用環境変数定義ファイルの指定例

指定例については,「19.3.4 HAモニタの環境設定」の「(5) 各ファイルの指定例(系のリセットを使用する場合)」の「(c) コマンド用環境変数定義ファイルの指定例」を参照してください。

サーバの起動コマンドファイルの指定例

指定例については,「19.3.4 HAモニタの環境設定」の「(5) 各ファイルの指定例(系のリセットを使用する場合)」の「(d) サーバの起動コマンドファイルの指定例」を参照してください。

サーバの停止コマンドファイルの指定例

指定例については,「19.3.4 HAモニタの環境設定」の「(5) 各ファイルの指定例(系のリセットを使用する場合)」の「(e) サーバの停止コマンドファイルの指定例」を参照してください。

サーバの監視コマンドファイルの指定例

この例では,サーバの監視コマンドを/HADB/scripts/coldstandby_patrol_ex.shに格納しています。指定内容は,実行系と待機系で同じにしてください。

<サーバの監視コマンドファイルの指定例>

#!/bin/sh

# Sample of the ptrlcmd_ex for HADB

SU=/bin/su

# Setting environment variables for HADB
source /HADB/scripts/coldstandby.env                ...1

# Execute adbmonitor command for active system
$SU - $ADBMGR -c "'$ADBDIR'/bin/adbmonitor -n -i"
ADBMONRES=$?
if [ "$ADBMONRES" = "0" -o "$ADBMONRES" = "4" ]
then
  exit 0
else
  exit $ADBMONRES
fi
[説明]

下線部分を修正します。

  1. source文にコマンド用環境変数定義の絶対パス/HADB/scripts/coldstandby.envを指定します。

(6) HAモニタの起動設定

HAモニタの起動設定については,「19.3.4 HAモニタの環境設定」の「(7) HAモニタの起動設定」を参照してください。

(7) データベースの作成

データベースの作成作業の流れを次に示します。

  1. 各ファイルシステムを作成する

  2. 実行系のデータベースを初期設定する

  3. 待機系のデータベースを初期設定する

  4. 作業用一時ファイルを格納するファイルシステムをマウントおよびアンマウントする

  5. 監査証跡ファイルを出力するファイルシステムをマウントおよびアンマウントする

  6. 共有するファイルシステムを構築する

各作業を以降で説明します。

重要

以降の作業を実施する前に,各仮想マシンで共有するマネージドディスクにアタッチしておく必要があります。

(a) 各ファイルシステムの作成

19.23.2 システム構成例」の「(4) ストレージ構成」に示す各ファイルシステムを初期化します。

mkfs -t xfs /dev/vg_hadb01/hadb_db

上記は,DBディレクトリ用のLVとして作成した/dev/vg_hadb01/hadb_dbをXFSのファイルシステムで初期化する場合のコマンドの例です。

(b) 実行系のデータベースの初期設定

実行系のデータベースの初期設定の手順を説明します。

手順

  1. DBディレクトリ用のファイルシステムをマウントする

    実行系で,次のコマンドをOSのスーパユーザで実行してください。

    1. DBディレクトリ用のマウントポイントを作成する

      mkdir -p /HADB/db
    2. DBディレクトリ用のファイルシステムをマウントする

      mount /dev/vg_hadb01/hadb_db /HADB/db -t xfs -o defaults,noatime,_netdev
    3. DBディレクトリのオーナーを変更する

      使用するHADB管理者とHADB管理グループを指定します。HADB管理者をadbmanager,HADB管理グループをadbgroupとしたコマンド例を次に示します。

      chown adbmanager.adbgroup /HADB/db
  2. データベースを初期設定する

    実行系でadbinitコマンドを実行して,実行系のデータベースを初期設定してください。adbinitコマンドの初期設定オプションの指定例を次に示します。

    この操作は,HADB管理者のOSユーザで実行してください。

    set adb_init_dbarea_initialize = Y
    set adb_sys_cld_az_storage_account = adbstorageaccount   ...a
    set adb_sys_cld_az_container = adbcontainer              ...b
    set adb_init_cld_cache_path = /HADB/ADBCCH               ...c
    adbinitdbarea -n ADBUTBL01 -p 32 -s 32                   ...d
    adbinitdbarea -n ADBUIDX01 -p 32 -s 32                   ...d

    [説明]

    1. Azure Blob Storageのストレージアカウント名(adbstorageaccount)を指定します。

    2. Azure Blob Storageのコンテナー名(adbcontainer)を指定します。

    3. キャッシュファイルの格納先ディレクトリ名(/HADB/ADBCCH)を指定します。

    4. データ用DBエリアの定義を指定します。DBエリアのページサイズには32キロバイト,セグメントサイズには32メガバイトを指定します。

    メモ

    adb_init_wrk_blk_pathオペランドの指定は不要です。

    重要

    DBディレクトリ用のマウントポイントにDBディレクトリ用のファイルシステムがマウントされていることを確認してください。

  3. DBディレクトリ用のファイルシステムをアンマウントする

    実行系で,次のコマンドをOSのスーパユーザで実行してください。

    umount /HADB/db

(c) 待機系のデータベースの初期設定

待機系のデータベースの初期設定の手順を説明します。

手順

以下のすべての操作は,OSのスーパユーザで実行してください。

  1. DBディレクトリ用のファイルシステムをマウントする

    待機系でDBディレクトリ用のファイルシステムをマウントしてください。実行系と同じパスになるようにマウントポイントを作成してください。

    メモ

    待機系では,DBディレクトリ用のファイルシステムのマウントポイントを作成するだけで,adbinitコマンドは実行しません。

  2. DBディレクトリ用のファイルシステムをアンマウントする

    待機系でDBディレクトリ用のファイルシステムをアンマウントしてください。

メモ

ファイルシステムをマウントまたはアンマウントする方法については,「(b) 実行系のデータベースの初期設定」を参照してください。

(d) 作業用一時ファイルを格納するファイルシステムのマウントおよびアンマウント

作業用一時ファイルを格納するファイルシステムの構築手順を説明します。

手順

以下のすべての操作は,OSのスーパユーザで実行してください。

  1. 実行系で,作業用一時ファイルを格納するファイルシステムをマウントおよびアンマウントする

    実行系で,作業用一時ファイルを格納するファイルシステムをマウントしたあとにアンマウントしてください。実行系と待機系で同じパスになるようにマウントポイントを作成してください。

  2. 待機系で,作業用一時ファイルを格納するファイルシステムをマウントおよびアンマウントする

    待機系で,作業用一時ファイルを格納するファイルシステムをマウントしたあとにアンマウントしてください。実行系と待機系で同じパスになるようにマウントポイントを作成してください。

メモ

ファイルシステムをマウントまたはアンマウントする方法については,「(b) 実行系のデータベースの初期設定」を参照してください。

(e) 監査証跡ファイルを出力するファイルシステムのマウントおよびアンマウント

監査証跡機能を使用する場合は,ここで説明する作業を実施してください。

手順

以下のすべての操作は,OSのスーパユーザで実行してください。

  1. 実行系で,監査証跡ファイルを出力するファイルシステムをマウントおよびアンマウントする

    実行系で,監査証跡ファイルを出力するファイルシステムをマウントしたあとにアンマウントしてください。実行系と待機系で同じパスになるようにマウントポイントを作成してください。

  2. 待機系で,監査証跡ファイルを出力するファイルシステムをマウントおよびアンマウントする

    待機系で,監査証跡ファイルを出力するファイルシステムをマウントしたあとにアンマウントしてください。実行系と待機系で同じパスになるようにマウントポイントを作成してください。

メモ

ファイルシステムをマウントまたはアンマウントする方法については,「(b) 実行系のデータベースの初期設定」を参照してください。

(f) 共有するファイルシステムの構築

共有するファイルシステムを構築する手順を説明します。

手順

以下のすべての操作は,OSのスーパユーザで実行してください。

  1. 共有するファイルシステムを実行系で構築する

    実行系と待機系で,次に示すファイルシステムを共有します。

    • データインポートで使用する入力ファイルを格納するファイルシステム

    • ADB_CSVREAD関数で使用するCSVファイルを格納するファイルシステム(ADB_CSVREAD関数を使用した検索をする場合に必要)

    • 監査証跡ファイルを出力するファイルシステム(監査証跡機能を使用する場合に必要)

    これらのファイルシステムをAzure Files(NFS)で構築してください。

  2. ファイルシステムを共有化する

    実行系と待機系で共有するファイルシステムを共有してください。

    1.で作成したファイルシステムを,実行系と待機系で同じパスとなるようにマウントしてください。実行系と待機系の両方でこの作業を実施してください。