Split Brain

ハウジング会社がメンテナンス作業でヘマをやらかしてくれて、クラスターシステムがSplit Brainを引き起こしてしまい、共有ディスクが非同期になってしまいました(--;
回復手順を忘備録として残しておきます。

[root@master ~]# cat /proc/drbd
version: 8.3.2 (api:88/proto:86-90)
GIT-hash: dd7985327f146f33b86d4bff5ca8c94234ce840e build by [email protected], 2009-08-29 14:02:24
0: cs:StandAlone ro:Primary/Unknown ds:UpToDate/DUnknown r----
ns:180718856 nr:127432 dw:181027916 dr:248725688 al:1818502 bm:3960 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:110892

cs:StandAlone という表示がスタンドアロン(非同期)で動作していることを示しています。
これを回復させるために以下のコマンドを実行しました(上から順に実行します)。

slave側での作業
[root@slave ~]# drbdadm down r0
[root@slave ~]# drbdadm attach r0
[root@slave ~]# drbdadm invalidate r0
[root@slave ~]# drbdadm connect r0
master側での作業
[root@master ~]# drbdadm connect r0

これを実行するとslave側のデータを破棄してmaster→slaveへ強制同期が行われます。

[root@master ~]# cat /proc/drbd
version: 8.3.2 (api:88/proto:86-90)
GIT-hash: dd7985327f146f33b86d4bff5ca8c94234ce840e build by [email protected], 2009-08-29 14:02:24
0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r----
ns:19420 nr:0 dw:181078644 dr:248806536 al:1819051 bm:4509 lo:1 pe:261 ua:253 ap:1 ep:1 wo:f oos:104846496
[>....................] sync'ed: 0.1% (102388/102400)M
finish: 5:12:02 speed: 5,552 (5,552) K/sec
[root@slave ~]# cat /proc/drbd
version: 8.3.2 (api:88/proto:86-90)
GIT-hash: dd7985327f146f33b86d4bff5ca8c94234ce840e build by [email protected], 2009-08-29 14:02:24
0: cs:SyncTarget ro:Secondary/Primary ds:Inconsistent/UpToDate C r----
ns:0 nr:263616 dw:255452 dr:0 al:0 bm:15 lo:257 pe:3670 ua:256 ap:0 ep:1 wo:f oos:104603224
[>....................] sync'ed: 0.3% (102148/102400)M
finish: 4:09:03 speed: 6,972 (6,692) K/sec

同期完了まで5時間かかりました。
やれやれ、作業やるなら気をつけてほしいもんです。

参考リンク

DRBD+Keepalived+iscsi 障害 復旧 - メモ
http://d.hatena.ne.jp/ykm888/20090530/p1