सर्वर डाउन होने की स्थिति में HAProxy स्विच


13

मान लीजिए कि मेरे पास 2 सर्वर हैं - SA और SB। क्या इस तरह काम करने के लिए HAProxy को कॉन्फ़िगर करना संभव है:

सभी कनेक्शन SA -> SA में जाते हैं -> HAProxy सभी कनेक्शनों को SB में स्विच करता है -> जब तक SB डाउन नहीं होता - कोई कनेक्शन SA में नहीं जाता, भले ही वह फिर से ऊपर हो -> SB नीचे -> HAProxy SA पर स्विच करता है। ।

संक्षेप में मैं HAProxy को तभी चालू करना चाहूंगा जब वर्तमान सर्वर नीचे चला जाएगा। शायद मुझे HAProxy के अलावा sth का उपयोग करना चाहिए?

जवाबों:


22

इस विन्यास की जाँच करें:

listen my-server 0.0.0.0:80
    balance roundrobin
    server web01 10.10.10.1:80 check inter 10s fall 3 rise 99999999
    server web02 10.10.10.2:80 check backup

सभी अनुरोध डिफ़ॉल्ट रूप से web01 को हिट करेंगे। web02 का उपयोग नहीं किया जाएगा। यदि web01 जवाब देना बंद कर देता है, तो 30s (10 सेकंड के अंतराल पर 3 चेक) के बाद सर्वर ऑफ़लाइन हो जाएगा। web02 को ऑनलाइन लाया जाएगा और सभी अनुरोध इसे हिट करेंगे।

यदि web01 ठीक हो जाता है, तो इसे केवल 1099 सेकंड के अंतराल पर 99999999 की जाँच के बाद ही ऑनलाइन वापस लाया जाएगा - जो प्रभावी रूप से कभी भी नहीं है।


यह दिलचस्प लग रहा है। मैं आपके और @ डेनिस समाधान की कोशिश करूँगा। मुझे कुछ परीक्षण भी करने होंगे ताकि मुझे कुछ परिणाम मिल सकें। धन्यवाद।
जो

1
क्या मैन्युअल रूप से web01 ऑफ़लाइन लेना संभव है? Web01 को बंद नहीं कर रहा है / इसकी प्रक्रिया को मार रहा है, बस इसे नीचे चिह्नित करें?
लिम्बो पेंग

FYI करें: inter2s के लिए चूक, fall2 के लिए डिफ़ॉल्ट, और 2 के लिए riseडिफ़ॉल्ट। अधिक यहां देखे
यहोशू Pinter

5
-1, 31 साल के अपटाइम के बाद सॉल्यूशन ने काम करना बंद कर दिया = P
गैस्पा79

6

यदि आपके पास केवल दो हैं, और ठीक दो सर्वर हैं, तो आप उस सेवा के लिए वीआईपी का उपयोग करने के लिए अधिक समझदारी बना सकते हैं जिसे आप पेसमेकर / कोरोसिंक के माध्यम से प्रबंधित करते हैं ताकि यह अत्यधिक उपलब्ध हो सके।

एसबी को बैकअप सर्वर के रूप में चिह्नित करके यह हाइप्रोच के साथ भी संभव है। इस तरह से इसका उपयोग तब किया जाता है जब SA उपलब्ध नहीं होता है:

backend mybackend
mode            http
balance         roundrobin
option          httpchk /test.html
server          server1.example.com server1.example.com:80 weight 1 check port 80 inter 5s rise 3 fall 2
server          server2.example.com server2.example.com:80 backup weight 1 check port 80 inter 5s rise 3 fall 2

हालाँकि, यह जो आप चाहते हैं उसके दो भाग को पूरा नहीं करता है: जैसे ही यह वापस आएगा, यह A SA का उपयोग करना शुरू कर देगा। मुझे यकीन नहीं है कि क्या आप चाहते हैं कि haproxy व्यवहार करने का एक विकल्प है। मैंने कम से कम कभी इसका उपयोग नहीं किया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.