पिछले ब्लॉग पोस्ट में, मैंने आपके RAC कार्यान्वयन को N+1 अतिरेक के साथ डिज़ाइन करने के बारे में बात की थी। यह सुनिश्चित करता है कि एक नोड का नुकसान शेष नोड्स को प्रभावित नहीं करता है यदि एक नोड विफल हो जाता है। आज, मैं सर्वर समेकन के प्रभाव, विशेष रूप से CPU कोर, और इसके संभावित N+1 प्रभावों पर चर्चा करने जा रहा हूँ।
आज मैं जिन मुख्य प्रणालियों पर काम कर रहा हूं उनमें से एक चार नोड ओरेकल आरएसी क्लस्टर है। प्रत्येक नोड में 4 कोर होते हैं। मुझे अपने परिवेश में सभी 16 कोर (4 कोर/नोड * 4 नोड्स =16 कुल कोर) के लिए लाइसेंस प्राप्त है। मैंने इस प्रणाली को N+1 अतिरेक के साथ डिज़ाइन किया है। अगर मैं एक नोड खो देता हूं, और 4 कोर खो देता हूं, तो मैं अभी भी अच्छा हूं क्योंकि मेरे कार्यभार की मांग को सामान्य, स्वीकार्य स्तर के प्रदर्शन को बनाए रखने के लिए केवल 12 कोर की आवश्यकता होती है।
जब इस प्रणाली को शुरू में डिजाइन किया गया था, तो 4-कोर सर्वर आम थे। आज का माहौल अलग है और 4-कोर सर्वर ढूंढना कठिन होता जा रहा है। वे अभी भी मौजूद हैं, लेकिन हार्डवेयर विक्रेता अधिक कोर काउंट वाले सिस्टम को आगे बढ़ा रहे हैं।
हाल ही में मेरे SysAdmin के साथ बातचीत में, वह हमारे 3 साल पुराने सर्वर को बदलने के लिए 6-कोर सिस्टम का ऑर्डर देना चाहता था। खैर हम बस ऐसा नहीं कर सकते। मेरा Oracle लाइसेंस 16 कोर के लिए है। मैं तीन 6-कोर सिस्टम तैनात कर सकता था, लेकिन तब मेरे पास क्लस्टर में कुल 18 कोर होंगे और मुझे Oracle लाइसेंस के लिए 2 और कोर की आवश्यकता होगी। अगर मैं दो 6-कोर सिस्टम तैनात करता, तो मेरे पास कुल 12 कोर होते और 4 कोर मूल्य के लाइसेंस अप्रयुक्त होते।
मैंने SysAdmin को हमारे N+1 डिज़ाइन के बारे में भी सूचित किया। 6-कोर सिस्टम में जाने का प्रभाव N+1 डिज़ाइन पर बड़ा प्रभाव डाल सकता है। याद रखें कि मैंने पहले कहा था कि सामान्य परिचालन स्तरों को बनाए रखने के लिए हमारी कार्यभार मांगों को 12 कोर की आवश्यकता होती है। यदि हम 6-कोर मशीनों को तैनात करते हैं, तो उनमें से दो हमारी आवश्यकताओं को पूरा करती हैं और दूसरा नोड, "+1", यह सुनिश्चित करने के लिए आवश्यक होगा कि हम प्रदर्शन पर बड़े प्रभाव के बिना एक नोड खो सकते हैं। हमें अपने N+1 डिज़ाइन लक्ष्य को अक्षुण्ण रखने के लिए तीन 6-कोर मशीनों को तैनात करने की आवश्यकता होगी। लेकिन इसका मतलब है कि जैसा कि मैंने पहले कहा था, हमें अपने लाइसेंस की संख्या बढ़ाने की जरूरत है।
इस समय, मेरे SysAdmin ने सोचा कि उसके पास एक अच्छा विचार है...हम दो 8-कोर सर्वर खरीद सकते हैं। यह अभी भी कुल 16 कोर हैं और वास्तव में हमें आज के लिए लाइसेंस प्राप्त है। लाइसेंस फीस में कोई बढ़ोतरी नहीं लेकिन अगर हम एक नोड खो देते हैं, तो हम ऑपरेशन में कुल 8 कोर तक नीचे चले जाते हैं जो कि मेरी जरूरत से कम है। यह एक बहुत अच्छी बात सामने लाता है…
अभी, कोई आसान जवाब नहीं है। हम अभी भी 4-कोर सर्वर खरीद सकते हैं ताकि हम अगले साल मौजूदा सर्वर को बदल दें। लेकिन एक दिन ऐसा आएगा जब 4-कोर सर्वर ढूंढना असंभव होगा। हमारे N+1 डिज़ाइन लक्ष्यों को ध्यान में रखते हुए, हमें उस समय तक एक योजना बनानी होगी।
यदि केवल मैं अपने Linux सर्वरों को हार्ड-पार्टीशन कर सकता और कोर को निष्क्रिय रहने देता और अभी भी हमारे Oracle लाइसेंस अनुबंधों का अनुपालन करता।