PowerDNS - सत्यापित करें कि एक मेजबान को हल करने से पहले है


0

मैं एक मास्टर / दास-प्रकार सेटअप का उपयोग करके ns1 और ns2 के रूप में PowerDNS चलाने वाले twp नाम सर्वर है, और यह अच्छी तरह से काम करता है। मैं सेवाएं प्रदान करने के लिए कई सर्वर बनाना चाहता हूं (यानी वेब, ईमेल, आदि), तो ns1 या ns2 (जो भी हिट हो) पर PowerDNS है एक होस्ट नाम से जुड़े कई आईपी में से एक को वापस करें जो इस बात पर निर्भर करता है कि मेजबान वास्तव में है और चल रहा है।

उदाहरण के लिए, मान लें कि मेरे पास दो वेब सर्वर हैं, एक्स और वाई। फिर मेरे पास DNS में दो ए रिकॉर्ड हैं ताकि वेबसर्वर.लोक कभी-कभी एक्स के आईपी और कभी-कभी वाई के आईपी तक पहुंच जाता है, जिसके परिणामस्वरूप एक राउंड-रॉबिन प्रभाव होता है। उत्तम।

अब यदि X नीचे जाता है, तब भी यह काम करेगा, लेकिन क्लाइंट को Y को हिट करने का मौका मिलने से पहले समय निकालना होगा, जिसका अर्थ है कि आखिरकार वे उस स्थान पर पहुंचेंगे जहां वे जाना चाहते हैं, लेकिन अभी बहुत धीरे-धीरे। यदि X नीचे जाता है, तो मैं चाहूंगा कि इसका IP पता राउंड-रॉबिन की IP की सूची से हटा दिया जाए, ताकि DNS वेबसर्वर.लोक को हल करते समय केवल Y के IP को लौटा दे, जब तक कि ऐसे समय में X की मरम्मत न कर दी जाए वापस सेवा में।

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


डीएनएस अपडेट में हमेशा कई स्थानों पर कैशिंग के कारण विलंबता होती है। इसलिए मैं वर्चुअल आईपी और क्लस्टर मैनेजमेंट सॉफ्टवेयर का उपयोग करके इस समस्या को हल करूंगा, जो वर्चुअल आईपी को लाइव नोड में असाइन करेगा।
तेरो किलकेनन

@TeroKilkanen, क्या उपरोक्त राउंड-रॉबिन सेटअप करने की मेरी क्षमता को समाप्त नहीं करेगा?
निक कॉन्स

हाँ, इसे प्राप्त करने के लिए आपको एक लोड बैलेंसर की आवश्यकता होगी। यदि आपके लिए विलंबता (कुछ मिनटों की अनुपलब्धता) से कोई फर्क नहीं पड़ता है, तो आप एक स्क्रिप्ट सेट कर सकते हैं जो PowerDNS ज़ोन की जानकारी को संपादित करती है और अपने डेटाबेस को फिर से लोड करने के लिए PowerDNS को बताती है।
Tero Kilkanen

वेब सर्वरों को संतुलित क्यों नहीं किया जाता है, जैसे कि उच्च उपलब्धता की आवश्यकता वाले लोग सामान्य रूप से करते हैं?
जोकेवेटी

@TeroKilkanen, आप सही कह रहे हैं, मैं ऐसा करने के लिए एक स्क्रिप्ट लिख सकता हूं .. मुझे यकीन नहीं था कि अगर इसे बनाने के लिए एक अंतर्निहित तरीका था जिससे मुझे स्क्रिप्ट बनाने की आवश्यकता नहीं होगी।
निक कॉन्स

जवाबों:


0

यह निर्धारित करने में असमर्थ कि यह पावरडएनएस में कुछ बनाया गया था या इसे संभालने के लिए एक अधिक "आधिकारिक" तरीका था, मैंने ऐसा करने के लिए अपना खुद का कार्यक्रम बनाने का मार्ग लिया। कार्यक्रम सामान्य रूप से अधिक है "यदि मेजबान नीचे जाता है, तो उपयोगकर्ता-परिभाषित कार्रवाई करें" इसके बजाय विशेष रूप से इसके लिए ताकि इसके व्यापक अनुप्रयोग हों।

मैंने इसे किसी और के लिए सार्वजनिक रूप से उपलब्ध कराया है: https://github.com/hyperionworks/pulse/


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