MySQL Fabricを利用していて、Node障害が発生した場合の対応手順確認。
■ FAULTYの状態からの回復手順
今回は、MySQLのProcessをkillコマンドで停止して疑似障害を起こしていたので、
再度起動しなおしてから以下の操作を行いました。
1) 現状確認
-bash-4.2$ mysqlfabric group lookup_servers global Fabric UUID: 5ca1ab1e-a007-feed-f00d-cab3fe13249e Time-To-Live: 1 server_uuid address status mode weight ------------------------------------ --------------- --------- ---------- ------ 4594fd2a-aa84-11e4-a01a-08002766cefe 127.0.0.1:63301 FAULTY READ_WRITE 1.0 46317949-aa84-11e4-a01a-08002766cefe 127.0.0.1:63302 PRIMARY READ_WRITE 1.0 470a3117-aa84-11e4-a01a-08002766cefe 127.0.0.1:63303 SECONDARY READ_ONLY 1.0 4783b13a-aa84-11e4-a01a-08002766cefe 127.0.0.1:63304 SECONDARY READ_ONLY 1.0
2) 起動した状態ではFAULTのままになっているので、先ずはSET_STATUSコマンドでSPAREの状態にします。
以下のオプションから選択可能
Status (STANDBY). Possible values are (0, ‘FAULTY’), (1, ‘SPARE’), (2, ‘SECONDARY’), (3, ‘PRIMARY’)
-bash-4.2$ mysqlfabric server set_status 4594fd2a-aa84-11e4-a01a-08002766cefe SPARE Fabric UUID: 5ca1ab1e-a007-feed-f00d-cab3fe13249e Time-To-Live: 1 uuid finished success result ------------------------------------ -------- ------- ------ 75fdf4e5-b87b-4f91-be74-25bf6e01a663 1 1 1 state success when description ----- ------- ------------- ------------------------------------------------------------- 3 2 1422845850.53 Triggered by <mysql.fabric.events.Event object at 0x345a990>. 4 2 1422845850.54 Executing action (_set_server_status). 5 2 1422845851.0 Executed action (_set_server_status). -bash-4.2$ mysqlfabric group lookup_servers global Fabric UUID: 5ca1ab1e-a007-feed-f00d-cab3fe13249e Time-To-Live: 1 server_uuid address status mode weight ------------------------------------ --------------- --------- ---------- ------ 4594fd2a-aa84-11e4-a01a-08002766cefe 127.0.0.1:63301 SPARE OFFLINE 1.0 46317949-aa84-11e4-a01a-08002766cefe 127.0.0.1:63302 PRIMARY READ_WRITE 1.0 470a3117-aa84-11e4-a01a-08002766cefe 127.0.0.1:63303 SECONDARY READ_ONLY 1.0 4783b13a-aa84-11e4-a01a-08002766cefe 127.0.0.1:63304 SECONDARY READ_ONLY 1.0 -bash-4.2$
■OFFLINEですが、この状態で既にデータが同期されているので、SECONDARYにしてユーザーのリクエストを処理開始します。
– ユーザーに提供する為に、SPAREからSECONDARYにステータスを変更。
-bash-4.2$ mysqlfabric server set_status 4594fd2a-aa84-11e4-a01a-08002766cefe SECONDARY Fabric UUID: 5ca1ab1e-a007-feed-f00d-cab3fe13249e Time-To-Live: 1 uuid finished success result ------------------------------------ -------- ------- ------ dc804a2e-86b5-4694-bdd6-ddb3e3dd9461 1 1 1 state success when description ----- ------- ------------- ------------------------------------------------------------- 3 2 1422846492.45 Triggered by <mysql.fabric.events.Event object at 0x345a990>. 4 2 1422846492.46 Executing action (_set_server_status). 5 2 1422846492.46 Executed action (_set_server_status). -bash-4.2$ mysqlfabric group lookup_servers global Fabric UUID: 5ca1ab1e-a007-feed-f00d-cab3fe13249e Time-To-Live: 1 server_uuid address status mode weight ------------------------------------ --------------- --------- ---------- ------ 4594fd2a-aa84-11e4-a01a-08002766cefe 127.0.0.1:63301 SECONDARY READ_ONLY 1.0 46317949-aa84-11e4-a01a-08002766cefe 127.0.0.1:63302 PRIMARY READ_WRITE 1.0 470a3117-aa84-11e4-a01a-08002766cefe 127.0.0.1:63303 SECONDARY READ_ONLY 1.0 4783b13a-aa84-11e4-a01a-08002766cefe 127.0.0.1:63304 SECONDARY READ_ONLY 1.0 -bash-4.2$