اهمیت داشتن بک آپ و پلن ریکاوری

/images/importance-of-backup-and-recovery-plan.jpg

این پست جزو معدود پست های این سایت هست که بدون هوش مصنوعی (AI) درست شده و حاصل تجربه های من هست.

توی این پست نمی‌خوام به شایعه حمله احتمالی به دیتاسنترها در جنگ بعدی دامن بزنم

نه می‌تونم چنین احتمالی رو تأیید کنم و نه می‌تونم با قطعیت بگم هیچ دیتاسنتری در هیچ شرایطی آسیب نخواهد دید

اما بحث من اصلاً پیش‌بینی جنگ نیست، بحث نداشتن پلن های متفاوت بک آپ و نداشتن پلن بازیابی دیتا هست این پست فقط برای کسانی نیست که سرور فیزیکال یا رک دارند، حتی اگر یک هاست ساده هم دارید این پست مناسب هست

فرض کنیم اصلاً جنگی اتفاق نیفته یا حتی در صورت وقوع جنگ، هیچ دیتاسنتری آسیب نبینه.

چند سال پیش، دیتاسنتر OVH در فرانسه دچار آتش‌سوزی شد. در این حادثه، دیتاسنتر SBG2 به‌طور کامل از بین رفت و بخش‌هایی از SBG1 هم آسیب جدی دید

اتفاقی که باعث شد اطلاعات و سرویس‌های تعداد زیادی از مشتریان برای همیشه از دست بره

یکی از مشتریان این دیتاسنتر، یک شرکت بازی‌سازی بود که اعلام کرد تمام اطلاعاتش رو از دست داده، این برای بعضی از پروژه ها یعنی مرگ پروژه

حتی تعدادی از بک آپ های خود او وی اچ هم که در همان مجموعه دیتاسنتر نگهداری می‌شدند، در این حادثه از بین رفتند

نکته جالب‌تر اینکه بعد از این حادثه، دو شرکت Bati Courtage و Bluepad از OVH شکایت کردند و دادگاه تجاری لیل در سال ۲۰۲۳ این شرکت رو به پرداخت خسارت به هر دو مشتری محکوم کرد ولی به نظرت دادگاه ایرانی، توی شرایط جنگ میاد به نفع شما رای میده؟؟

قرارداد دیتاسنترها رو هم مطالعه کنید. در شرایطی مثل زلزله، جنگ و حوادث مشابه، معمولاً بخش قابل توجهی از مسئولیت‌ها از عهده دیتاسنتر خارج می‌شه

در اکثر قراردادهایی که من دیدم، صراحتاً اشاره شده که مسئولیت تهیه و نگهداری بک آپ به‌صورت کامل بر عهده مشتری هست، مگر اینکه خدمات بک آپ رو هم از دیتاسنتر دریافت کرده باشید

پس چند تا پیشنهاد دوستانه به ترتیب اولویت:

۱. اگر هنوز Backup ندارید، همین امروز براش برنامه‌ریزی کنید.

۲. Backup رو فقط در دیتاسنتر اصلی نگه ندارید. حداقل یک نسخه در یک دیتاسنتر مستقل و ترجیحاً در یک شهر دیگه داشته باشید.

۳. اگر امکان گرفتن Backup در موقعیت‌های مختلف رو ندارید، حتی داشتن یک نسخه در دفتر کار یا منزل هم می‌تونه در شرایط خاص کمک‌کننده باشه.

۴. به بک آپ گرفتن اکتفا نکنید؛ حتماً فرآیند بازیابی رو به‌صورت دوره‌ای تست کنید.

بک آپی که مطمئن نیستید قابل بازیابی هست، هنوز یک بک آپ قابل اعتماد نیست و ممکنه دقیقاً در زمان نیاز، دستتون رو توی پوست گردو بذاره.

یه نکته جانبی ولی مهم درباره Backup:

دسترسی سرور Backup رو از محیط پروداکشن (عملیاتی) حتماً جدا کنید.

مواردی بوده که هکر بعد از Encrypt کردن اطلاعات روی سرورها، به بک آپ ها هم دسترسی پیدا کرده و اون‌ها رو هم Encrypt کرده و راحت تر تونسته اخاذی کنه

برای اطلاعات حساس، از Immutable یا Offline Backup استفاده کنید تا در صورت هک شدن، همه نسخه‌ها هم‌زمان از بین نرن

قانون ۳-۲-۱ (سه دو یک) در بک آپ

یعنی ۳ نسخه از اطلاعات داشته باشید، اول نسخه اصلی یا پروداکشن شما هست، باید دو نسخه دیگر بک آپ باشند در دو فضای ذخیره سازی متفاوت بک آپ بگیرید، مثلا یکی در Object storage میگیرید یکی رو در Local Disk یک سرور دیگر بگیرید

علت مورد دوم این هست بعضی وقت ها میبینی سرعت ریستور کردن از آبجکت استوریج نسبت به local disk شاید بیشتر باشه و موقع برگردوندن بک آپ نیاز داری که سریعا دیتا برگرده

و اما ۱ آخر، یعنی حداقل توی ۱ مکان جغرافیایی جداگانه حتما یک نسخه بک آپ رو نگه دارید

الان قانون های سخت گیرانه تر هم اومده، مثلا به همین قانون بالا یه ۱ و یک ۰ اضافه شده

قانون ۳-۲-۱-۱-۰ یک اضافه میگه،‌ یک نسخه Immutable باید داشته باشید که بالاتر گفتم، این نسخه رو حتی ادمین هم نمیتونه تغییر بده توی شرکت های بزرگ، این نسخه از بک آپ رو روی Tabe میگیرن

و ۰ میگه هیچ خطا در بازیابی نباید وجود داشته باشه بک آپی که تست restore نشده رو اصلا بهش اعتماد نکنید موقع استفاده هیچ تضمینی نیست که بتونید دیتا رو برگردونید

اما در مورد Disaster Recovery:

Disaster Recovery یعنی اینکه اگر دیتاسنتر اصلی، سرور اصلی یا زیرساخت حیاتی شما به هر دلیلی از دسترس خارج شد، بتونید سرویس‌ها و عملیات کسب‌وکارتون رو در یک محیط جایگزین دوباره راه‌اندازی کنید

برای این کار چند تا نکته مهم وجود داره:

۱. باید بدونید چطور و با چه ترتیبی قراره سرویس‌هاتون رو دوباره بالا بیارید

۲. فقط دیتابیس مهم نیست، کانفیگ ها، پسوردها و Secrets، دسترسی‌ها، شبکه، DNS و سایر وابستگی‌های سرویس هم باید در نظر گرفته بشن

۳. باید بدونید چقدر Data Loss براتون قابل قبوله (RPO) و حداکثر چقدر زمان برای بازگرداندن سرویس‌ها فرصت دارید (RTO)، بعضی بیزینس ها هستند که چند ساعت دان تایم هم براشون مساوی هست با ضررهای سنگین مثل تریدرها

۴. این برنامه رو فقط روی کاغذ نگه ندارید، باید به‌صورت دوره‌ای سناریوی بازیابی رو تست کنید تا مطمئن بشید در شرایط واقعی هم قابل اجراست این موضوع رو چندین بار دیدم و حتی از یکی از دوستانم میگفت، تیم همیشه میگه بک آپ داریم ولی هر زمان بک آپ رو لازم داشتیم کار نمی کرد

این‌ها موضوعاتی نیستن که بخواید روز حادثه بهشون فکر کنید

امیدوارم هیچ‌وقت به این برنامه‌ها احتیاج پیدا نکنید ولی اگر روزی نیاز شد، مطمئنم از اینکه براش وقت گذاشتید حالتون رو خوب می کنه

آخرین مطالب