दिल की धड़कन, पेसमेकर और कॉरोस्क्यू के विकल्प?


26

क्या विशिष्ट हार्टबीट / पेसमेकर / कोरोस्क्यूनिक संयोजनों के अलावा लिनक्स पर स्वचालित विफलता के लिए कोई प्रमुख विकल्प हैं? विशेष रूप से, मैं EC2 इंस्टेंस पर फेलओवर स्थापित कर रहा हूं, जो केवल यूनिकास्ट का समर्थन करता है - कोई मल्टीकास्ट या प्रसारण नहीं। मैं विशेष रूप से सॉफ्टवेयर के कुछ टुकड़ों को संभालने की कोशिश कर रहा हूं जो हमारे पास पहले से ही स्वचालित विफलता नहीं हैं और मल्टी-मास्टर वातावरण का समर्थन नहीं करते हैं। इसमें HAProxy और Solr जैसे उपकरण शामिल हैं।

मेरे पास हार्टबीट + पेसमेकर काम है, लेकिन मैं इससे रोमांचित नहीं हूं। यहाँ मेरे कुछ मुद्दे हैं:

  • दिल की धड़कन - अपने आप में, दो नोड्स तक सीमित। मुझे 3+ चाहिए।
  • पेसमेकर - स्वचालित रूप से कॉन्फ़िगर करने के लिए असंभव। क्लस्टर को कोरम के साथ चलना होता है और फिर उसे मैनुअल कॉन्फ़िगरेशन की आवश्यकता होती है।
  • CoroSync - यूनिकास्ट का समर्थन नहीं करता है।

पेसमेकर बहुत अच्छी तरह से काम करता है, हालांकि यह पावर सेटअप करने के लिए मुश्किल बनाता है। पेसमेकर के साथ वास्तविक समस्या यह है कि कॉन्फ़िगरेशन को स्वचालित करने का कोई आसान तरीका नहीं है। मैं वास्तव में एक ईसी 2 उदाहरण लॉन्च करना चाहता हूं, बावर्ची / कठपुतली स्थापित करना और मेरे हस्तक्षेप के बिना पूरे क्लस्टर लॉन्च करना।

जवाबों:


17

मैं उपयोग करना पसंद करते हैं keepalived उच्च उपलब्धता के लिए। मुझे दिल की धड़कन और कंपनी की तुलना में सेटअप (एक डेमॉन और कॉन्फिग) को सरल लगता है। एकमात्र कमी जो मैं चला रहा हूं, वह यह है कि डिफाल्ट डिफाल्ट के पास एक यूनिकास्ट विकल्प नहीं है, और केवल संचार के लिए वीआरआरपी का उपयोग करता है (हाप्रोसी के लेखक ने रख-रखाव के लिए एक यूनिकस्ट पैच लिखा है )


यूनिकस्ट एक जरूरी है, लेकिन मैं पैच पर एक नज़र डालूंगा।
ऑर्गेनोवेजी

4
+1 मुझे सभी "फेलओवर" स्थितियों में दिल की धड़कन का उपयोग करने के लिए इस्तेमाल किया गया था, जब तक कि मैं haproxy के लेखक द्वारा एक पोस्ट (कहीं) नहीं पढ़ता कि मैं इसे गलत क्यों कर रहा हूं (या कम से कम अक्षमता के साथ) और इसके बजाय रखने का उपयोग करना चाहिए । यह सब इस बात पर निर्भर करता है कि क्या महत्वपूर्ण बात विफल हो रही है एक नेटवर्क पथ (जैसे कि एक आईपी को एक अलग सर्वर पर रखना - सुरक्षित रखा गया), या किसी संसाधन तक केवल एकल पहुंच सुनिश्चित करने की आवश्यकता है (जैसे सैन कनेक्शन - दिल की धड़कन)।
Coops

5
यह मेल @Coops का जिक्र है, I belive formilux.org/archives/haproxy/1003/3259.html
हेनरिक

4
रिलीज 1.2.8 (2013-08-05) के बाद से keepalived Unicast का समर्थन करता है ( keepalived.org/changelog.html )।
डिनोम

परिचयात्मक लेख: opentodo.wordpress.com/2012/04/29/...
वादज़्मी

14

मैं वास्तव में आपके द्वारा वर्णित (EC2 पर एक असफल-ओवर क्लस्टर) के समान कुछ पर काम कर रहा हूं, और हार्टबीट को आज़माने के बाद, कोरोसिंक पर मेरी मैसेजिंग परत के रूप में बस गया। Corosync कई सर्वरों पर चलेगा और यह 1.3.0 संस्करण (Nov, 2010 से) के रूप में यूनिकैस्ट (UDPU) का समर्थन करता है। मैंने अमेज़ॅन के EC2 क्लाउड (अमेज़ॅन के लिनक्स एएमआई का उपयोग करके) पर सेटअप और परीक्षण किया है और यह समस्या के बिना काम करने की पुष्टि कर सकता है।

एक नमूना udpu फ़ाइल / etc / corosync पर स्थापित है।

प्रत्येक नोड के लिए इंटरफ़ेस अनुभाग में एक सदस्य ब्लॉक जोड़ें, और updu के रूप में परिवहन निर्दिष्ट करें। (मैंने नीचे दिए उदाहरण में दिल की धड़कन के समान पोर्ट का उपयोग किया है, लेकिन आप इसे वांछित रूप में बदल सकते हैं)।

उदाहरण के लिए:

totem {
        version: 2
        secauth: off
        interface {
                member {
                        memberaddr: 10.xxx.xxx.xxx
                }
                member {
                        memberaddr: 10.xxx.xxx.xxx
                }
                ringnumber: 0
                bindnetaddr: 10.xxx.xxx.xxx
                mcastport: 694
        }
        transport: udpu
}

(हार्टबीट 1.2.3+ संस्करणों में 3+ नोड क्लस्टर का समर्थन करने वाला है, हालांकि, मैंने इसे व्यक्तिगत रूप से कभी नहीं आज़माया है, और यह नहीं जानता कि यह यूनिकैस्ट के साथ काम करेगा)।


मेरे पास udpu का उपयोग करके 3 मशीनों का एक समूह है, और यह ठीक काम किया है। आप बस उनके साथ सदस्य ब्लॉक जोड़ते रहें।
देवीकेनुल्ल

11

क्षमा करें, लेकिन पेसमेकर के बारे में यह सच नहीं है। पेसमेकर प्रतिगमन और रिलीज परीक्षण स्वचालन का व्यापक उपयोग करते हैं।

एक सक्रिय क्लस्टर के बिना कॉन्फ़िगर करने के लिए, CIB_file=/var/lib/heartbeat/crm/cib.xmlअपने वातावरण में सभी कमांड को उपसर्ग या सेट करें। बस सुनिश्चित करें कि आप क्लस्टर शुरू करने से पहले .sig फ़ाइल को हटा दें।

कोरम के बिना क्लस्टर के लिए, यदि सभी साधनों का समर्थन नहीं करना चाहिए -fया --forceजो क्लस्टर को वैसे भी परिवर्तन को स्वीकार करने का निर्देश देगा। यदि आपको कोई ऐसा उपकरण मिलता है जो नहीं करता है - तो कृपया बग दर्ज करें।


क्षमा करें, मेरी राय पेसमेकर मेलिंग सूची से मिली प्रतिक्रिया पर आधारित थी। मैं आपके सुझाव को एक शॉट दूंगा।
ऑर्गेनोवेगिनी

3

ओपन सोर्स वर्ल्ड में, रेडहैट क्लस्टर सूट है । आरएचसीएस लागू किए हुए कई साल हो चुके हैं, इसलिए मेरे पास इसके बारे में कहने के लिए कई प्रासंगिक चीजें नहीं हैं।

व्यावसायिक रूप से, वेरिटास क्लस्टर सर्वर है । इसके साथ कोई अनुभव नहीं।

एक बहुत सरल और खुला स्रोत हा उपकरण UCARP है । UCARP लगभग एक ही तरह का "बुनियादी ढाँचा" प्रदान नहीं करता है जिसे हार्टबीट / पेसमेकर / कोरोस्क्यू करता है लेकिन आप इसके चारों ओर HA समाधान बना सकते हैं।

आप वर्चुअलाइजेशन प्रौद्योगिकियों के साथ अत्यधिक उपलब्ध बुनियादी ढांचे का निर्माण भी कर सकते हैं, लेकिन ये समाधान मेजबान स्तर की उपलब्धता पर ध्यान केंद्रित करते हैं क्योंकि आवेदन स्तर की उपलब्धता के विपरीत है।


धन्यवाद। मैं आरएचसीएस, वीसीएस और यूसीएआरपी पर एक नज़र डालूंगा। मैंने अपने प्रश्न को इस तथ्य को प्रतिबिंबित करने के लिए अपडेट किया है कि मैं अमेज़ॅन ईसी 2 का उपयोग कर रहा हूं, इसलिए होस्ट-स्तरीय उपलब्धता कुछ ऐसा नहीं है जिसका मेरे पास बहुत अधिक नियंत्रण है ... इसलिए मैं आवेदन स्तर की उपलब्धता को देख रहा हूं।
ऑर्गेनोवेगिनी

1

ओरेकल अनब्रेकेबल लिनक्स के लिए ओरेकल क्लस्टरवेयर है, हालांकि मैंने इसका उपयोग नहीं किया है।


1

यदि आप पहले से ही EC2 का उपयोग कर रहे हैं, तो लोचदार लोड संतुलन का उपयोग क्यों नहीं करें ? यह आपको फेलओवर को कॉन्फ़िगर करने के बिना एप्लिकेशन स्तर की उपलब्धता प्राप्त करने देगा।


कई कारणों से ईएलबी फिट नहीं होता है। सबसे पहले, ELB केवल सार्वजनिक इंटरनेट से आने वाले अनुरोधों के लिए काम करता है - इसका उपयोग आंतरिक अनुरोधों के लिए नहीं किया जा सकता है, जब तक कि आप अपने अनुरोधों को ELB के सार्वजनिक पते पर नहीं भेजते हैं और फिर सभी ट्रैफ़िक के लिए भुगतान करते हैं। दूसरा, ईएलबी एक बहुत ही सरल बैलेंसर है - आप किसी भी नियम या पैटर्न को लागू नहीं कर सकते हैं कि यह कैसे काम करता है और आपके पास स्टैंड-बाय सर्वर नहीं हो सकते। उदाहरण के लिए, आप एक ही वेब सर्वर पर सक्रिय रूप से इंगित करने के लिए दो अलग-अलग HAProxy उदाहरण नहीं चाहते हैं क्योंकि उन्हें लक्ष्य वेब सर्वर पर वास्तविक लोड का कोई विचार नहीं होगा।
ऑर्गेनोवेगी

1

वेरिटास क्लस्टर (लिनक्स-हार्टबीट, एआईएक्स-एचसीएमपी, एचपी-सर्विसगार्ड और सन क्लस्टर की तुलना में) महान है, लेकिन इसमें बहुत पैसा खर्च होता है। पिछली बार जब मैंने इसे देखा था तो इसकी कीमत क्लस्टर के सीपीयू-कोर पर आधारित थी। वर्तमान विक्रेता ist Symantec ...


0

मैंने पॉज़िक्स शेल में एक फेलओवर क्लस्टर मैनेजर लिखा: https://github.com/nackstein/back-to-work

इस पर एक नज़र डालें, मैं किसी ऐसे व्यक्ति की तलाश में हूं जो इसे आज़माना चाहता है और विकास में मदद करना चाहता है।


0

Openvc ( https://www.opensvc.com ) कई दिल की धड़कन चालकों का समर्थन करता है:

  • यूनिकास्ट
  • बहुस्त्र्पीय
  • साझा डिस्क
  • 3 साइट रिले

और विभाजित मस्तिष्क के मामले में कोरम mecanism भी है।

मैं स्वचालित रूप से 2 Google क्लाउड इंस्टेंस + 2 अमेज़ॅन इंस्टेंस के साथ टेराफ़ॉर्म + ansible से बने 4 नोड क्लस्टर बनाने में कामयाब रहा।

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