確認したいこと
db2haicuで設定したTSAMP構成が組まれている環境で
$ lssam Online IBM.ResourceGroup:db2_db2inst1_db2inst1_SAMPLE-rg Nominal=Online '- Online IBM.Application:db2_db2inst1_db2inst1_SAMPLE-rs |- Online IBM.Application:db2_db2inst1_db2inst1_SAMPLE-rs:test1 '- Offline IBM.Application:db2_db2inst1_db2inst1_SAMPLE-rs:test2
STANDBY側で以下コマンドを押下してOS障害時の動きを確認する。
# systemctl restart
環境情報
- IBM Tivoli System Automation for Multiplatforms 4
- DB2 v11.5
- RHEL 7
確認結果
直後はDBサーバへの接続を行うも書き込み処理に対して反応が返ってこない状態となり
$ db2 "insert xx"
しかしプライマリー側でもタイムアウト時間やピアウインドウを経過した結果DISCONNECTEDとして扱われるようになると
$ db2pd -db sample -hadr HADR_ROLE = PRIMARY REPLAY_TYPE = PHYSICAL HADR_SYNCMODE = NEARSYNC HADR_STATE = DISCONNECTED_PEER HADR_CONNECT_STATUS = DISCONNECTED ...
DBへの書き込み処理が行なえるようになる。そしてスタンバイ側サーバが起動されると、TSAが自動的にDB起動を行うことで接続状態が回復する。
HADR_CONNECT_STATUS = CONNECTED
以下、補足です。
補足
NEARSYNCとして稼働していても、対向のスタンバイ機との接続が切れるとプライマリ機単独で正常に動作します。この接続が切れる時間はHADR_TIMEOUTとPEER_WINDOWの合計時間となります。
サーバの再起動直後のログを確認すると、以下にて対象が落ちていることを確認すると
... hadrV115_monitor.ksh[2208]: 315: hadrV115_monitor.ksh[2208] is offline, hadr monitor must return offline ... hadrV115_monitor.ksh[2208]: 348: Returning 2 : db2inst1 db2inst1 SAMPLE
自動的にDB起動が開始されます。
... db2V115_start.ksh[2257]: 226: Entered /opt/rsct/sapolicies/db2/db2V115_start.ksh, db2inst1, 0 ... db2V115_start.ksh[2257]: 305: Partition was successfully started. ... db2V115_start.ksh[2257]: 180: su - db2inst1 -c db2 activate database SAMPLE ...
ちなみにDB接続として見るとサーバを停止した場合でも同じ動きとなり、停止時から一定時間はレスポンスが悪化しますがプライマリー側だけでデータベースの機能が提供される状態のまま稼働します。
以上。