دو نوڈس کا جھرمٹ - شیطان تفصیلات میں ہے۔

ارے حبر! مضمون کا ترجمہ آپ کی توجہ میں پیش کرتا ہوں۔ "دو نوڈس - شیطان تفصیلات میں ہے" اینڈریو بیکخوف کے ذریعہ۔

بہت سے لوگ دو نوڈ کلسٹرز کو ترجیح دیتے ہیں کیونکہ وہ تصوراتی طور پر آسان لگتے ہیں اور اپنے تین نوڈ ہم منصبوں کے مقابلے میں 33 فیصد سستے بھی ہیں۔ اگرچہ دو نوڈس کے ایک اچھے کلسٹر کو اکٹھا کرنا کافی ممکن ہے، لیکن زیادہ تر معاملات میں، غیر غور شدہ منظرناموں کی وجہ سے، اس طرح کی ترتیب بہت سے غیر واضح مسائل پیدا کرے گی۔

کسی بھی اعلی دستیابی کے نظام کو بنانے کا پہلا قدم ناکامی کے انفرادی نکات کو تلاش کرنا اور اسے ختم کرنے کی کوشش کرنا ہے، جسے اکثر مختصراً کہا جاتا ہے۔ ایس پی او ایف (ناکامی کا واحد نقطہ)۔

یہ بات ذہن میں رکھنے کے قابل ہے کہ کسی بھی نظام میں ڈاؤن ٹائم کے تمام ممکنہ خطرات کو ختم کرنا ناممکن ہے۔ یہ اس حقیقت سے پیدا ہوتا ہے کہ خطرے کے خلاف ایک عام دفاع کچھ فالتو پن کو متعارف کرانا ہے، جو نظام کی پیچیدگی میں اضافہ اور ناکامی کے نئے نکات کے ظہور کا باعث بنتا ہے۔ لہذا، ہم ابتدائی طور پر ایک سمجھوتہ کرتے ہیں اور ناکامی کے انفرادی پوائنٹس سے وابستہ واقعات پر توجہ مرکوز کرتے ہیں، نہ کہ متعلقہ اور اس وجہ سے، تیزی سے کم ممکنہ واقعات پر۔

تجارتی معاہدوں کو دیکھتے ہوئے، ہم نہ صرف SPOF کو تلاش کرتے ہیں، بلکہ خطرات اور نتائج کو بھی متوازن رکھتے ہیں، جس کے نتیجے میں کیا اہم ہے اور کیا نہیں ہے اس کا نتیجہ ہر ایک تعیناتی کے لیے مختلف ہو سکتا ہے۔

ہر کسی کو خود مختار پاور لائنوں کے ساتھ متبادل بجلی فراہم کرنے والوں کی ضرورت نہیں ہے۔ اگرچہ کم از کم ایک گاہک کے لیے جب ان کی نگرانی میں ایک ناقص ٹرانسفارمر کا پتہ چلا تو پارونیا نے ادائیگی کی۔ گاہک نے فون کالز کر کے پاور کمپنی کو آگاہ کرنے کی کوشش کی یہاں تک کہ خراب ٹرانسفارمر پھٹ گیا۔

ایک قدرتی نقطہ آغاز سسٹم میں ایک سے زیادہ نوڈ کا ہونا ہے۔ تاہم، اس سے پہلے کہ سسٹم ناکامی کے بعد سروائیونگ نوڈ پر خدمات منتقل کر سکے، اسے عام طور پر اس بات کو یقینی بنانے کی ضرورت ہوتی ہے کہ جو خدمات منتقل کی جا رہی ہیں وہ کہیں اور فعال نہیں ہیں۔

دو نوڈ کلسٹر کا کوئی منفی پہلو نہیں ہے اگر ناکامی کے نتیجے میں دونوں نوڈس ایک ہی جامد ویب سائٹ کی خدمت کر رہے ہیں۔ تاہم، چیزیں بدل جاتی ہیں اگر نتیجہ یہ ہوتا ہے کہ دونوں فریق آزادانہ طور پر مشترکہ کام کی قطار کا انتظام کرتے ہیں یا نقل شدہ ڈیٹا بیس یا مشترکہ فائل سسٹم تک غیر مربوط تحریری رسائی فراہم کرتے ہیں۔

لہذا، ایک نوڈ کی ناکامی کے نتیجے میں ڈیٹا بدعنوانی کو روکنے کے لئے - ہم کسی چیز پر بھروسہ کرتے ہیں۔ "علیحدگی" (باڑ لگانا)۔

علیحدگی کا اصول

علیحدگی کے اصول کے مرکز میں یہ سوال ہے: کیا مسابقتی نوڈ ڈیٹا کی بدعنوانی کا سبب بن سکتا ہے؟ اگر ڈیٹا بدعنوانی ایک ممکنہ منظر ہے تو، ایک اچھا حل یہ ہوگا کہ نوڈ کو آنے والی درخواستوں اور مستقل اسٹوریج دونوں سے الگ کیا جائے۔ علیحدگی کا سب سے عام طریقہ ناقص نوڈس کو منقطع کرنا ہے۔

انحراف کے طریقوں کی دو قسمیں ہیں، جنہیں میں کال کروں گا۔ سیدھے и بالواسطہ، لیکن انہیں یکساں طور پر کہا جاسکتا ہے۔ فعال и غیر فعال. براہ راست طریقوں میں زندہ بچ جانے والے ساتھیوں کی جانب سے کی جانے والی کارروائیاں شامل ہیں، جیسے کہ IPMI (انٹیلیجنٹ پلیٹ فارم مینجمنٹ انٹرفیس) یا iLO (ان تک جسمانی رسائی کی عدم موجودگی میں سرورز کو منظم کرنے کا ایک طریقہ کار) ڈیوائس کے ساتھ تعامل، جبکہ بالواسطہ طریقے ناکام ہونے پر انحصار کرتے ہیں۔ نوڈ کو کسی طرح یہ پہچاننا کہ یہ غیر صحت مند حالت میں ہے (یا کم از کم دوسرے ممبروں کو صحت یاب ہونے سے روک رہا ہے) اور سگنل ہارڈ ویئر واچ ڈاگ ناکام نوڈ کو منقطع کرنے کی ضرورت کے بارے میں۔

کورم براہ راست اور بالواسطہ دونوں طریقے استعمال کرنے میں مدد کرتا ہے۔

براہ راست انحطاط

براہ راست علیحدگی کی صورت میں، ہم نیٹ ورک کی ناکامی کی صورت میں علیحدگی کی دوڑ کو روکنے کے لیے کورم کا استعمال کر سکتے ہیں۔

کورم کے تصور کے ساتھ، نوڈس کے لیے خود بخود معلوم کرنے کے لیے سسٹم میں کافی معلومات موجود ہیں (یہاں تک کہ اس کے ساتھیوں سے جڑے ہوئے بھی) کہ آیا انہیں علیحدگی اور/یا بحالی شروع کرنی چاہیے۔

کورم کے بغیر، نیٹ ورک کی تقسیم کے دونوں فریق بجا طور پر یہ فرض کریں گے کہ دوسرا فریق مر چکا ہے اور دوسرے کو الگ کرنے کی کوشش کریں گے۔ بدترین صورت میں، دونوں فریق پورے کلسٹر کو بند کرنے کا انتظام کرتے ہیں۔ ایک متبادل منظر نامہ ڈیتھ میچ ہے، نوڈس کا ایک نہ ختم ہونے والا لوپ ہے، اپنے ساتھیوں کو نہیں دیکھ رہا ہے، انہیں دوبارہ شروع کر رہا ہے، اور ریکوری شروع کرنا صرف دوبارہ شروع کرنے کے لیے جب ان کا ہم مرتبہ اسی منطق کی پیروی کرتا ہے۔

علیحدگی کے ساتھ مسئلہ یہ ہے کہ عام طور پر استعمال ہونے والے آلات انہی ناکامی کے واقعات کی وجہ سے دستیاب نہیں ہوتے ہیں جنہیں ہم بحالی کے لیے ہدف بنانا چاہتے ہیں۔ زیادہ تر IPMI اور iLO کارڈز ان میزبانوں پر نصب ہوتے ہیں جن پر وہ کنٹرول کرتے ہیں اور، بطور ڈیفالٹ، وہی نیٹ ورک استعمال کرتے ہیں، جس کی وجہ سے ہدف والے میزبانوں کو یقین ہوتا ہے کہ دوسرے میزبان آف لائن ہیں۔

بدقسمتی سے، آلات کی خریداری کے وقت IPMI اور iLo آلات کی آپریٹنگ خصوصیات پر شاذ و نادر ہی غور کیا جاتا ہے۔

بالواسطہ انحطاط

بالواسطہ علیحدگی کے انتظام کے لیے کورم بھی اہم ہے؛ اگر صحیح طریقے سے کیا جائے تو، کورم پسماندگان کو یہ فرض کرنے کی اجازت دے سکتا ہے کہ کھوئے ہوئے نوڈس ایک مخصوص مدت کے بعد محفوظ حالت میں منتقل ہو جائیں گے۔

اس ترتیب کے ساتھ، اگر کورم ختم نہیں ہوتا ہے تو ہارڈ ویئر واچ ڈاگ ٹائمر ہر N سیکنڈ میں دوبارہ ترتیب دیا جاتا ہے۔ اگر ٹائمر (عام طور پر N کے کئی ملٹیلز) کی میعاد ختم ہو جاتی ہے، تو آلہ ایک بے رحم پاور ڈاؤن (شٹ ڈاؤن نہیں) کرتا ہے۔

یہ نقطہ نظر بہت موثر ہے، لیکن کورم کے بغیر اس کا انتظام کرنے کے لیے کلسٹر کے اندر کافی معلومات نہیں ہیں۔ نیٹ ورک کی بندش اور پیر نوڈ کی ناکامی کے درمیان فرق بتانا آسان نہیں ہے۔ اس کی وجہ یہ ہے کہ دونوں صورتوں میں فرق کرنے کی صلاحیت کے بغیر، آپ دونوں صورتوں میں ایک ہی طرز عمل کا انتخاب کرنے پر مجبور ہیں۔

ایک موڈ کو منتخب کرنے میں مسئلہ یہ ہے کہ کوئی ایسا عمل نہیں ہے جو دستیابی کو زیادہ سے زیادہ بنائے اور ڈیٹا کے نقصان کو روکے۔

  • اگر آپ یہ فرض کرنے کا انتخاب کرتے ہیں کہ ایک پیر نوڈ فعال ہے لیکن حقیقت میں ناکام ہوجاتا ہے، تو کلسٹر غیر ضروری طور پر ان خدمات کو روک دے گا جو ناکام پیر نوڈ سے خدمات کے نقصان کی تلافی کے لیے چل رہی ہوں گی۔
  • اگر آپ یہ فرض کرنے کا فیصلہ کرتے ہیں کہ ایک نوڈ ڈاؤن ہے، لیکن یہ صرف ایک نیٹ ورک کی ناکامی تھی اور درحقیقت ریموٹ نوڈ کام کر رہا ہے، تو بہترین طور پر آپ نتیجے میں آنے والے ڈیٹا سیٹس کے مستقبل میں کچھ دستی مفاہمت کے لیے سائن اپ کر رہے ہیں۔

اس سے قطع نظر کہ آپ کیا ہیورسٹک استعمال کرتے ہیں، ایک ایسی ناکامی پیدا کرنا معمولی بات ہے جو یا تو دونوں فریقوں کو ناکام بنائے گی یا کلسٹر کو بچ جانے والے نوڈس کو بند کرنے کا سبب بنے گی۔ کورم کا استعمال نہ کرنا واقعی اس کے ہتھیاروں میں سے ایک سب سے طاقتور ٹول سے محروم ہو جاتا ہے۔

اگر کوئی دوسرا متبادل نہیں ہے تو، بہترین طریقہ دستیابی کو قربان کرنا ہے (یہاں مصنف CAP تھیوریم کا حوالہ دیتا ہے)۔ کرپٹڈ ڈیٹا کی زیادہ دستیابی کسی کی مدد نہیں کرتی، اور مختلف ڈیٹا سیٹس کو دستی طور پر ملانا بھی مزہ نہیں ہے۔

کورم

کورم بہت اچھا لگتا ہے، ٹھیک ہے؟

صرف منفی پہلو یہ ہے کہ اسے N اراکین کے ساتھ کلسٹر میں رکھنے کے لیے، آپ کو اپنے باقی نوڈس کے N/2+1 کے درمیان کنکشن ہونا ضروری ہے۔ جو ایک نوڈ کے فیل ہونے کے بعد دو نوڈ کلسٹر میں ممکن نہیں ہے۔

جو بالآخر ہمیں دو نوڈس کے ساتھ بنیادی مسئلے کی طرف لاتا ہے:
دو نوڈ کلسٹرز میں کورم کا کوئی مطلب نہیں ہے، اور اس کے بغیر قابل اعتماد طریقے سے کارروائی کے طریقہ کار کا تعین کرنا ناممکن ہے جو دستیابی کو زیادہ سے زیادہ کرتا ہے اور ڈیٹا کے نقصان کو روکتا ہے۔
یہاں تک کہ کراس اوور کیبل کے ذریعے جڑے ہوئے دو نوڈس کے نظام میں، نیٹ ورک کی بندش اور دوسرے نوڈ کی ناکامی کے درمیان قطعی طور پر فرق کرنا ناممکن ہے۔ ایک سرے کو غیر فعال کرنا (جس کا امکان یقیناً نوڈس کے درمیان فاصلے کے متناسب ہے) کسی بھی مفروضے کو باطل کرنے کے لیے کافی ہو گا کہ لنک کی صحت پارٹنر نوڈ کی صحت کے برابر ہے۔

دو نوڈ کلسٹر کا کام بنانا

بعض اوقات کلائنٹ تیسرا نوڈ نہیں خرید سکتا یا نہیں چاہتا، اور ہمیں متبادل تلاش کرنے پر مجبور کیا جاتا ہے۔

آپشن 1 - ڈپلیکیٹ علیحدگی کا طریقہ

ایک نوڈ کا iLO یا IPMI ڈیوائس ناکامی کے نقطہ کی نمائندگی کرتا ہے کیونکہ، اگر یہ ناکام ہو جاتا ہے، تو بچ جانے والے اسے نوڈ کو محفوظ حالت میں لانے کے لیے استعمال نہیں کر سکتے۔ 3 یا اس سے زیادہ نوڈس کے جھرمٹ میں، ہم کورم کا حساب لگا کر اور ہارڈویئر واچ ڈاگ (ایک بالواسطہ علیحدگی کا طریقہ کار، جیسا کہ پہلے بتایا گیا ہے) کا استعمال کر کے اس کو کم کر سکتے ہیں۔ دو نوڈس کی صورت میں، ہمیں اس کے بجائے نیٹ ورک پاور ڈسٹری بیوشن یونٹس (PDUs) کا استعمال کرنا چاہیے۔

ناکامی کے بعد، زندہ بچ جانے والا پہلے پرائمری ڈسوسی ایشن ڈیوائس (ایمبیڈڈ iLO یا IPMI) سے رابطہ کرنے کی کوشش کرتا ہے۔ اگر یہ کامیاب ہو جاتا ہے تو بحالی معمول کے مطابق جاری رہتی ہے۔ صرف اس صورت میں جب iLO/IPMI ڈیوائس ناکام ہو جائے تو PDU تک رسائی حاصل کی جاتی ہے؛ اگر رسائی کامیاب ہو جاتی ہے، بازیابی جاری رہ سکتی ہے۔

PDU کو کلسٹر ٹریفک سے مختلف نیٹ ورک پر رکھنا یقینی بنائیں، بصورت دیگر ایک نیٹ ورک کی ناکامی دونوں کو الگ کرنے والے آلات تک رسائی اور خدمات کی بحالی کو روک دے گی۔

یہاں آپ پوچھ سکتے ہیں - کیا PDU ناکامی کا واحد نقطہ ہے؟ جس کا جواب یقیناً یہ ہے۔

اگر یہ خطرہ آپ کے لیے اہم ہے، تو آپ اکیلے نہیں ہیں: دونوں نوڈس کو دو PDUs سے جوڑیں اور کلسٹرنگ سافٹ ویئر کو بتائیں کہ نوڈس کو آن اور آف کرتے وقت دونوں کو استعمال کریں۔ اگر ایک PDU مر جاتا ہے تو کلسٹر اب فعال رہتا ہے، اور دوسرے PDU یا IPMI ڈیوائس کی دوسری ناکامی کو ریکوری بلاک کرنے کی ضرورت ہوگی۔

آپشن 2 - ایک ثالث کو شامل کرنا

کچھ منظرناموں میں، جبکہ ڈپلیکیٹ علیحدگی کا طریقہ تکنیکی طور پر ممکن ہے، سیاسی طور پر یہ مشکل ہے۔ بہت سی کمپنیاں ایڈمنسٹریٹرز اور ایپلیکیشن مالکان کے درمیان کچھ علیحدگی پسند کرنا چاہتی ہیں، اور سیکیورٹی کے بارے میں آگاہ نیٹ ورک ایڈمنسٹریٹر ہمیشہ کسی کے ساتھ PDU رسائی کی ترتیبات کا اشتراک کرنے کے لیے پرجوش نہیں ہوتے ہیں۔

اس صورت میں، تجویز کردہ متبادل یہ ہے کہ ایک غیر جانبدار تیسرے فریق کو تشکیل دیا جائے جو کورم کے حساب کتاب کو پورا کر سکے۔

ناکامی کی صورت میں، خدمات کو بحال کرنے کے لیے نوڈ کو اپنے ہم مرتبہ یا ثالث کی ایئر ویوز دیکھنے کے قابل ہونا چاہیے۔ ثالث میں ایک منقطع فعل بھی شامل ہوتا ہے اگر دونوں نوڈس ثالث کو دیکھ سکتے ہیں لیکن ایک دوسرے کو نہیں دیکھ سکتے ہیں۔

اس آپشن کا استعمال بالواسطہ علیحدگی کے طریقہ کار کے ساتھ کیا جانا چاہیے، جیسے کہ ہارڈویئر واچ ڈاگ ٹائمر، جو کسی مشین کو ختم کرنے کے لیے کنفیگر کیا جاتا ہے اگر وہ اپنے پیر اور آربیٹر نوڈ سے کنکشن کھو دیتی ہے۔ اس طرح، ایک زندہ بچ جانے والا معقول طور پر یہ فرض کر سکتا ہے کہ ہارڈ ویئر واچ ڈاگ ٹائمر کی میعاد ختم ہونے کے بعد اس کا ہم مرتبہ نوڈ محفوظ حالت میں ہوگا۔

ایک ثالث اور تیسرے نوڈ کے درمیان عملی فرق یہ ہے کہ ایک ثالث کو کام کرنے کے لیے بہت کم وسائل کی ضرورت ہوتی ہے اور ممکنہ طور پر ایک سے زیادہ کلسٹر کی خدمت کر سکتا ہے۔

آپشن 3 - انسانی عنصر

آخری نقطہ نظر زندہ بچ جانے والوں کے لیے یہ ہے کہ وہ جو بھی خدمات پہلے سے چلا رہے تھے اسے چلاتے رہیں، لیکن نئی شروع نہ کریں جب تک کہ مسئلہ خود حل نہ ہو جائے (نیٹ ورک کی بحالی، نوڈ ریبوٹ) یا کوئی شخص دستی طور پر اس بات کی تصدیق کرنے کی ذمہ داری قبول کرے کہ دوسری طرف مردہ ہے۔

بونس آپشن

کیا میں نے ذکر کیا ہے کہ آپ تیسرا نوڈ شامل کر سکتے ہیں؟

دو ریک

دلیل کی خاطر، چلیں یہ بہانہ کرتے ہیں کہ میں نے آپ کو تیسرے نوڈ کی خوبیوں کا قائل کر لیا ہے، اب ہمیں نوڈس کی طبعی ترتیب پر غور کرنا چاہیے۔ اگر وہ ایک ہی ریک میں رکھے گئے ہیں (اور پاورڈ) ہیں، تو یہ SPOF بھی تشکیل دیتا ہے، اور ایک جسے دوسرا ریک جوڑ کر حل نہیں کیا جا سکتا۔

اگر یہ حیران کن ہے تو غور کریں کہ اگر دو نوڈس والا ریک ناکام ہو جائے تو کیا ہوگا، اور بچ جانے والا نوڈ اس اور نیٹ ورک کی ناکامی کے درمیان کیسے فرق کرے گا۔

مختصر جواب یہ ہے کہ یہ ممکن نہیں ہے، اور ہم دوبارہ دو نوڈس کے معاملے میں تمام مسائل سے نمٹ رہے ہیں۔ یا زندہ بچ جانے والا:

  • کورم کو نظر انداز کرتا ہے اور نیٹ ورک کی بندش کے دوران بحالی کو غلط طریقے سے شروع کرنے کی کوشش کرتا ہے (انجمن کو مکمل کرنے کی صلاحیت ایک الگ کہانی ہے اور اس بات پر منحصر ہے کہ آیا PDU شامل ہے اور آیا وہ کسی بھی ریک کے ساتھ طاقت کا اشتراک کرتے ہیں)، یا
  • کورم کا احترام کرتا ہے اور اس کا ہم مرتبہ نوڈ ناکام ہونے پر وقت سے پہلے خود کو منقطع کر دیتا ہے۔

کسی بھی صورت میں، دو ریک ایک سے بہتر نہیں ہیں، اور نوڈس کو یا تو خود مختار پاور سپلائی ملنی چاہیے یا تین (یا اس سے زیادہ، اس بات پر منحصر ہے کہ آپ کے پاس کتنے نوڈس ہیں) ریک میں تقسیم ہونا چاہیے۔

دو ڈیٹا سینٹرز

اس مقام پر، وہ قارئین جو اب خطرے سے باز نہیں ہیں وہ تباہی کی بحالی پر غور کرنا چاہیں گے۔ کیا ہوتا ہے جب ایک سیارچہ ایک ہی ڈیٹا سینٹر سے ٹکراتا ہے جس میں ہمارے تین نوڈس تین مختلف ریکوں میں پھیلے ہوتے ہیں؟ ظاہر ہے بری چیزیں، لیکن آپ کی ضروریات پر منحصر ہے، دوسرا ڈیٹا سینٹر شامل کرنا کافی نہیں ہوگا۔

اگر صحیح طریقے سے کیا جائے تو، دوسرا ڈیٹا سینٹر آپ کو (اور معقول حد تک) آپ کی خدمات اور ان کے ڈیٹا کی تازہ ترین اور مستقل کاپی فراہم کرتا ہے۔ تاہم، جیسا کہ دو نوڈ، دو-ریک منظرناموں میں، زیادہ سے زیادہ دستیابی کو یقینی بنانے اور بدعنوانی (یا ڈیٹا سیٹ میں تضادات) کو روکنے کے لیے سسٹم میں کافی معلومات نہیں ہیں۔ یہاں تک کہ تین نوڈس (یا ریک) کے ساتھ، انہیں صرف دو ڈیٹا سینٹرز میں تقسیم کرنے سے سسٹم قابل اعتماد طریقے سے صحیح فیصلہ کرنے سے قاصر رہتا ہے (اب بہت زیادہ امکان ہے) واقعہ کی صورت میں جس میں دونوں فریق بات چیت نہیں کرسکتے ہیں۔

اس کا مطلب یہ نہیں ہے کہ دوہری ڈیٹا سینٹر کا حل کبھی بھی موزوں نہیں ہے۔ کمپنیاں اکثر چاہتی ہیں کہ کوئی شخص بیک اپ ڈیٹا سینٹر میں جانے کا غیر معمولی قدم اٹھانے سے پہلے آگاہ ہو۔ بس ذہن میں رکھیں کہ اگر آپ بندش کو خودکار کرنا چاہتے ہیں، تو آپ کو کورم کے لیے تیسرے ڈیٹا سینٹر کی ضرورت ہوگی (براہ راست یا کسی ثالث کے ذریعے)، یا آپ کو پورے ڈیٹا کو قابل اعتماد طریقے سے بند کرنے کا راستہ مل جائے گا۔ مرکز

ماخذ: www.habr.com

نیا تبصرہ شامل کریں