اوپن اسٹیک میں لوڈ بیلنسنگ (حصہ 2)

В آخری آرٹیکل ہم نے واچر کو استعمال کرنے کی اپنی کوششوں کے بارے میں بات کی اور ایک ٹیسٹ رپورٹ فراہم کی۔ ہم وقتاً فوقتاً کسی بڑے ادارے یا آپریٹر کلاؤڈ کے توازن اور دیگر اہم کاموں کے لیے ایسے ٹیسٹ کرواتے ہیں۔

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

تھوڑا سا اصطلاحات

VmWare کمپنی نے DRS (ڈسٹری بیوٹڈ ریسورس شیڈیولر) یوٹیلیٹی متعارف کرائی تاکہ اس کے تیار کردہ اور پیش کردہ ورچوئلائزیشن ماحول کے بوجھ کو متوازن کیا جا سکے۔

جیسے وہ لکھتا ہے searchvmware.techtarget.com/definition/VMware-DRS
"VMware DRS (ڈسٹری بیوٹڈ ریسورس شیڈیولر) ایک ایسی افادیت ہے جو ایک ورچوئل ماحول میں دستیاب وسائل کے ساتھ کمپیوٹنگ بوجھ کو متوازن کرتی ہے۔ یوٹیلیٹی ایک ورچوئلائزیشن سوٹ کا حصہ ہے جسے VMware انفراسٹرکچر کہتے ہیں۔

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

توازن کی ضرورت کیوں ہے؟


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

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

پرائیویٹ کلاؤڈز / بڑے انٹرپرائز کلائنٹس
عوامی بادل / درمیانے اور چھوٹے کاروبار، لوگ

آپریٹر کے بنیادی معیار اور اہداف
قابل اعتماد سروس یا پروڈکٹ فراہم کرنا
مسابقتی مارکیٹ میں لڑائی میں خدمات کی قیمت کو کم کرنا

سروس کے تقاضے
تمام سطحوں اور نظام کے تمام عناصر میں قابل اعتماد

کارکردگی کی ضمانت۔

ورچوئل مشینوں کو کئی زمروں میں ترجیح دیں۔ 

معلومات اور جسمانی ڈیٹا کی حفاظت

SLA اور XNUMX/XNUMX سپورٹ
سروس حاصل کرنے میں زیادہ سے زیادہ آسانی

نسبتاً آسان خدمات

ڈیٹا کی ذمہ داری کلائنٹ پر ہے۔

VM ترجیح کی ضرورت نہیں ہے۔

معیاری خدمات کی سطح پر معلومات کی حفاظت، کلائنٹ پر ذمہ داری

خرابیاں ہوسکتی ہیں۔

کوئی SLA نہیں، معیار کی ضمانت نہیں ہے۔

ای میل سپورٹ

بیک اپ ضروری نہیں ہے۔

کلائنٹ کی خصوصیات
ایپلی کیشنز کی بہت وسیع رینج۔

کمپنی میں وراثت میں ملنے والی درخواستیں

ہر کلائنٹ کے لیے پیچیدہ حسب ضرورت فن تعمیر۔

وابستگی کے قواعد۔

سافٹ ویئر 7x24 موڈ میں رکے بغیر کام کرتا ہے۔ 

آن دی فلائی بیک اپ ٹولز۔

متوقع سائیکلک کسٹمر بوجھ۔
عام ایپلی کیشنز - نیٹ ورک بیلنسنگ، اپاچی، ویب، وی پی این، ایس کیو ایل

درخواست تھوڑی دیر کے لیے رک سکتی ہے۔

کلاؤڈ میں VMs کی من مانی تقسیم کی اجازت دیتا ہے۔

کلائنٹ کا بیک اپ

کلائنٹس کی ایک بڑی تعداد کے ساتھ متوقع اعدادوشمار کے لحاظ سے اوسط بوجھ۔

فن تعمیر کے لیے مضمرات
جیو کلسٹرنگ

مرکزی یا تقسیم شدہ اسٹوریج

محفوظ IBS
کمپیوٹ نوڈس پر مقامی ڈیٹا اسٹوریج

اہداف کو متوازن کرنا
یہاں تک کہ لوڈ کی تقسیم

درخواست کی زیادہ سے زیادہ ردعمل 

توازن کے لیے کم از کم تاخیر کا وقت

توازن صرف اس صورت میں جب واضح طور پر ضروری ہو۔

روک تھام کی دیکھ بھال کے لیے کچھ سامان باہر لانا
سروس کے اخراجات اور آپریٹر کے اخراجات کو کم کرنا 

کم بوجھ کی صورت میں کچھ وسائل کو غیر فعال کرنا

توانائی کی بچت

اہلکاروں کے اخراجات کو کم کرنا

ہم اپنے لیے درج ذیل نتائج اخذ کرتے ہیں:

نجی بادلوں کے لیےبڑے کارپوریٹ صارفین کو فراہم کردہ، DRS درج ذیل پابندیوں کے ساتھ استعمال کیا جا سکتا ہے:

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

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

  • معلومات کی حفاظت کی پابندیوں اور وابستگی کے قواعد کی غیر موجودگی؛
  • بادل کے اندر توازن؛
  • کسی بھی مناسب وقت پر توازن؛
  • کسی بھی VM کو متوازن کرنا؛
  • "شور" ورچوئل مشینوں کو متوازن کرنا (تاکہ دوسروں کو پریشان نہ کریں)؛
  • ورچوئل مشین کا ڈیٹا اکثر مقامی ڈسکوں پر ہوتا ہے۔
  • اسٹوریج سسٹمز اور نیٹ ورکس کی اوسط کارکردگی کو مدنظر رکھتے ہوئے (کلاؤڈ آرکیٹیکچر متحد ہے)؛
  • عام اصولوں اور دستیاب ڈیٹا سینٹر کے رویے کے اعدادوشمار کے مطابق توازن۔

مسئلہ کی پیچیدگی

توازن کی مشکل یہ ہے کہ DRS کو بہت سے غیر یقینی عوامل کے ساتھ کام کرنا چاہیے:

  • کلائنٹ کے انفارمیشن سسٹم میں سے ہر ایک کے صارفین کا برتاؤ؛
  • انفارمیشن سسٹم سرورز کے آپریشن کے لیے الگورتھم؛
  • DBMS سرورز کا برتاؤ؛
  • کمپیوٹنگ وسائل، اسٹوریج سسٹم، نیٹ ورک پر بوجھ؛
  • کلاؤڈ وسائل کی جدوجہد میں ایک دوسرے کے ساتھ سرورز کا تعامل۔

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

اوپن اسٹیک میں لوڈ بیلنسنگ (حصہ 2)

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

اوپن اسٹیک میں لوڈ بیلنسنگ (حصہ 2)

ہماری ترقی کی تاریخ

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

1 اسٹیج

ہم نے نیورل نیٹ ورک ٹیکنالوجی پر مبنی ایک سسٹم استعمال کیا اور اس کی بنیاد پر اپنے وسائل کو بہتر بنانے کی کوشش کی۔

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

ہم نے نظام شروع کیا، اور ہم نے واقعی توازن قائم کرنا شروع کیا۔ ہمارے کلاؤڈ کے پیمانے نے ہمیں ڈویلپرز کے ذریعہ بیان کردہ پرامید نتائج حاصل کرنے کی اجازت نہیں دی، لیکن یہ واضح تھا کہ توازن کام کر رہا ہے۔

ایک ہی وقت میں، ہمارے پاس کافی سنگین حدود تھیں:

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

2 اسٹیج

چونکہ ہم حالات سے مطمئن نہیں تھے، اس لیے ہم نے نظام میں ترمیم کرنے کا فیصلہ کیا، اور ایسا کرنے کے لیے، جواب اہم سوال - ہم اسے کس کے لیے بنا رہے ہیں؟

سب سے پہلے - کارپوریٹ کلائنٹس کے لیے۔ اس کا مطلب یہ ہے کہ ہمیں ایک ایسے نظام کی ضرورت ہے جو تیزی سے کام کرے، ان کارپوریٹ پابندیوں کے ساتھ جو صرف عمل درآمد کو آسان بنائے۔

دوسرا سوال - لفظ "فوری طور پر" سے آپ کا کیا مطلب ہے؟ ایک مختصر بحث کے نتیجے میں، ہم نے فیصلہ کیا کہ ہم 5-10 منٹ کے جوابی وقت کے ساتھ شروع کر سکتے ہیں، تاکہ قلیل مدتی اضافے نظام کو گونج میں نہ متعارف کرائیں۔

تیسرا سوال - سرورز کی متوازن تعداد کا کس سائز کا انتخاب کرنا ہے؟
یہ مسئلہ خود ہی حل ہوگیا۔ عام طور پر، کلائنٹس سرور کے مجموعوں کو بہت بڑا نہیں بناتے ہیں، اور یہ مجموعے کو 30-40 سرورز تک محدود کرنے کے لیے مضمون کی سفارشات کے مطابق ہے۔

اس کے علاوہ، سرور پول کو الگ کرکے، ہم بیلنسنگ الگورتھم کے کام کو آسان بناتے ہیں۔

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

اوپن اسٹیک میں لوڈ بیلنسنگ (حصہ 2)

اس طرح کے الگورتھم استعمال کرنے والے نظام اور اس کے نقصانات کی تفصیل مل سکتی ہے۔ یہاں

ہم نے اس سسٹم کو نافذ کیا اور اسے لانچ کیا اور حوصلہ افزا نتائج حاصل کیے - اب یہ باقاعدگی سے کلاؤڈ لوڈ کا تجزیہ کرتا ہے اور ورچوئل مشینوں کو منتقل کرنے کے لیے سفارشات پیش کرتا ہے، جو بڑی حد تک درست ہیں۔ اب بھی یہ واضح ہے کہ ہم موجودہ مشینوں کے کام کے معیار کو بہتر بناتے ہوئے نئی ورچوئل مشینوں کے لیے 10-15% وسائل کی رہائی حاصل کر سکتے ہیں۔

اوپن اسٹیک میں لوڈ بیلنسنگ (حصہ 2)

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

اب ہم موجودہ الگورتھم کی تاثیر کو زیادہ درست طریقے سے جانچنے کی کوشش کر رہے ہیں اور اس میں ممکنہ غلطیوں کو تلاش کرنے کی کوشش کر رہے ہیں۔

3 اسٹیج

ایسا لگتا ہے کہ کوئی اس پر پرسکون ہوسکتا ہے، ثابت اثر کا انتظار کر سکتا ہے اور موضوع کو بند کر سکتا ہے.
لیکن ہم مندرجہ ذیل واضح اصلاحی مواقع کے ذریعہ ایک نئے مرحلے کو انجام دینے پر مجبور ہیں۔

  1. اعداد و شمار، مثال کے طور پر، یہاں и یہاں ظاہر کرتا ہے کہ دو اور چار پروسیسر سسٹمز سنگل پروسیسر سسٹمز کے مقابلے میں کارکردگی میں نمایاں طور پر کم ہیں۔ اس کا مطلب ہے کہ تمام صارفین سنگل پروسیسر سسٹمز کے مقابلے ملٹی پروسیسر سسٹمز میں خریدے گئے CPU، RAM، SSD، LAN، FC سے نمایاں طور پر کم آؤٹ پٹ حاصل کرتے ہیں۔
  2. وسائل کے شیڈولرز میں خود سنگین غلطیاں ہو سکتی ہیں، یہاں مضامین میں سے ایک ہے اس موضوع پر.
  3. RAM اور کیشے کی نگرانی کے لیے Intel اور AMD کی طرف سے پیش کردہ ٹیکنالوجیز ورچوئل مشینوں کے رویے کا مطالعہ کرنا اور انہیں اس طرح سے رکھنا ممکن بناتی ہیں کہ "شور" پڑوسی "خاموش" ورچوئل مشینوں میں مداخلت نہ کریں۔
  4. پیرامیٹرز کے سیٹ کی توسیع (نیٹ ورک، اسٹوریج سسٹم، ورچوئل مشین کی ترجیح، منتقلی کی لاگت، منتقلی کے لیے اس کی تیاری)۔

مجموعی طور پر

بیلنسنگ الگورتھم کو بہتر بنانے کے لیے ہمارے کام کا واضح نتیجہ یہ نکلا کہ جدید الگورتھم کا استعمال کرتے ہوئے ڈیٹا سینٹر کے وسائل (25-30%) کی نمایاں اصلاح حاصل کرنا اور ساتھ ہی ساتھ کسٹمر سروس کے معیار کو بھی بہتر بنانا ممکن ہے۔

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

ہم آپ کو مندرجہ ذیل مضامین میں پروسیسرز، شیڈولرز، اور اعلیٰ سطحی توازن کی صلاحیتوں کے بارے میں مزید بتائیں گے۔

ماخذ: www.habr.com

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