PaceMaker+DRBDの運用
PaceMaker+DRBDを運用する上で、よく使うコマンドを紹介します。# crm_mon ============ Last updated: Mon Apr 8 15:58:17 2013 Stack: Heartbeat Current DC: dk-db01 (e55c28c8-89c7-4d61-9c9a-aef306eae480) - partition with quo rum Version: 1.0.12-066152e 2 Nodes configured, unknown expected votes 5 Resources configured. ============ Online: [ dk-db02 dk-db01 ] Resource Group: grp_mysqld prm_vipcheck (ocf::heartbeat:VIPcheck): Started dk-db01 prm_vip (ocf::heartbeat:IPaddr2): Started dk-db01 prm_fs (ocf::heartbeat:Filesystem): Started dk-db01 prm_mysqld (ocf::heartbeat:mysql): Started dk-db01 prm_mailto (ocf::heartbeat:MailTo): Started dk-db01 Master/Slave Set: ms_drbd_r0 Masters: [ dk-db01 ] Slaves: [ dk-db02 ] Clone Set: clone_diskd Started: [ dk-db01 dk-db02 ] Clone Set: clone_diskd_internal Started: [ dk-db01 dk-db02 ] Clone Set: clone_pingd Started: [ dk-db01 dk-db02 ]
# crm_mon -1
# cat /proc/drbd version: 8.4.2 (api:1/proto:86-101) GIT-hash: 7ad5f850d711223713d6dcsss3dd48860321070c build by root@dk-db01, 2012-11-06 15:33:13 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----- ns:45515384 nr:0 dw:45577604 dr:5178098 al:537 bm:64 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0cs,ro,dsの値で状態を確認することができます。
項目 | 正常時 | 異常時(例) |
---|---|---|
cs | Connected | WFConnection StandAlone |
ro | Primary/Secondary or Secondary/Primary |
Primary/Unknown Secondary/Unknown |
ds | UpToDate/UpToDate | UpToDate/DUnknow |
PaceMaker+DRBDの障害復旧手順(片ノードのみ障害)
ノード間のDRBD同期が取れていない状態になった場合の復旧手順を説明します。# cat /proc/drbd
version: 8.4.2 (api:1/proto:86-101)
GIT-hash: 7ad5f850d711223713d6dcadc3dd48860321070c build by root@dk-db01, 2012-11-06 15:33:13
0: cs:WFConnection ro:Primary/Unknown ds:UpToDate/DUnknown C r-----
ns:1412 nr:636 dw:3648 dr:13333 al:16 bm:15 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:1200
・ノード2側のDRBD状態を確認# cat /proc/drbd
version: 8.4.2 (api:1/proto:86-101)
GIT-hash: 7ad5f850d711223713d6dcadc3dd48860321070c build by root@dk-db02, 2012-11-06 15:44:03
0: cs:StandAlone ro:Secondary/Unknown ds:UpToDate/DUnknown r-----
ns:0 nr:1408 dw:1408 dr:1672 al:0 bm:8 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
※ノード1側がPrimay状態であるため、ノード2側のデータを破棄し、ノード1側データを正とする。# drbdadm secondary rdb01書式:drbdadm secondary resource名
# cat /proc/drbd
version: 8.4.2 (api:1/proto:86-101)
GIT-hash: 7ad5f850d711223713d6dcadc3dd48860321070c build by root@dk-db02, 2012-11-06 15:44:03
0: cs:StandAlone ro:Secondary/Unknown ds:UpToDate/DUnknown r-----
ns:0 nr:1408 dw:1408 dr:1672 al:0 bm:8 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
※今回はすでにSecondary状態であったため、特に結果は変わらない。# drbdadm -- --discard-my-data connect rdb01※ノード1側がWFConnection状態であるため、ノード間の自動再接続が行われる。
# cat /proc/drbd
version: 8.4.2 (api:1/proto:86-101)
GIT-hash: 7ad5f850d711223713d6dcsss3dd48860321070c build by root@dk-db02, 2012-11-06 15:33:13
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r-----
ns:45515384 nr:0 dw:45577604 dr:5178098 al:537 bm:64 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
PaceMaker+DRBDの障害復旧手順(両ノードがStandAlone状態)
両ノードが単独で動作している状態(スプリットブレイン)からの復旧手順を説明します。# cat /proc/drbd
version: 8.4.2 (api:1/proto:86-101)
GIT-hash: 7ad5f850d711223713d6dcadc3dd48860321070c build by root@dk-db01, 2012-11-06 15:33:13
0: cs:StandAlone ro:Primary/Unknown ds:UpToDate/DUnknown r-----
ns:13112 nr:636 dw:35652 dr:58573 al:23 bm:32 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:15304
# cat /proc/drbd
version: 8.4.2 (api:1/proto:86-101)
GIT-hash: 7ad5f850d711223713d6dcadc3dd48860321070c build by root@dk-db02, 2012-11-06 15:44:03
0: cs:StandAlone ro:Secondary/Unknown ds:UpToDate/DUnknown r-----
ns:0 nr:11652 dw:13060 dr:3200 al:0 bm:25 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
※ノード1側がPrimay状態であるため、ノード2側のデータを破棄し、ノード1側データを正とする。# drbdadm secondary rdb01書式:drbdadm secondary resource名
# cat /proc/drbd
version: 8.4.2 (api:1/proto:86-101)
GIT-hash: 7ad5f850d711223713d6dcadc3dd48860321070c build by root@dk-db02, 2012-11-06 15:44:03
0: cs:StandAlone ro:Secondary/Unknown ds:UpToDate/DUnknown r-----
ns:0 nr:11652 dw:13060 dr:3200 al:0 bm:25 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
※今回はすでにSecondary状態であったため、特に結果は変わらない。# drbdadm -- --discard-my-data connect rdb01書式:drbdadm -- --discard-my-data connect リソース名
# cat /proc/drbd
version: 8.4.2 (api:1/proto:86-101)
GIT-hash: 7ad5f850d711223713d6dcadc3dd48860321070c build by root@dk-db02, 2012-11-06 15:44:03
0: cs:WFConnection ro:Secondary/Unknown ds:UpToDate/DUnknown C r-----
ns:0 nr:0 dw:13060 dr:3200 al:0 bm:25 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
# drbdadm connect rdb01書式:drbdadm connect リソース名
# drbdadm primary rdb01
PaceMaker+DRBDの運用関連記事
PaceMaker+DRBDの実践運用手順PaceMaker+DRBD構築 の目次
01. PaceMaker+DRBD構築 【PaceMakerのインストール】