لماذا من المهم التحقق من صحة البرامج على مساحة التخزين عالية التوفر لديك (99,9999٪)

لماذا من المهم التحقق من صحة البرامج على مساحة التخزين عالية التوفر لديك (99,9999٪)

ما هو إصدار البرنامج الثابت الأكثر "صحيحًا" و"عملًا"؟ إذا كان نظام التخزين يضمن التسامح مع الخطأ بنسبة 99,9999%، فهل هذا يعني أنه سيعمل دون انقطاع حتى بدون تحديث البرنامج؟ أو، على العكس من ذلك، للحصول على أقصى قدر من التسامح مع الخطأ، يجب عليك دائما تثبيت أحدث البرامج الثابتة؟ سنحاول الإجابة على هذه الأسئلة بناءً على تجربتنا.

مقدمة صغيرة

ندرك جميعًا أن كل إصدار من إصدارات البرامج، سواء كان نظام تشغيل أو برنامج تشغيل لجهاز ما، غالبًا ما يحتوي على عيوب/أخطاء و"ميزات" أخرى قد لا "تظهر" حتى نهاية عمر خدمة الجهاز، أو "مفتوحة" فقط في ظل ظروف معينة. يعتمد عدد وأهمية هذه الفروق الدقيقة على مدى تعقيد (وظيفة) البرنامج وجودة الاختبار أثناء تطويره. 

في كثير من الأحيان، يظل المستخدمون على "البرنامج الثابت من المصنع" (البرنامج الشهير "إنه يعمل، لذا لا تعبث به") أو يقومون دائمًا بتثبيت أحدث إصدار (في فهمهم، الأحدث يعني الأكثر عملاً). نحن نستخدم نهجًا مختلفًا - فنحن ننظر إلى ملاحظات الإصدار لكل شيء مستخدم في سحابة mClouds المعدات واختيار البرنامج الثابت المناسب لكل قطعة من المعدات بعناية.

لقد توصلنا إلى هذا الاستنتاج، كما يقولون، بالتجربة. باستخدام مثال التشغيل الخاص بنا، سنخبرك لماذا لا تعني موثوقية أنظمة التخزين الموعودة بنسبة 99,9999٪ شيئًا إذا لم تقم بمراقبة تحديثات البرامج وأوصافها على الفور. حالتنا مناسبة لمستخدمي أنظمة التخزين من أي بائع، حيث يمكن أن يحدث موقف مماثل مع الأجهزة من أي شركة مصنعة.

اختيار نظام تخزين جديد

في نهاية العام الماضي، تمت إضافة نظام تخزين بيانات مثير للاهتمام إلى بنيتنا التحتية: نموذج مبتدئ من خط IBM FlashSystem 5000، والذي كان يسمى وقت الشراء Storwize V5010e. يتم بيعه الآن تحت اسم FlashSystem 5010، ولكنه في الواقع نفس قاعدة الأجهزة مع نفس Spectrum Virtualize بالداخل. 

إن وجود نظام إدارة موحد، بالمناسبة، هو الفرق الرئيسي بين IBM FlashSystem. بالنسبة لنماذج السلسلة الأصغر سنا، لا يختلف عمليا عن نماذج أكثر إنتاجية. يوفر اختيار نموذج معين فقط قاعدة الأجهزة المناسبة، والتي تتيح خصائصها استخدام وظيفة أو أخرى أو توفير مستوى أعلى من قابلية التوسع. يحدد البرنامج الأجهزة ويوفر الوظائف الضرورية والكافية لهذا النظام الأساسي.

لماذا من المهم التحقق من صحة البرامج على مساحة التخزين عالية التوفر لديك (99,9999٪)آي بي إم فلاش سيستم 5010

باختصار حول طرازنا 5010. هذا هو نظام تخزين كتلة مزدوج التحكم للمبتدئين. يمكنه استيعاب أقراص NLSAS وSAS وSSD. لا يتوفر موضع NVMe فيه، حيث تم وضع نموذج التخزين هذا لحل المشكلات التي لا تتطلب أداء محركات أقراص NVMe.

تم شراء نظام التخزين لاستيعاب المعلومات الأرشيفية أو البيانات التي لا يتم الوصول إليها بشكل متكرر. لذلك، كانت المجموعة القياسية من وظائفها كافية بالنسبة لنا: Tiering (الطبقة السهلة)، وتوفير رقيقة. كان الأداء على أقراص NLSAS عند مستوى 1000-2000 IOPS مرضيًا تمامًا بالنسبة لنا أيضًا.

تجربتنا - كيف لم نقوم بتحديث البرامج الثابتة في الوقت المحدد

الآن عن تحديث البرنامج نفسه. في وقت الشراء، كان النظام يحتوي بالفعل على نسخة قديمة قليلاً من برنامج Spectrum Virtualize، وهي: 8.2.1.3

لقد درسنا أوصاف البرامج الثابتة وخططنا لتحديثها 8.2.1.9. لو كنا أكثر كفاءة قليلاً، لما كانت هذه المقالة موجودة - لم يكن من الممكن أن يحدث الخطأ في البرامج الثابتة الأحدث. ولكن، لأسباب معينة، تم تأجيل تحديث هذا النظام.

ونتيجة لذلك، أدى تأخير بسيط في التحديث إلى صورة غير سارة للغاية، كما في الوصف على الرابط: https://www.ibm.com/support/pages/node/6172341

نعم، في البرنامج الثابت لهذا الإصدار، كان ما يسمى APAR (تقرير تحليل البرنامج المعتمد) HU02104 ذا صلة. يبدو على النحو التالي. تحت التحميل، في ظل ظروف معينة، تبدأ ذاكرة التخزين المؤقت في تجاوز السعة، ثم ينتقل النظام إلى وضع الحماية، حيث يقوم بتعطيل الإدخال / الإخراج للتجمع. في حالتنا، بدا الأمر وكأنه فصل 3 أقراص لمجموعة RAID في وضع RAID 6. يحدث الانفصال لمدة 6 دقائق. بعد ذلك، تتم استعادة الوصول إلى وحدات التخزين الموجودة في المجمع.

إذا لم يكن أي شخص على دراية ببنية وتسمية الكيانات المنطقية في سياق IBM Spectrum Virtualize، فسوف أشرح الآن بإيجاز.

لماذا من المهم التحقق من صحة البرامج على مساحة التخزين عالية التوفر لديك (99,9999٪)هيكل العناصر المنطقية لنظام التخزين

يتم جمع الأقراص في مجموعات تسمى MDisk (القرص المُدار). يمكن أن يكون MDisk عبارة عن RAID كلاسيكي (0,1,10,5,6،XNUMX،XNUMX،XNUMX،XNUMX) أو ظاهري - DRAID (RAID موزع). يتيح لك استخدام DRAID زيادة أداء المصفوفة، لأن... سيتم استخدام جميع الأقراص الموجودة في المجموعة، وسيتم تقليل وقت إعادة البناء، وذلك نظرًا لحقيقة أنه يلزم استعادة كتل معينة فقط، وليس جميع البيانات من القرص الفاشل.

لماذا من المهم التحقق من صحة البرامج على مساحة التخزين عالية التوفر لديك (99,9999٪)توزيع كتل البيانات عبر الأقراص عند استخدام Distributed RAID (DRAID) في وضع RAID-5.

ويوضح هذا الرسم البياني منطق كيفية عمل إعادة بناء DRAID في حالة فشل قرص واحد:

لماذا من المهم التحقق من صحة البرامج على مساحة التخزين عالية التوفر لديك (99,9999٪)يتم إعادة بناء منطق DRAID عند فشل قرص واحد

بعد ذلك، يشكل واحد أو أكثر من الأقراص MDisk ما يسمى بالتجمع. داخل نفس التجمع، لا يوصى باستخدام MDisk مع مستويات RAID/DRAID مختلفة على أقراص من نفس النوع. لن نتعمق في هذا الأمر، لأنه... ونحن نخطط لتغطية هذا في واحدة من المقالات التالية. حسنًا، في الواقع، يتم تقسيم التجمع إلى مجلدات، والتي يتم تقديمها باستخدام بروتوكول وصول كتلة أو آخر إلى المضيفين.

لذلك، نتيجة للحالة الموصوفة في أبار HU02104، بسبب الفشل المنطقي لثلاثة أقراص، توقف MDisk عن العمل، مما أدى بدوره إلى فشل المجمع ووحدات التخزين المقابلة.

ونظرًا لأن هذه الأنظمة ذكية جدًا، فيمكن توصيلها بنظام المراقبة المستند إلى السحابة IBM Storage Insights، والذي يقوم تلقائيًا بإرسال طلب خدمة إلى دعم IBM في حالة حدوث مشكلة. يتم إنشاء تطبيق ويقوم متخصصو IBM بإجراء التشخيص عن بعد والاتصال بمستخدم النظام. 

بفضل هذا، تم حل المشكلة بسرعة كبيرة وتم تلقي توصية سريعة من خدمة الدعم لتحديث نظامنا إلى البرنامج الثابت المحدد مسبقًا 8.2.1.9، والذي تم إصلاحه بالفعل في ذلك الوقت. ويؤكد مذكرة الإصدار المقابلة.

النتائج وتوصياتنا

وكما يقول المثل: "كل شيء على ما يرام، إذا انتهى بشكل جيد". لم يتسبب الخلل الموجود في البرنامج الثابت في حدوث مشكلات خطيرة - فقد تمت استعادة الخوادم في أسرع وقت ممكن ودون فقدان البيانات. اضطر بعض العملاء إلى إعادة تشغيل الأجهزة الافتراضية، ولكن بشكل عام كنا مستعدين لمزيد من العواقب السلبية، نظرًا لأننا نقوم بعمل نسخ احتياطية يومية لجميع عناصر البنية التحتية وأجهزة العميل. 

لقد تلقينا تأكيدًا بأنه حتى الأنظمة الموثوقة ذات التوفر الموعود بنسبة 99,9999% تتطلب الاهتمام والصيانة في الوقت المناسب. بناءً على الوضع، توصلنا لأنفسنا إلى عدد من الاستنتاجات وشاركنا توصياتنا:

  • من الضروري مراقبة إصدار التحديثات، ودراسة ملاحظات الإصدار لتصحيح المشكلات الحرجة المحتملة، وتنفيذ التحديثات المخطط لها في الوقت المناسب.

    هذه نقطة تنظيمية وحتى واضحة تمامًا، والتي يبدو أنها لا تستحق التركيز عليها. ومع ذلك، على هذه "الأرض المستوية" يمكنك أن تتعثر بسهولة تامة. في الواقع، كانت هذه اللحظة هي التي أضافت المشاكل المذكورة أعلاه. كن حذرًا جدًا عند وضع لوائح التحديث وراقب الالتزام بها بنفس القدر من الدقة. تتعلق هذه النقطة أكثر بمفهوم "الانضباط".

  • من الأفضل دائمًا إبقاء النظام مزودًا بأحدث إصدار للبرنامج. علاوة على ذلك، فإن الإصدار الحالي ليس هو الذي يحتوي على تسمية رقمية أكبر، بل هو الذي له تاريخ إصدار لاحق. 

    على سبيل المثال، تحافظ شركة IBM على تحديث إصدارين من البرامج على الأقل لأنظمة التخزين الخاصة بها. وفي وقت كتابة هذه السطور، كان هذان الإصداران 8.2 و8.3. التحديثات لـ 8.2 تأتي في وقت سابق. عادةً ما يتم إصدار تحديث مماثل للإصدار 8.3 مع تأخير بسيط.

    يحتوي الإصدار 8.3 على عدد من المزايا الوظيفية، على سبيل المثال، القدرة على توسيع MDisk (في وضع DRAID) عن طريق إضافة قرص جديد أو أكثر (ظهرت هذه الميزة منذ الإصدار 8.3.1). هذه وظيفة أساسية إلى حد ما، ولكن في 8.2، لسوء الحظ، لا توجد مثل هذه الميزة.

  • إذا لم يكن من الممكن التحديث لسبب ما، فبالنسبة لإصدارات برنامج Spectrum Virtualize السابقة للإصدارين 8.2.1.9 و8.3.1.0 (حيث يكون الخطأ الموضح أعلاه ذو صلة)، لتقليل مخاطر حدوثه، يوصي الدعم الفني لشركة IBM الحد من أداء النظام على مستوى التجمع، كما هو موضح في الشكل أدناه (تم التقاط الصورة في النسخة الروسية من واجهة المستخدم الرسومية). يتم عرض قيمة 10000 IOPS كمثال ويتم تحديدها وفقًا لخصائص نظامك.

لماذا من المهم التحقق من صحة البرامج على مساحة التخزين عالية التوفر لديك (99,9999٪)الحد من أداء تخزين IBM

  • من الضروري حساب الحمل على أنظمة التخزين بشكل صحيح وتجنب التحميل الزائد. للقيام بذلك، يمكنك استخدام إما IBM sizer (إذا كان لديك حق الوصول إليه)، أو مساعدة الشركاء، أو موارد الطرف الثالث. من الضروري فهم ملف تعريف التحميل على نظام التخزين، لأنه يختلف الأداء بالميغابايت/ثانية وIOPS بشكل كبير اعتمادًا على المعلمات التالية على الأقل:

    • نوع العملية: القراءة أو الكتابة،

    • حجم كتلة التشغيل,

    • النسبة المئوية لعمليات القراءة والكتابة في إجمالي تدفق الإدخال/الإخراج.

    كما تتأثر سرعة العمليات بكيفية قراءة كتل البيانات: بالتسلسل أو بترتيب عشوائي. عند إجراء عمليات وصول متعددة للبيانات من جانب التطبيق، هناك مفهوم العمليات التابعة. ومن المستحسن أيضًا أن تأخذ ذلك في الاعتبار. كل هذا يمكن أن يساعد في رؤية مجمل البيانات من عدادات الأداء لنظام التشغيل ونظام التخزين والخوادم/المشرفين، بالإضافة إلى فهم ميزات تشغيل التطبيقات وأنظمة إدارة قواعد البيانات و"المستهلكين" الآخرين لموارد القرص.

  • وأخيرًا، تأكد من أن لديك نسخًا احتياطية محدثة وتعمل. يجب تكوين جدول النسخ الاحتياطي بناءً على قيم RPO المقبولة للأعمال، ويجب التحقق من عمليات التحقق الدورية من سلامة النسخ الاحتياطية (عدد لا بأس به من بائعي برامج النسخ الاحتياطي لديهم تحقق تلقائي مطبق في منتجاتهم) لضمان قيمة RTO مقبولة.

شكرا لك على القراءة حتى النهاية.
نحن مستعدون للإجابة على أسئلتكم وتعليقاتكم في التعليقات. أيضًا ندعوكم للاشتراك في قناتنا على التلغرام، حيث نقيم عروضًا ترويجية منتظمة (خصومات على IaaS وهدايا للرموز الترويجية تصل إلى 100٪ على VPS)، ونكتب أخبارًا مثيرة للاهتمام ونعلن عن مقالات جديدة على مدونة حبر.

المصدر: www.habr.com

إضافة تعليق