النسخة الاحتياطية التي لم تجرّبها قط
الجميع لديهم نسخ احتياطية، ولا أحد تقريبًا لديه استعادة. أربع نسخ لا تعمل فعلًا، وتمرين من عشرين دقيقة يكشف أيّها لديك.
اسأل صاحب عملٍ هل لديه نسخ احتياطية، يكن الجواب «نعم» في الغالب. واسأله متى استعاد أحدهم نسخةً آخر مرة، تسُد الغرفة صمتًا.
وهذه الفجوة هي الموضوع كله. النسخة الاحتياطية ملف، أمّا الاستعادة فقدرة. ولم يُنقَذ أحدٌ يومًا بملف، بل أُنقذ بالقدرة على تحويله إلى نظامٍ يعمل، في يومٍ سيّئ، وبسرعة، وبوجود شخصٍ يعرف كيف. وإلى أن تفعل ذلك مرةً واحدة، فما تملكه أملٌ له اسم ملف.
رقمان يحسمان كل شيء
قبل الأدوات، اتّفق على رقمين مع من يدير العمل:
- كم يمكن أن نتوقّف؟ ساعة؟ يوم عمل؟ ثلاثة أيام؟ هذا يحدّد السرعة المطلوبة للاستعادة، ومن ثمّ كلفتها.
- كم بياناتٍ نحتمل خسارتها؟ إن كانت النسخ تعمل ليلًا في الثانية فجرًا وتعطّل الخادم في الخامسة عصرًا، فقد خسرت يومًا من الطلبات. هل هذا محتمَل، أم يلزم كل ساعة؟
معظم الشركات لم تقل هذين الرقمين بصوتٍ عالٍ قط، ولهذا تدور نقاشات النسخ الاحتياطي في حلقة. ومتى كُتبا أجابت الخيارات التقنية عن نفسها غالبًا — وتكتشف بسرعة هل الترتيب الحالي يطابق ما افترضه العمل.
أربع نسخ لا تعمل
- اللقطة على الخادم نفسه. إن تعطّل القرص أو وقع حريق أو حُذف الحساب، ذهبت معه. النسخة في مكان الأصل ميزة راحة لا نسخة احتياطية.
- التي يأخذها أحدهم يدويًا. تعمل حين يتذكّر إنسان، أي أنها عملت يوميًا ثلاثة أسابيع ثم توقّفت في آذار حين انشغل. ولم ينتبه أحد، لأن شيئًا لا يتعطّل حين لا تُؤخذ نسخة.
- التي لا يستطيع أحد فتحها. مشفَّرة بكلمة مرورٍ لدى موظفٍ غادر، أو بصيغةٍ لا يستوردها النظام الحالي. موجودة تقنيًا، مفقودة عمليًا.
- التي هي نسخ ملفاتٍ لقاعدة بيانات تعمل. نسخ ملفات قاعدة البيانات أثناء الكتابة عليها ينتج ملفًا يبدو سليمًا ويُستعاد إلى حالةٍ تالفة نصف متّسقة. قواعد البيانات تحتاج تفريغًا سليمًا أو لقطةً يعرف بها محرّك القاعدة نفسه.
قاعدة ٣-٢-١ بصيغةٍ تستطيع شركة صغيرة الالتزام بها
القاعدة العامة: ثلاث نسخ، على نوعين من التخزين، إحداها خارج الموقع. وعمليًا، لشركةٍ تشغّل موقعًا وقاعدة بيانات وصناديق بريد:
| ماذا | كم مرة | أين | تُحفظ |
|---|---|---|---|
| قاعدة البيانات | يوميًا، وقبل أي تغيير | نسخ المستضيف + موقع ثانٍ | ٣٠ يومًا |
| الملفات والوسائط المرفوعة | يوميًا | كما أعلاه | ٣٠ يومًا |
| صناديق البريد | يوميًا | حفظ المزوّد + تصدير قبل أي نقل | ٣٠ يومًا |
| شيفرة الموقع وإعداداته | مع كل تغيير | نظام إصدارات، لا نسخة احتياطية أصلًا | دائمًا |
| صورة كاملة للخادم | أسبوعيًا | خارج الموقع | ٤ أسابيع |
لاحظ الصف الرابع: الشيفرة لا مكان لها في النسخ الاحتياطي أصلًا، بل في نظام إصداراتٍ بتاريخها كاملًا — والمستودع الذي تتحكّم به، مثل PearlGit، ليس نسخةً احتياطية من شيفرتك بل هو شيفرتك.
«خارج الموقع» تعني نطاق فشلٍ مختلفًا
«خارج الموقع» ليست مجلدًا لدى المزوّد نفسه تحت الحساب نفسه. المقصود النجاة من فئةٍ من الأحداث، والفئات تستحق التسمية: عطل عتاد، واختراق حساب، وحذفٌ بحسن نية من شخصٍ يملك الصلاحية، وسرقة أو حريق في المكتب، ومزوّدٌ تختلف معه.
القرص الخارجي الذي يعيش في المكتب نفسه يسقط في اختبار الحريق. والنسخة على حساب الاستضافة نفسه تسقط في اختبار اختراق الحساب — فالمتسلّل الذي يملك كلمة مرورك يحذف النسخ بلا مبالاةٍ كما يحذف البيانات. ويجب أن تحتاج نسخةٌ واحدة على الأقل بيانات اعتمادٍ مختلفة للوصول إليها.
مسألة الكهرباء محليًا
حيث تنقطع الكهرباء مراتٍ في اليوم، هناك نمط فشلٍ أشيع بكثير من الكوارث الدراماتيكية: قاعدة بيانات كانت في منتصف الكتابة حين انقطع التيار. تتعافى غالبًا، وأحيانًا لا، ولا يظهر الضرر إلا بعد أيام.
ولهذا نتيجتان. احتفظ بمدى زمني يكفي للعودة إلى ما قبل لحظة بدء التلف، لأن نسخةً ليليةً واحدة ستنسخ الحالة التالفة بأمانةٍ وتطمس آخر نسخةٍ سليمة. وضع خادم قاعدة البيانات على طاقةٍ محمية، وهو ما دافعنا عنه بصورةٍ أوسع في انقطاع الكهرباء مُدخَل تصميمي.
تمرين العشرين دقيقة
مرة كل ثلاثة أشهر، احجز عشرين دقيقة وافعل هذا فعلًا:
- اختر نسخة الأمس. لا نسخةً خاصة، بل العادية.
- استعِدها في مكانٍ ليس الإنتاج: خادم تجريبي، أو جهاز محلي، أو موقع اختبار.
- افتح النظام المستعاد وافحص ثلاثة أشياء حقيقية: أحدث طلبٍ موجود، وصورة مرفوعة تفتح، وشخصٌ يستطيع تسجيل الدخول.
- سجّل كم استغرقت وكل خطوةٍ احتجتها، بما في ذلك من أين جاءت بيانات الاعتماد.
- دوّن ما كان ناقصًا. وهناك دائمًا شيء في المرة الأولى: ملف بيئة، أو شهادة، أو مهمة مجدولة، أو سجل DNS.
تلك الوثيقة أثمن من النسخة نفسها. ففي اليوم السيّئ يكون من يستعيد متوترًا، وربما ليس من أعدّ النظام، وربما يعمل من هاتفه. وإجراءٌ مكتوب ومُوقَّت وسبق تنفيذه هو ما يحوّل الكارثة إلى إزعاج.
ما تفحصه هذا الأسبوع
- هل تعمل النسخ تلقائيًا، وهل يُبلَّغ أحدٌ حين تفشل واحدة؟
- هل توجد نسخة واحدة على الأقل في مكانٍ لا يصله اختراق الحساب الرئيسي؟
- هل تُفرَّغ قاعدة البيانات تفريغًا سليمًا بدل نسخ ملفاتها؟
- إلى أي مدى تستطيع العودة — وهل هو أبعد من المدة التي تلاحظ فيها المشكلة؟
- من يستطيع تنفيذ استعادة، وهل هم أكثر من شخصٍ واحد؟
- متى كانت آخر استعادة ناجحة، وأين هي مدوَّنة؟
وإن لم يكن للسؤال الأخير جواب، فهذه هي النتيجة. وكل ما عداه تخمينٌ إلى أن يصير له جواب.
ماذا نفعل نحن
كل موقعٍ على استضافتنا تُؤخذ له نسخ تلقائيًا، خارج الجهاز الذي يعمل عليه، بمدى حفظٍ يكفي للرجوع إلى ما قبل المشكلة لا إلى الأمس فقط — والاستعادة تذكرة دعمٍ يتولّاها الفريق الذي يشغّل المنصة، لا متاهة خدمة ذاتية.
ويبقى مع ذلك تمرين العشرين دقيقة. نفّذه على أنظمتك أنت هذا الربع. الأولى دائمًا أكثرها إفادة، والتعلّم بعد ظهر الثلاثاء أفضل بكثير من التعلّم في الحادية عشرة ليلًا حين ينكسر شيء.