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:0
cs,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のインストール】