عندما انقطعت كهرباء الشبكة عن منطقة europe-west2-b التابعة لـ Google في لندن صباح 20 أكتوبر، أدّت بطاريات UPS ما صُمّمت له وحملت الحمل نحو خمس دقائق. أما المولدات فلم يصلها أمر التشغيل قط. وقد نشرت Google تقريرها المحدَّث عن الحادث في 4 نوفمبر، وتناولته The Register في اليوم التالي: فقد بقيت قاعات البيانات دون كهرباء أكثر من ساعة بكثير، واستغرق الأمر ما يزيد قليلاً على ست ساعات قبل أن تعود معظم خدمات Google السحابية في المنطقة إلى العمل بصورة سليمة.
موقع 2N يعمل على مغذٍّ واحد
تصف Google تغذية كهربائية من الشبكة بنظام 2N عبر مغذيين مستقلين، A وB، ووصلة احتياطية من الشبكة لنقل المجمّع بأكمله يدوياً، ومجموعة مركزية من مولدات الجهد العالي تتحكم بها وحدة PLC ذات تكرار مزدوج. أما في الواقع فكان الموقع يعمل على فرع واحد. فقد كشف اختبار حمل ربع سنوي للمولدات في 14 أكتوبر عن مشكلات، ففُتح قاطع المغذي B لإجراء الإصلاحات، وتولّى المغذي A الحمل الحرج بأكمله.
في الساعة 22:53 بتوقيت المحيط الهادئ يوم 19 أكتوبر، أي 06:53 بتوقيت لندن، تعطّل كابل أرضي تابع لمورّد الكهرباء فخرج المغذي A عن الخدمة. ثم خذلت أنظمةُ التحكم الموقعَ. فوفقاً لـ Google، كانت مداخل استشعار انخفاض الجهد في وحدة PLC موصولة على جانب الخط من قواطع المغذيات. وكان المغذي B مفتوحاً عند قاطعه لكنه ظل مكهرباً قبله، فرأت وحدتا PLC، اللتان تعملان بمنطق متطابق، جهداً سليماً واستنتجتا أن مصدراً سليماً من الشبكة متاح. ولم يكن المنطق يتحقق من وضع القاطع إلى جانب الجهد، فلم يصدر أي أمر تشغيل.
حاول العاملون في الموقع نقل الحمل عن بُعد عبر وحدة PLC، فرفضت ذلك بسبب القراءة نفسها للجهد على المغذي B. ثم نقلوا الحمل إلى الوصلة الاحتياطية من الشبكة، لكن البطاريات نفدت أثناء عملية التحويل. وعادت الكهرباء إلى قاعات البيانات في الساعة 00:20 بتوقيت المحيط الهادئ، بعد إعادة ضبط وحدات التحكم الآلي بالمولدات واختبارها.
أربعون منتجاً وأقراص بطيئة
أصبحت الموارد الخاصة بالمنطقة في europe-west2-b، من الأجهزة الافتراضية في Compute Engine إلى الأقراص الخاصة بالمنطقة وقواعد البيانات غير المزودة بالإتاحة العالية، خارج متناول المستخدمين. ولم تنتقل بعض الخدمات الإقليمية إلى البدائل بصورة سليمة، واستغرق التخزين وقتاً طويلاً ليتعافى بعد الإيقاف غير المنتظم؛ ويذكر تحديث Google نحو 40 منتجاً متأثراً في المنطقة. وتفيد The Register بأن عملاء من بينهم Lloyds وHSBC وRoyal Mail وRevolut شهدوا انقطاعات.
الإصلاحات التي تذكرها Google على جانب المنشأة محددة. فقد أُعيدت تهيئة وحدة PLC في 20 و26 أكتوبر، وأُجريت في اليومين نفسيهما اختبارات نقل حمل كامل مع التشغيل التلقائي للمولدات. ومن المقرر في نوفمبر إجراء مراجعة للبرمجة مع مورّد PLC، وفحص المواقع المماثلة، وتكرار الاختبارات بعد عودة المغذيين كليهما. كما أُعيدت كتابة إجراءات الطوارئ الخاصة بفقدان مصدر الشبكة النشط وباتت تُتدرَّب عليها مرتين في كل وردية، وجُمّدت الصيانة المخططة في المواقع ذات الطوبولوجيا نفسها، وسيراجع فريق ثانٍ من Google برمجة PLC خلال ربع سنة من تسليم كل منشأة.
الاختبار الذي لا يدرجه أحد في الجدول
لا شيء في التقرير يُحمِّل المحركات المسؤولية. فمحطة المولدات كانت موجودة، وحين صدر لها الأمر بالتشغيل عملت. ما تعطّل هو السلسلة التي تعطيها أمر التشغيل، في حالة لم يكن الموقع فيها إلا بسبب الصيانة. فمعظم اختبارات القبول تفصل التغذية الواردة بينما يبقى كل شيء آخر في وضعه الطبيعي. وقلّة منها تكرر التمرين مع عزل أحد المغذيين، أو سحب أحد القواطع من مكانه، أو ترك نظام النقل على الوضع اليدوي، وهي الحالة التي تقضي فيها مواقع كثيرة جزءاً كبيراً من أسابيع صيانتها. وثمة سؤال يستحق الإضافة إلى أي خطة تشغيل تجريبي: لكل نقطة استشعار، على أي جانب من أي قاطع تقع، وما الذي تستنتجه وحدة التحكم عندما يكون ذلك القاطع مفتوحاً؟
أما الدرس الآخر فهو الوقت. فخمس دقائق من البطاريات لا تترك مجالاً لحل يدوي بديل لم يُتدرَّب عليه قط، وتمرينا Google في كل وردية يقولان ذلك بوضوح. وتتناول صفحتنا عن مراكز البيانات جانب المولدات في هذه المواقع؛ وقد ورد نهج مختلف تماماً للطاقة الاحتياطية في تقريرنا عن موقع Microsoft في Atlanta الذي يعمل دون مولدات.
المصادر: The Register، Google Cloud Service Health (تقرير الحادث)
