nakaã•ã‚“
ãŠä¸–話ã«ãªã£ã¦ãŠã‚Šã¾ã™ã€‚
æ± ç”°ã§ã™ã€‚
Pacemaker 1.0.12ã®å ´åˆã€ping RAã¯ã“ã¡ã‚‰ã‚’使用ã•ã‚Œã¦ã„ã‚‹ã‹ã¨æ€ã„ã¾ã™ã€‚
https://github.com/ClusterLabs/pacemaker-1.0/blob/Pacemaker-1.0.12/extra/resources/ping 監視処ç†å®Ÿè¡Œæ™‚ã«ã€ping RAãŒãªã«ã‚’ã‚„ã£ã¦ã„ã‚‹ã‹ã¨ã„ã†ã¨
https://github.com/ClusterLabs/pacemaker-1.0/blob/Pacemaker-1.0.12/extra/resources/ping#L170 pidfileã®å˜åœ¨ã‚’判定ã—ã¦ã„ã¾ã™ã€‚
- pidfileãŒå˜åœ¨ã—ã¦ã„ã‚Œã°ã€ping_update関数を実行
- pidfileãŒå˜åœ¨ã—ã¦ã„ãªã‘ã‚Œã°ã€ç›£è¦–失敗 → フェイルカウントを更新
pidfileã¯èµ·å‹•å‡¦ç†å®Ÿè¡Œæ™‚ã«ä½œæˆã—ã¦ã„ã¾ã™ã€‚
https://github.com/ClusterLabs/pacemaker-1.0/blob/Pacemaker-1.0.12/extra/resources/ping#L157 ã•ã‚‰ã«ã€ping_update関数ãŒãªã«ã‚’ã‚„ã£ã¦ã„ã‚‹ã‹ã¨ã„ã†ã¨
https://github.com/ClusterLabs/pacemaker-1.0/blob/Pacemaker-1.0.12/extra/resources/ping#L261 ping_check関数ã®å®Ÿè¡Œçµæžœã‚’attrd_updaterコマンドã«æ¸¡ã—ã¦ã„ã¾ã™ã€‚
pingコマンドを実行ã—ã¦ã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®ç–Žé€šç¢ºèªã‚’ã—ã¦ã‚‹ã®ãŒping_check関数ã§ã™ã。
paramã§æŒ‡å®šã—ãŸhost_listã‚„multiplierも絡んã§ãã‚‹ã¨ã“ã‚ã§ã™ãŒ
nakaã•ã‚“ã®è¨å®šã§ã¯ã€10.1.0.1ã«å¯¾ã—ã¦pingコマンドを10回実行ã—ã¦
æˆåŠŸã—ãŸã‚‰ã€200ãŒattrd_updaterコマンドã«æ¸¡ã•ã‚Œã¾ã™ã€‚
失敗ã—ãŸã‚‰ã€0ãŒattrd_updaterコマンドã«æ¸¡ã•ã‚Œã¾ã™ã€‚
attrd_updaterコマンドãŒå¤±æ•—ã—ãŸå ´åˆã¯ã€ãƒ•ã‚§ã‚¤ãƒ«ã‚«ã‚¦ãƒ³ãƒˆãŒæ›´æ–°ã•ã‚Œã¾ã™ã€‚
attrd_updaterコマンドãŒãªã«ã‚’ã‚„ã£ã¦ã„ã‚‹ã‹ã¨ã„ã†ã¨
PacemakerãŒç®¡ç†ã—ã¦ã„ã‚‹ã‚¯ãƒ©ã‚¹ã‚¿æƒ…å ±ã®ã€Œå±žæ€§å€¤ã€ã¨ã‚ˆã°ã‚Œã‚‹ã‚‚ã®ã‚’æ›´æ–°ã—ã¦ã„ã¾ã™ã€‚
「フェイルカウントã€ã¨ã€Œå±žæ€§å€¤ã€ã¯åˆ¥ã®ã‚‚ã®ã§ã™ã€‚
ã ã‚“ã ã‚“ã‚„ã‚„ã“ã—ããªã£ã¦ãã¾ã—ãŸãŒ
ping RAãŒç›£è¦–処ç†å®Ÿè¡Œæ™‚ã«ãƒ•ã‚§ã‚¤ãƒ«ã‚«ã‚¦ãƒ³ãƒˆã‚’æ›´æ–°ã™ã‚‹æ¡ä»¶ã¯
- pidfileãŒå˜åœ¨ã—ã¦ã„ãªã„
- attrd_updaterコマンドãŒå¤±æ•—ã—ãŸ
ã§ã™ã€‚
pingコマンドã®å¤±æ•—を契機ã«ãƒ•ã‚§ã‚¤ãƒ«ã‚«ã‚¦ãƒ³ãƒˆã¯æ›´æ–°ã•ã‚Œã¾ã›ã‚“。
pingコマンドãŒå¤±æ•—ã—ãŸã€ã¤ã¾ã‚Šã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ç•°å¸¸ãŒç™ºç”Ÿã—ãŸã¨ã„ã†æ¡ä»¶ã§
ãªã«ãŒè¡Œã‚ã‚Œã¦ã„ã‚‹ã‹ã¨ã„ã†ã¨ã€attrd_updaterコマンドã«ã‚ˆã‚‹å±žæ€§å€¤ã®æ›´æ–°ã§ã™ã€‚
属性値ã¯ã€crm_monコマンドã«ã€Œ-Aã€ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’è¿½åŠ ã™ã‚‹ã¨è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
nakaã•ã‚“ã®è¨å®šã§ã¯ã€ã€Œeth0_ping_set 200ã€ãŒè¦‹ãˆã¦ãã‚‹ã®ã§ã¯ãªã„ã§ã—ょã†ã‹ã€‚
crm_mon -A コマンドを実行ã—ãŸçŠ¶æ…‹ã§
pingコマンドãŒæˆåŠŸã—ãŸå ´åˆã€å±žæ€§å€¤ã¯200ã¨è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
pingコマンドãŒå¤±æ•—ã—ãŸå ´åˆã€å±žæ€§å€¤ã¯0ã¨è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
ã¾ãŸã€ping RAを使用ã™ã‚‹å ´åˆã€location制約もè¨å®šã—ã¾ã™ã€‚
http://linux-ha.osdn.jp/wp/archives/3868#location è¨å®šä¾‹) 1.1ç³»ã®è¨å®šä¾‹ã§ã™ãŒã€locationã¯1.0系もåŒã˜ã§ã™ã€‚
http://linux-ha.osdn.jp/wp/archives/4377#pingLAN location <location ID> <リソースå> \
rule -INFINITY: not_defined eth0_ping_set or eth0_ping_set lt 200 \
上記ã®locationè¨å®šã§ã¯
(1) 「eth0_ping_setã€ã¨ã„ã†å±žæ€§å€¤ãŒè¨å®šã•ã‚Œã¦ã„ãªã„(not_defined)
ã¾ãŸã¯
(2) 「eth0_ping_setã€ã¨ã„ã†å±žæ€§å€¤ãŒ200よりå°ã•ã„(lt 200)
ã„ã†æ¡ä»¶ã«ãŠã„ã¦ã€ã€Œãƒªã‚½ãƒ¼ã‚¹ã€ã¯èµ·å‹•ã§ãã¾ã›ã‚“。
ã‚„ã‚„ã“ã—ã„。。。
ã–ã£ãã‚Šã„ã†ã¨ã€ã€Œeth0_ping_setã€ã¨ã„ã†å±žæ€§å€¤ãŒ200ã ã£ãŸå ´åˆã«ã€ãƒªã‚½ãƒ¼ã‚¹ã¯èµ·å‹•ã§ãã‚‹ã£ã¦ã“ã¨ã§ã™ã。
ã§ã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãŒæ•…éšœã™ã‚‹ã¨ã€ã“ã®å±žæ€§å€¤ãŒ0ã«ãªã‚‹ã®ã§
(2)ã®æ¡ä»¶ã«ã‚ã¦ã¯ã¾ã‚Šã€ãƒªã‚½ãƒ¼ã‚¹ã¯ãƒ•ã‚§ã‚¤ãƒ«ã‚ªãƒ¼ãƒã—ã¾ã™ã€‚
ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãŒå¾©æ—§ã™ã‚‹ã¨ã€å±žæ€§å€¤ãŒ200ã«æˆ»ã‚Šã€ãƒªã‚½ãƒ¼ã‚¹ãŒãƒ•ã‚§ã‚¤ãƒ«ãƒãƒƒã‚¯å¯èƒ½ãªçŠ¶æ…‹ã¨ãªã‚Šã¾ã™ã€‚
ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãŒé€£ç¶šçš„ã«æ•…éšœã™ã‚‹ã¨ã€ãƒªã‚½ãƒ¼ã‚¹ã®ãƒ•ã‚§ã‚¤ãƒ«ã‚ªãƒ¼ãƒ/フェイルãƒãƒƒã‚¯ãŒé€£ç¶šã—ã¦ç™ºç”Ÿã™ã‚‹ã®ã¯ã“ã®ãŸã‚ã§ã™ã€‚
nakaã•ã‚“ã®ç’°å¢ƒã§ã¯
ノード1ã®pingãŒå¤±æ•— → リソースã¯ãƒŽãƒ¼ãƒ‰1ã«ãƒ•ã‚§ã‚¤ãƒ«ã‚ªãƒ¼ãƒ
ノード1ã®pingãŒå¾©æ—§ → リソースã¯ãƒŽãƒ¼ãƒ‰2ã«å±…残る(resource-stickiness="INFINITY")
ノード2ã®pingãŒå¤±æ•— → リソースã¯ãƒŽãƒ¼ãƒ‰2ã«ãƒ•ã‚§ã‚¤ãƒ«ãƒãƒƒã‚¯
ã‚’ç¹°ã‚Šè¿”ã—ãŸã®ã§ã¯ãªã„ã§ã—ょã†ã‹ã€‚
ping RAã¯ã€ã“ã®ã‚ˆã†ãªä»•æ§˜ãªã®ã§
> pingリソースã§F/Oã®ä¸Šé™å›žæ•°ã®è¨å®šã¯ã§ãã‚‹ã‚‚ã®ã§ã—ょã†ã‹ï¼Ÿ
> (例ãˆã°3回F/Oç¹°ã‚Šè¿”ã—ãŸã‚‰åœæ¢ã™ã‚‹ã¨ã‹ï¼‰
残念ãªãŒã‚‰ã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯æ•…éšœã§ã“ã®å‹•ä½œã‚’実ç¾ã™ã‚‹ã“ã¨ã¯ã§ããªã„ã¨æ€ã„ã¾ã™ã€‚
ãªãŠã€åŽ³å¯†ã«ã„ã†ã¨ã€ä»–ã®ãƒªã‚½ãƒ¼ã‚¹ã§ã‚‚「F/Oç¹°ã‚Šè¿”ã—ãŸã‚‰åœæ¢ã€ã¨ã„ã†è¨å®šã¯å¾®å¦™ãªã¨ã“ã‚ã§
migration-thresholdã«è¨å®šã•ã‚ŒãŸã€Œæ•…障上é™å€¤ã€ã¾ã§åŒä¸€ãƒŽãƒ¼ãƒ‰ã§ã€Œå†èµ·å‹•ã€ã™ã‚‹ã€ã¨ã„ã†å‹•ä½œã«ãªã‚‹ã®ã§
ファイルオーãƒã®ä¸Šé™å›žæ•°ã‚’è¨å®šã™ã‚‹ã“ã¨ã¯ã§ããªã„ã¯ãšã§ã™ã€‚
フェイルオーãƒã®ä¸Šé™å›žæ•°ã¨ã¯ã¾ãŸã¡ã‚‡ã£ã¨é•ã„ã¾ã™ãŒ
フェイルカウントãŒä¸Šé™ã¾ã§é”ã—ãŸãƒŽãƒ¼ãƒ‰ã§ã¯ãƒªã‚½ãƒ¼ã‚¹ãŒèµ·å‹•ã§ããªã„動作を実ç¾ã™ã‚‹ãŸã‚ã«
ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯æ•…障を契機ã«ãƒ•ã‚§ã‚¤ãƒ«ã‚«ã‚¦ãƒ³ãƒˆã‚’æ›´æ–°ã™ã‚‹ã€ã¨ã„ã†è¨å®šæ¡ˆã¨ã—ã¦ã¯
例ãˆã°ã€anything RAを使ã£ã¦ã¿ã‚‹ã€ãªã©ã‚‚ã‚ã‚Šã¾ã™ãŒ
https://github.com/ClusterLabs/resource-agents/blob/v3.9.7/heartbeat/anything nakaã•ã‚“ã®ç’°å¢ƒã¯ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ã¿ãŸæ„Ÿã˜ã€ç©æ¥µçš„ã«æ–°è¦ãƒªã‚½ãƒ¼ã‚¹ã‚’è¿½åŠ ã—ã¦ã¾ã§
ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯æ•…éšœã«å¯¾å¿œã—ãŸã„ï¼ã¨ã„ã†ã®ã‚‚ãªã‹ãªã‹é›£ã—ãã†ã§ã™ã—
ç¾å®Ÿçš„ãªè§£ã¨ã—ã¦ã¯ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚²ãƒ¼ãƒˆã‚¦ã‚§ã‚¤ã®ãƒ’トã«
ã‚ã‚“ã¾ã‚Šå£Šã‚Œãªã„ã§ãã€ã¨ãŠé¡˜ã„ã™ã‚‹æ„Ÿã˜ãªã®ã‹ãªã€ã¨ã„ã†æ°—ã‚‚ã—ã¾ã™ãŒã€‚。。
デフォルトゲートウェイãŒã©ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯æ©Ÿå™¨ã«ãã£ã¤ã„ã¦ã„ã‚‹ã®ã‹ã«ã‚‚よりã¾ã™ãŒ
L3ã¨ã‹ã ã¨ã€ãれ自体も冗長化ã•ã‚Œã¦ã„ã¦æ•°ç§’å˜ä½ã§åˆ‡ã‚Šæ›¿ã‚ã£ã¦ãれるã¯ãšãªã®ã§
瞬æ–ã‚’ç¹°ã‚Šè¿”ã—ã¦ã‚‚ã€ping RAã®ãƒªãƒˆãƒ©ã‚¤å‡¦ç†ã§å†æ¤œå‡ºã§ãã¾ã™ã€‚
以å‰ã€ãƒ•ã‚¡ã‚¤ã‚¢ã‚¦ã‚©ãƒ¼ãƒ«æ©Ÿå™¨ã‚’ping対象ã«ã—ãŸã“ã¨ãŒã‚ã‚Šã¾ã™ãŒ
ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯æ‹…当ã®äººã«ã‚ˆã話をèžãã¨ã€Œã“ã®ãƒ•ã‚¡ã‚¤ã‚¢ã‚¦ã‚©ãƒ¼ãƒ«ã¯åˆ‡ã‚Šæ›¿ãˆã«
10分ãらã„ã‹ã‹ã‚Šã¾ã™ã€ã¨è¨€ã‚ã‚Œã€æ…Œã¦ã¦åŒã˜ã‚»ã‚°ãƒ¡ãƒ³ãƒˆå†…ã§L3を探ã—ãŸã“ã¨ã¯ã‚ã‚Šã¾ã™ã€‚
# æ°—ã¥ã„ãŸãã£ã‹ã‘ã¯ãã®ãƒ•ã‚¡ã‚¤ã‚¢ã‚¦ã‚©ãƒ¼ãƒ«ãŒãŸã¾ãƒ¼ã«ICMPã‚’
# ドãƒãƒƒãƒ—ã™ã‚‹ã¨ã„ã†è¬Žå‹•ä½œã‚’ã—ã¦ã„ãŸã‹ã‚‰ã§ã™ãŒã€‚
ã‚ã¨ã€ã‚ã¾ã‚Šã«ã‚‚よã壊れる(ã¨ã„ã†ã‹ç–Žé€šãŒã¶ã£ã¡ãŽã‚Œã‚‹)経路をpingå…ˆã«ã—ã¦ã—ã¾ã£ãŸç’°å¢ƒã§ã¯
æ½”ããƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ç›£è¦–ã¯è«¦ã‚ã¦(仮想環境ã ã£ãŸã¦ã„ã†ã®ã‚‚ã‚ã‚Šã¾ã™ãŒ)ã€
127.0.0.1ã‚’pingå…ˆã«å¤‰æ›´ã—ãŸã¨ã„ã†è©±ã‚‚èžãã¾ã—ãŸã€‚
以上よã‚ã—ããŠé¡˜ã„ã„ãŸã—ã¾ã™ã€‚
æ± ç”°æ·³å
差出人: Keisuke Nakamura
é€ä¿¡æ—¥æ™‚: 2016å¹´11月25æ—¥ 14:03
宛先: linux-ha-japan@lists.osdn.me
件å: [Linux-ha-jp] pingリソースã®fail-countã«ã¤ã„ã¦
関係者å„ä½
ãŠä¸–話ã«ãªã£ã¦ãŠã‚Šã¾ã™ã€‚nakaã¨ç”³ã—ã¾ã™ã€‚
環境:
CentOS 6.2(x86_64)
pacemaker-1.0.12-1.el6.x86_64
heartbeat-3.0.5-1.1.el6.x86_64
(質å•)
pingリソースã®fail-countã«ã¤ã„ã¦è³ªå•ã§ã™ã€‚
pingリソースを利用ã—デフォルトゲートウェイã¸ã®ç–Žé€šç›£è¦–
ã‚’è¨å®šã—ã¦ã„ã‚‹2ノードクラスタ構æˆã‚’組んã§ãŠã‚Šã¾ã™ã€‚
先日弊社環境ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯éšœå®³ã®å½±éŸ¿ã§æ•°åˆ†é–“ã€ä¸¡ãƒŽãƒ¼ãƒ‰ã¨ã‚‚
デフォゲã¸ã®ç–Žé€šãŒä¸å®‰å®šãªçŠ¶æ…‹ã¨ãªã‚Šã€ä¸Šè¨˜ã®pingリソースã§ã®
異常を契機ã«ã‚¯ãƒ©ã‚¹ã‚¿ã‚°ãƒ«ãƒ¼ãƒ—リソースã®F/OãŒç¹°ã‚Šè¿”ã—è¡Œã‚ã‚Œã¾ã—ãŸã€‚
ãã®å¾Œãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãŒå¾©æ—§å¾Œã¯ã€ç¹°ã‚Šè¿”ã—è¡Œã‚ã‚Œã¦ã„ãŸF/Oã‚‚æ¢ã¾ã‚Šã€
サービスもæ£å¸¸ã«èµ·å‹•ã—ã¦ã„る状態ã¨ãªã‚Šã¾ã—ãŸã€‚
障害直後crm_monã§çŠ¶æ…‹ã‚’ã¿ã¦ã‚‚ã€fail-countãŒåŠ ç®—ã•ã‚Œã¦ãªã
failed actionも表示ã•ã‚Œãªã‹ã£ãŸã®ã§ã™ãŒã€pingリソースã§
F/Oã®ä¸Šé™å›žæ•°ã®è¨å®šã¯ã§ãã‚‹ã‚‚ã®ã§ã—ょã†ã‹ï¼Ÿï¼ˆä¾‹ãˆã°3回F/O
ç¹°ã‚Šè¿”ã—ãŸã‚‰åœæ¢ã™ã‚‹ã¨ã‹ï¼‰
fail-countã«ã¤ã„ã¦ã®æƒ…å ±ã‚’æŽ¢ã—出ã›ãšã€å½“メールã«ã¦ã”相談
ã•ã›ã¦é ‚ãã¾ã—ãŸã€‚ãŠæ‰‹éš™ã®æ™‚ã«ã”æ•™æŽˆé ‚ã‘ã¾ã™ã¨å¹¸ã„ã§ã™ã€‚
(ç¾çŠ¶è¨å®šå€¤ã®ä¸€éƒ¨â†“)
primitive res_ping ocf:pacemaker:ping \
params name="eth0_ping_set" host_list="10.1.0.1"
multiplier="200" dampen="1" debug="true" attempts="10" \
op monitor interval="10s" timeout="60" \
op start interval="0" timeout="60"
…ä¸ç•¥â€¦
property $id="cib-bootstrap-options" \
dc-version="1.0.12-066152e" \
cluster-infrastructure="Heartbeat" \
stonith-enabled="false" \
no-quorum-policy="ignore" \
default-action-timeout="120s" \
last-lrm-refresh="1463626573"
rsc_defaults $id="rsc-options" \
resource-stickiness="INFINITY"
以上ã€å®œã—ããŠé¡˜ã„致ã—ã¾ã™ã€‚
_______________________________________________
Linux-ha-japan mailing list
Linux-ha-japan@lists.osdn.me
http://lists.osdn.me/mailman/listinfo/linux-ha-japan