Disaster Recovery یا بازیابی پس از بحران، مجموعه ای از برنامه ها، اقدامات و امکانات فنی برای بازگرداندن سرویس ها و داده ها پس از یک اختلال جدی است. هدف آن این است که کسب و کار بداند در صورت از دسترس خارج شدن زیرساخت، خراب شدن داده ها یا وقوع حمله سایبری، چه چیزی را با چه اولویتی و در چه زمانی بازیابی کند.
داشتن نسخه پشتیبان، بخشی از این آمادگی است؛ اما برای بازگرداندن یک سایت یا سامانه، ممکن است به زیرساخت جایگزین، تنظیمات برنامه، دسترسی های ضروری و ترتیب مشخصی برای راه اندازی سرویس ها هم نیاز داشته باشیم. در این مقاله، تفاوت Disaster Recovery با بکاپ و دسترس پذیری بالا را بررسی می کنیم و سپس به اهداف بازیابی، روش های اجرا و آزمایش برنامه می پردازیم.
خلاصه سریع
- Disaster Recovery یا DR برای بازگرداندن سرویس ها و داده ها پس از اختلال جدی برنامه ریزی می کند.
- بکاپ نسخه ای از داده ها و اجزای مورد نیاز را نگه می دارد؛ DR مشخص می کند چگونه از آنها برای بازیابی سرویس استفاده کنیم.
- High Availability یا HA به ادامه دسترسی به سرویس هنگام خرابی بعضی اجزا کمک می کند؛ DR برای بازیابی پس از بحران های تعریف شده آماده می شود.
- RTO هدف زمانی بازگرداندن سرویس و RPO هدف مربوط به میزان قابل قبول از دست رفتن داده، برحسب زمان است.
- برنامه بازیابی باید آزمایش شود تا زمان بازیابی، صحت داده ها و عملکرد سرویس در عمل بررسی شود.
Disaster Recovery چیست و چه زمانی به آن نیاز داریم؟
Disaster Recovery یا DR، برنامه ریزی و اجرای بازیابی زیرساخت، برنامه ها و داده ها پس از یک اختلال جدی است. این مفهوم در فارسی با عبارت های «بازیابی پس از بحران» و «بازیابی از فاجعه» شناخته می شود.
بحران در اینجا فقط به اتفاق هایی مانند آتش سوزی یا از کار افتادن یک مرکز داده محدود نیست. حذف اشتباه اطلاعات، خرابی گسترده زیرساخت یا حمله باج افزاری هم می تواند شرایطی ایجاد کند که سرویس از مسیر معمول قابل بازگرداندن نباشد.
برنامه DR مشخص می کند چه زمانی باید فرایند بازیابی آغاز شود، چه کسی مسئول تصمیم گیری است، کدام سرویس ها اولویت دارند و برای بازگرداندن آنها چه اقداماتی باید انجام شود. هدف، کاهش زمان توقف و محدود کردن از دست رفتن داده ها در چارچوب نیاز واقعی کسب و کار است.
بازیابی پس از بحران چه چیزهایی را شامل می شود؟
بازگرداندن فایل ها یا پایگاه داده، همیشه برای راه اندازی دوباره یک سامانه کافی نیست. یک سایت ممکن است به سرویس ورود کاربران، فضای ذخیره سازی، تنظیمات شبکه، گواهی های امنیتی و سرویس های بیرونی هم وابسته باشد.
به همین دلیل، محدوده بازیابی باید متناسب با معماری سامانه مشخص شود. اجزای مهم آن معمولا عبارت اند از:
- داده ها و نسخه های قابل بازیابی: اطلاعات مورد نیاز و روشی برای بررسی سلامت و کامل بودن آنها.
- زیرساخت اجرای سرویس: سرور، شبکه، فضای ذخیره سازی و محیطی که برنامه دوباره روی آن اجرا می شود.
- برنامه و تنظیمات: نسخه مناسب نرم افزار، تنظیمات اجرایی و وابستگی های ضروری.
- دسترسی ها و اطلاعات حساس: دسترسی امن به حساب ها، کلیدها و اطلاعات لازم برای بازیابی.
- ترتیب و مسئولیت اقدامات: مشخص بودن مراحل اجرا، افراد مسئول و روش تایید عملکرد سرویس.
برای مثال، در بازیابی یک فروشگاه اینترنتی، بالا آمدن صفحه اصلی کافی نیست. ورود کاربر، مشاهده موجودی، ثبت سفارش و ارتباط با درگاه پرداخت هم باید بررسی شوند. معیار پایان بازیابی، قابل استفاده بودن فرایندهای ضروری سامانه است.
چه اتفاق هایی می توانند برنامه بازیابی را فعال کنند؟
هر خطای کوتاه یا خرابی یک سرور، لزوما به فعال شدن برنامه Disaster Recovery نیاز ندارد. اگر مشکل با راهکارهای معمول یا زیرساخت دسترس پذیری بالا برطرف شود، ممکن است همان مسیر کافی باشد.
برنامه بازیابی زمانی فعال می شود که شرایط حادثه با معیارهای از پیش تعیین شده تطبیق داشته باشد؛ مثلا بازیابی در محیط اصلی ممکن نباشد یا زمان رفع مشکل از حد قابل قبول عبور کند.
نمونه های مهم عبارت اند از:
- اختلال گسترده زیرساخت: از دسترس خارج شدن مرکز داده یا محیط اصلی اجرای سرویس.
- خرابی یا حذف داده: آسیب به اطلاعاتی که برنامه برای کارکرد صحیح به آنها نیاز دارد.
- حمله سایبری: شرایطی که سلامت داده ها یا اعتماد به محیط اصلی زیر سوال رفته است.
- خطای عملیاتی جدی: تغییری اشتباه که بخش مهمی از سامانه را مختل کرده و اصلاح فوری آن ممکن نیست.
- حادثه فیزیکی: آتش سوزی، سیل یا مشکلاتی که دسترسی به تجهیزات اصلی را از بین می برند.
در حمله سایبری، صرفا انتقال سرویس به یک محیط دیگر کافی نیست. باید بررسی شود که داده یا نسخه بازیابی، آلوده نباشد و عامل نفوذ نیز به محیط جایگزین دسترسی نداشته باشد.

تفاوت Disaster Recovery با بکاپ، High Availability و تداوم کسب و کار
بکاپ، دسترس پذیری بالا و برنامه تداوم کسب و کار، هرکدام بخشی از آمادگی در برابر اختلال را پوشش می دهند. شناخت تفاوت آنها کمک می کند داشتن یک قابلیت را به اشتباه معادل آمادگی کامل برای بحران در نظر نگیریم.
| مفهوم | هدف اصلی | پرسشی که پاسخ می دهد |
|---|---|---|
| بکاپ یا Backup | نگهداری نسخه قابل بازیابی از داده ها و اجزای ضروری | چه نسخه ای برای بازگرداندن اطلاعات داریم؟ |
| دسترس پذیری بالا یا HA | کاهش اختلال سرویس هنگام خرابی بعضی اجزا | اگر یک جزء خراب شود، سرویس چگونه به کار ادامه می دهد؟ |
| بازیابی پس از بحران یا DR | بازگرداندن سامانه پس از یک اختلال جدی | چگونه سرویس و داده را در محدوده اهداف تعیین شده بازیابی کنیم؟ |
| تداوم کسب و کار یا BCP | ادامه فعالیت های ضروری سازمان در بحران | کسب و کار چگونه فعالیت های حیاتی خود را ادامه می دهد؟ |
تفاوت Disaster Recovery و Backup
بکاپ، نسخه قابل بازیابی را فراهم می کند؛ Disaster Recovery مسیر بازگرداندن سرویس را مشخص می کند.
ممکن است یک شرکت از پایگاه داده خود نسخه پشتیبان داشته باشد، اما پس از خرابی سرور نداند آن را کجا بازیابی کند، کدام نسخه برنامه را اجرا کند یا چگونه ارتباط سرویس ها را دوباره برقرار کند. در این شرایط، بکاپ وجود دارد ولی فرایند بازیابی کامل آماده نیست.
برنامه DR باید استفاده از نسخه های پشتیبان را در کنار زیرساخت، تنظیمات، دسترسی ها و مراحل تایید سرویس در نظر بگیرد. همچنین لازم است بازیابی واقعی آزمایش شود؛ موفق بودن عملیات تهیه بکاپ، به تنهایی نشان نمی دهد که سامانه با همان نسخه و در زمان مورد انتظار قابل بازگرداندن است.
بعضی راهکارهای DR از تکثیر داده یا محیط آماده به کار استفاده می کنند. با این حال، تکثیر داده جای نسخه های پشتیبان مستقل را نمی گیرد؛ زیرا حذف اشتباه یا خرابی منطقی داده ممکن است به مقصد تکثیر هم منتقل شود.
تفاوت Disaster Recovery و High Availability
High Availability یا دسترس پذیری بالا، برای حفظ دسترسی به سرویس هنگام خرابی اجزای مشخص طراحی می شود. برای نمونه، اگر یکی از سرورهای برنامه از کار بیفتد، سرورهای دیگر می توانند درخواست ها را پاسخ دهند.
Disaster Recovery بر بازگرداندن سامانه پس از بحرانی تمرکز دارد که ممکن است از محدوده تحمل معماری HA فراتر برود. برای مثال، چند سرور در یک مرکز داده می توانند خرابی یک سرور را پوشش دهند، اما اگر همان مرکز داده به طور کامل از دسترس خارج شود، ممکن است همه آنها هم زمان غیرقابل استفاده شوند.
مرز این دو مفهوم به معماری و نوع حادثه بستگی دارد. زیرساخت چندمنطقه ای می تواند هم به دسترس پذیری بالا و هم به اهداف بازیابی کمک کند؛ اما همچنان باید وضعیت داده ها، نحوه انتقال ترافیک و عملکرد سرویس پس از انتقال بررسی شود.
HA و DR مکمل یکدیگرند. وجود HA به تنهایی اثبات نمی کند که برای حذف داده، حمله باج افزاری یا از دست رفتن کامل محیط اصلی آماده هستیم.
ارتباط Disaster Recovery با تداوم کسب و کار
برنامه تداوم کسب و کار یا Business Continuity Plan دامنه ای گسترده تر از فناوری اطلاعات دارد. این برنامه مشخص می کند سازمان هنگام بحران چگونه فعالیت های ضروری خود را با کمک افراد، فرایندها، امکانات و روش های ارتباطی ادامه دهد.
Disaster Recovery، بخش مربوط به بازیابی سامانه ها و زیرساخت فناوری اطلاعات در این آمادگی است. برای مثال، در زمان توقف فروشگاه اینترنتی، برنامه DR به بازگرداندن سایت و داده ها می پردازد؛ برنامه تداوم کسب و کار می تواند روش اطلاع رسانی به مشتریان، رسیدگی به سفارش های قبلی و ادامه موقت پاسخگویی از یک کانال دیگر را مشخص کند.
بنابراین، بازیابی فنی سامانه و ادامه فعالیت کسب و کار باید با یکدیگر هماهنگ باشند. ممکن است یک سرویس از نظر فنی فعال شده باشد، اما تیم پشتیبانی یا فرایند پردازش سفارش هنوز آماده ادامه کار نباشد.
RTO و RPO چیست و چگونه تعیین می شوند؟
برای انتخاب راهکار Disaster Recovery، باید دو پرسش را پاسخ دهیم: سرویس تا چه مدت می تواند متوقف بماند و از دست رفتن چه مقدار از داده های اخیر قابل قبول است؟
دو معیار RTO و RPO این اهداف را روشن می کنند. این اعداد باید از نیاز کسب و کار به دست بیایند و سپس امکان دستیابی به آنها با طراحی و آزمایش فنی بررسی شود.
RTO چیست؟
RTO مخفف Recovery Time Objective و هدف زمانی برای بازگرداندن سرویس پس از اختلال است. این معیار مشخص می کند سامانه باید در چه بازه ای به سطح عملکرد مورد نیاز برگردد.
اگر RTO یک سامانه دو ساعت تعیین شده باشد، هدف این است که سرویس در این بازه دوباره قابل استفاده شود. برای سنجش دقیق، نقطه شروع زمان و شرایط پایان بازیابی باید در برنامه مشخص باشند.
زمان بازیابی فقط مدت روشن کردن سرور یا بازگرداندن پایگاه داده نیست. تشخیص حادثه، تصمیم گیری، آماده کردن محیط، راه اندازی وابستگی ها، انتقال ترافیک و بررسی عملکرد هم می توانند بخشی از زمان مورد نیاز باشند.
RTO یک هدف است، نه تضمین خودکار. باید با تست مشخص شود که فرایند بازیابی در شرایط تعریف شده می تواند به آن برسد.
RPO چیست؟
RPO مخفف Recovery Point Objective و هدف مربوط به حداکثر بازه زمانی قابل قبول برای از دست رفتن داده های اخیر است.
اگر RPO برابر ۱۵ دقیقه باشد، هدف این است که نقطه قابل بازیابی، بیش از ۱۵ دقیقه از زمان حادثه عقب نباشد. در چنین حالتی، از دست رفتن تغییرات ثبت شده در این بازه ممکن است در محدوده پذیرفته شده قرار بگیرد.
RPO مدت اجرای بازیابی نیست. این معیار به تازگی داده ای مربوط می شود که پس از بازیابی در اختیار خواهیم داشت.
فاصله تهیه بکاپ یکی از عوامل موثر بر RPO است، اما به تنهایی آن را تضمین نمی کند. شکست عملیات بکاپ، تاخیر تکثیر داده، خراب بودن نسخه ها یا نیاز به بازگشت به نسخه ای قدیمی تر می تواند فاصله واقعی نقطه بازیابی تا حادثه را افزایش دهد.
مثال عملی برای درک تفاوت RTO و RPO
فرض کنیم یک فروشگاه اینترنتی در ساعت ۱۰:۰۰ دچار اختلال جدی شده است. اهداف بازیابی آن به صورت زیر تعیین شده اند:
| معیار | هدف تعیین شده | معنی در این مثال |
|---|---|---|
| RTO | دو ساعت | سرویس باید تا ساعت ۱۲:۰۰ به سطح عملکرد مورد نیاز برگردد. |
| RPO | ۱۵ دقیقه | نقطه قابل بازیابی باید مربوط به ساعت ۹:۴۵ یا بعد از آن باشد. |
اگر فروشگاه ساعت ۱۱:۳۰ قابل استفاده شود، هدف زمانی بازیابی محقق شده است. اگر داده های بازیابی شده تا ساعت ۹:۵۰ را پوشش دهند، فاصله نقطه بازیابی تا حادثه ۱۰ دقیقه است و هدف RPO نیز محقق شده است.
اما اگر سرویس ساعت ۱۱:۳۰ بالا بیاید و داده ها فقط تا ساعت ۹:۰۰ موجود باشند، RTO محقق شده ولی RPO رعایت نشده است. در حالت معکوس، بازیابی داده تا ساعت ۹:۵۵ همراه با راه اندازی سرویس در ساعت ۱۳:۰۰، هدف RPO را محقق می کند ولی از RTO عبور می کند.
این مثال نشان می دهد سرعت بازگرداندن سرویس و تازگی داده های بازیابی شده، دو معیار جداگانه اند. پس از بازیابی نیز باید سفارش ها، پرداخت ها و سایر اطلاعات مرتبط از نظر سازگاری بررسی شوند.
چگونه اهداف بازیابی را تعیین کنیم؟
همه سامانه ها به RTO و RPO یکسان نیاز ندارند. توقف یک سیستم ثبت سفارش ممکن است مستقیما درآمد را تحت تاثیر قرار دهد، در حالی که توقف یک گزارش داخلی برای چند ساعت قابل تحمل باشد.
برای تعیین این اهداف، باید موارد زیر بررسی شوند:
- اثر توقف سرویس: اختلال چه تاثیری بر درآمد، مشتریان و فعالیت های ضروری دارد؟
- اثر از دست رفتن داده: آیا اطلاعات اخیر قابل بازسازی هستند و بازسازی آنها چه هزینه ای دارد؟
- وابستگی سرویس ها: سامانه برای بازگشت به کار به کدام پایگاه داده، سرویس یا ارائه دهنده بیرونی نیاز دارد؟
- نیازهای قراردادی و قانونی: چه تعهدهایی درباره دسترسی به سرویس و حفاظت از اطلاعات وجود دارد؟
- هزینه و توان اجرایی: چه بودجه، نیروی انسانی و امکاناتی برای دستیابی به اهداف در دسترس است؟
این بررسی باید با مشارکت مسئولان کسب و کار و تیم فنی انجام شود. پس از تعیین اهداف، راهکار مناسب انتخاب و آزمایش می شود.
RTO کوتاه تر و RPO نزدیک تر به صفر، معمولا به امکانات بیشتر و طراحی پیچیده تری نیاز دارند. هدف، انتخاب عددی متناسب با اهمیت سرویس و قابل دستیابی در عمل است.
روش های Disaster Recovery کدام اند؟
روش های Disaster Recovery از بازیابی نسخه پشتیبان تا استفاده از چند محیط فعال را شامل می شوند. تفاوت اصلی آنها در میزان آمادگی محیط جایگزین، شیوه نگهداری داده ها و اقدامات لازم برای بازگرداندن سرویس است.
انتخاب روش باید با RTO و RPO هر سامانه هماهنگ باشد. یک سرویس داخلی با امکان تحمل چند ساعت توقف، ممکن است با بازیابی بکاپ پوشش داده شود؛ اما سامانه ای که توقف آن مستقیما فروش را مختل می کند، احتمالا به محیط آماده تر و فرایند انتقال سریع تری نیاز دارد.
بازیابی از نسخه پشتیبان؛ Backup and Restore
در روش Backup and Restore، نسخه های پشتیبان داده ها و اجزای ضروری نگهداری می شوند تا پس از بحران، سامانه در محیط سالم بازسازی شود. بسته به طراحی، ممکن است زیرساخت جایگزین از قبل آماده باشد یا هنگام بازیابی ایجاد شود.
فرایند معمولا شامل آماده کردن زیرساخت، نصب یا استقرار برنامه، بازگرداندن داده ها، اعمال تنظیمات و بررسی عملکرد است. به همین دلیل، زمان بازیابی فقط به سرعت بازگرداندن فایل ها یا پایگاه داده وابسته نیست.
این روش معمولا هزینه نگهداری زیرساخت کمتری دارد، اما برای سامانه هایی که تحمل توقف بسیار کوتاهی دارند، ممکن است کافی نباشد. فاصله نسخه های پشتیبان و قابل استفاده بودن آنها نیز بر نقطه بازیابی داده اثر می گذارد.
نسخه پشتیبان باید در برابر حادثه ای که محیط اصلی را تهدید می کند محافظت شود. جداسازی دسترسی ها، نگهداری نسخه خارج از محیط اصلی و استفاده از نسخه های تغییرناپذیر، در صورت پشتیبانی ابزار، از اقداماتی هستند که باید متناسب با ریسک بررسی شوند.
برای بررسی نحوه نگهداری نسخه ها و امکان بازیابی عملی اطلاعات، می توانید صفحه خدمات بکاپ و ریکاوری سرور را ببینید.
محیط حداقلی آماده؛ Pilot Light
در روش Pilot Light، بخش های حیاتی محیط بازیابی، مانند لایه داده، از قبل برقرار هستند؛ اما تمام اجزای لازم برای پاسخگویی به کاربران فعال یا آماده ظرفیت عملیاتی نیستند.
هنگام بحران، اجزای باقی مانده راه اندازی می شوند، ظرفیت افزایش پیدا می کند و پس از بررسی آمادگی سامانه، ترافیک به محیط جایگزین منتقل می شود. در این طراحی، داده ها ممکن است با تکثیر مستمر یا روش دیگری به مقصد بازیابی منتقل شوند.
Pilot Light می تواند نیاز به بازسازی کامل محیط از ابتدا را کاهش دهد. با این حال، سرعت بازیابی به آماده بودن تنظیمات، خودکارسازی استقرار، تامین ظرفیت و سلامت داده های مقصد وابسته است.
تفاوت مهم آن با Warm Standby این است که محیط Pilot Light معمولا پیش از تکمیل مراحل راه اندازی، آماده ارائه سرویس کامل نیست.
محیط فعال با ظرفیت کمتر؛ Warm Standby
در روش Warm Standby، نسخه ای عملیاتی از سامانه در محیط جایگزین اجرا می شود، اما ظرفیت آن معمولا از محیط اصلی کمتر است. اجزای ضروری فعال هستند و محیط می تواند سرویس ارائه دهد، هرچند ممکن است برای پذیرش تمام بار واقعی به افزایش ظرفیت نیاز داشته باشد.
پس از بحران، ظرفیت محیط جایگزین افزایش می یابد و ترافیک به آن منتقل می شود. چون برنامه و وابستگی های اصلی از قبل اجرا شده اند، اقدامات راه اندازی معمولا از Pilot Light کمتر است.
در مقابل، هزینه نگهداری این محیط بیشتر خواهد بود. همچنین باید بررسی شود که افزایش ظرفیت در زمان حادثه امکان پذیر است و سامانه در این فاصله چگونه درخواست ها را مدیریت می کند.
Warm Standby زمانی مفید است که کسب و کار به بازیابی سریع تر نیاز دارد، اما نگهداری چند محیط با ظرفیت کامل برای آن توجیه ندارد.
چند محیط فعال؛ Active/Active
در معماری Active/Active، چند محیط هم زمان در ارائه سرویس مشارکت دارند. اگر یکی از آنها از دسترس خارج شود، محیط های سالم می توانند تمام یا بخشی از بار آن را دریافت کنند؛ به شرط آنکه ظرفیت و وابستگی های لازم برای این وضعیت پیش بینی شده باشد.
این روش می تواند زمان توقف را کاهش دهد، اما مدیریت داده ها، هماهنگی نوشتن اطلاعات، مسیریابی درخواست ها و کنترل ناسازگاری بین محیط ها را پیچیده تر می کند.
Active/Active به تنهایی به معنی RTO یا RPO صفر نیست. نتیجه واقعی به معماری برنامه، شیوه تکثیر داده، تشخیص خرابی و نحوه انتقال ترافیک وابسته است. همچنین خرابی منطقی یا حذف اشتباه داده ممکن است بین محیط ها منتشر شود؛ بنابراین نسخه های پشتیبان مستقل همچنان اهمیت دارند.
مقایسه روش های بازیابی پس از بحران
| روش | وضعیت محیط جایگزین پیش از بحران | اقدامات اصلی هنگام بازیابی | هزینه و پیچیدگی معمول |
|---|---|---|---|
| Backup and Restore | نسخه های پشتیبان موجود است؛ محیط ممکن است نیاز به ایجاد یا بازسازی داشته باشد. | آماده سازی محیط، استقرار برنامه و بازیابی داده. | معمولا کمتر، همراه با مراحل بازیابی بیشتر. |
| Pilot Light | اجزای حیاتی برقرارند؛ محیط هنوز برای سرویس کامل آماده نیست. | راه اندازی اجزای باقی مانده، افزایش ظرفیت و انتقال ترافیک. | معمولا بیشتر از بازیابی بکاپ. |
| Warm Standby | سامانه عملیاتی با ظرفیت کمتر اجرا می شود. | افزایش ظرفیت، تایید آمادگی و انتقال ترافیک. | معمولا بیشتر از Pilot Light. |
| Active/Active | چند محیط هم زمان سرویس ارائه می دهند. | تشخیص خرابی، تغییر توزیع ترافیک و مدیریت وضعیت داده. | معمولا بیشترین پیچیدگی، به ویژه در لایه داده. |
این مقایسه جهت کلی انتخاب را نشان می دهد. برای تعیین RTO و RPO قابل دستیابی، باید معماری واقعی، حجم داده، ظرفیت مقصد و نتایج آزمایش بررسی شوند.
بازیابی پس از بحران در فضای ابری
بازیابی پس از بحران در فضای ابری، استفاده از امکانات ابری برای نگهداری داده، ایجاد محیط جایگزین یا اجرای سامانه بازیابی است. این کار می تواند بین زیرساخت داخلی و فضای ابری یا بین محیط های مختلف یک ارائه دهنده انجام شود.
Cloud DR یک سطح آمادگی ثابت ندارد. در فضای ابری نیز می توان از Backup and Restore، Pilot Light، Warm Standby یا Active/Active استفاده کرد.
مزیت مهم فضای ابری، امکان ایجاد و افزایش ظرفیت متناسب با طراحی است؛ اما محدودیت ظرفیت، سهمیه منابع، هزینه انتقال داده، دسترسی های مدیریتی و وابستگی به سرویس های ابری باید بررسی شوند.
انتخاب مقصد بازیابی باید با محدوده حادثه هماهنگ باشد. محیطی در همان محل یا همان محدوده اختلال ممکن است در برابر خرابی یک جزء مفید باشد، اما بحران گسترده تری را پوشش ندهد.
برنامه بازیابی پس از بحران چگونه تدوین می شود؟
Disaster Recovery Plan یا برنامه بازیابی پس از بحران، دستورالعمل اجرایی بازگرداندن سامانه در شرایط تعریف شده است. این برنامه باید مشخص کند چه کسی تصمیم می گیرد، چه اقداماتی با چه ترتیبی انجام می شوند و چگونه موفقیت بازیابی تایید می شود.
فهرست تجهیزات و نسخه های پشتیبان برای این هدف کافی نیست. برنامه باید در زمان بحران قابل استفاده باشد و تیم بتواند بدون وابستگی به حافظه یک فرد، مراحل ضروری را اجرا کند.
شناسایی سرویس های حیاتی و وابستگی ها
نخست باید مشخص شود کدام سرویس ها برای ادامه فعالیت ضروری هستند و توقف هرکدام چه اثری دارد. سپس وابستگی های فنی و عملیاتی آنها ثبت می شوند.
برای مثال، بازیابی یک سامانه فروش ممکن است به پایگاه داده، سرویس احراز هویت، فضای ذخیره سازی تصاویر و ارتباط با درگاه پرداخت وابسته باشد. ترتیب راه اندازی باید این روابط را در نظر بگیرد.
برای هر سرویس، این اطلاعات ثبت می شود:
- مالک یا مسئول سرویس.
- اهمیت و اولویت بازیابی.
- RTO و RPO مورد نیاز.
- داده ها و اجزای ضروری.
- وابستگی های داخلی و بیرونی.
- معیار قابل استفاده بودن سرویس پس از بازیابی.
ممکن است بخش اصلی سامانه زودتر بازیابی شود و قابلیت های کم اهمیت تر در مرحله بعد برگردند. این اولویت بندی باید از قبل مشخص باشد.
تعریف سناریوی بحران و شرایط فعال شدن برنامه
برنامه باید حادثه هایی را که پوشش می دهد مشخص کند. از دست رفتن مرکز داده، حذف اطلاعات و حمله باج افزاری لزوما با یک مسیر بازیابی مدیریت نمی شوند.
همچنین باید شرایط فعال شدن برنامه روشن باشد: چه کسی اختیار اعلام وضعیت بحران را دارد، بر چه اطلاعاتی تکیه می کند و چه زمانی انتقال به محیط جایگزین مناسب است؟
این تصمیم اهمیت دارد؛ زیرا انتقال عجولانه می تواند مشکلات تازه ای ایجاد کند. برای مثال، اگر محیط اصلی هنوز امکان نوشتن داده داشته باشد و محیط جایگزین نیز هم زمان فعال شود، ممکن است اطلاعات دو محیط از یکدیگر فاصله بگیرند.
برنامه باید روش کنترل محیط اصلی، جلوگیری از نوشتن ناخواسته و اعلام وضعیت به تیم های مرتبط را متناسب با معماری تعیین کند.
ثبت مراحل اجرایی، مسئولیت ها و دسترسی ها
مراحل اجرایی بازیابی باید روشن، مرتب و قابل بررسی باشند. برای هر مرحله، مسئول اجرا، پیش نیاز و نتیجه مورد انتظار مشخص می شود.
این مراحل می توانند شامل موارد زیر باشند:
- بررسی وضعیت حادثه و انتخاب نقطه بازیابی سالم.
- دسترسی به محیط جایگزین و منابع مورد نیاز.
- بازیابی داده و راه اندازی وابستگی ها.
- استقرار برنامه و اعمال تنظیمات.
- بررسی عملکرد پیش از انتقال ترافیک.
- انتقال کاربران و پایش وضعیت سرویس.
- ثبت نتیجه اقدامات و مشکلات مشاهده شده.
دستورالعمل و اطلاعات تماس باید هنگام قطع دسترسی به محیط اصلی نیز در دسترس باشند. دسترسی های اضطراری هم باید امن، کنترل شده و قابل استفاده باشند؛ نگهداری رمزها به صورت آشکار در متن برنامه مناسب نیست.
تعیین معیار پایان بازیابی
روشن بودن سرورها، به تنهایی معیار موفقیت نیست. باید مشخص شود کدام فعالیت های ضروری کاربران پس از بازیابی باید درست انجام شوند.
برای یک فروشگاه اینترنتی، معیارها می توانند شامل ورود کاربر، نمایش محصول، ثبت سفارش، ارتباط با پرداخت و مشاهده سفارش توسط تیم پشتیبانی باشند. صحت و سازگاری اطلاعات نیز باید بررسی شود.
علاوه بر عملکرد، ظرفیت و کیفیت سرویس اهمیت دارند. سامانه ای که فعال شده اما بیشتر درخواست ها را با خطا پاسخ می دهد، هنوز به سطح عملکرد مورد نیاز نرسیده است.
معیارهای پایان بازیابی باید با تعریف RTO هماهنگ باشند تا زمان ثبت شده، بازگشت واقعی سرویس را نشان دهد.
نمونه سناریوی بازیابی یک فروشگاه اینترنتی
فرض کنیم محیط اصلی فروشگاه از دسترس خارج شده و طبق بررسی تیم، بازگرداندن آن در محدوده RTO ممکن نیست. برنامه، استفاده از محیط Warm Standby را پیش بینی کرده است.
| مرحله | اقدام |
|---|---|
| اعلام وضعیت | مسئول تعیین شده، پس از بررسی شرایط، برنامه بازیابی را فعال می کند. |
| کنترل محیط اصلی | امکان فعالیت ناخواسته محیط اصلی طبق طراحی کنترل می شود. |
| بررسی داده | سلامت داده مقصد و فاصله آن تا زمان حادثه بررسی می شود. |
| آماده سازی مقصد | ظرفیت افزایش می یابد و تنظیمات و وابستگی ها کنترل می شوند. |
| آزمون عملکرد | ورود، ثبت سفارش و ارتباط با پرداخت بررسی می شوند. |
| انتقال ترافیک | ترافیک طبق روش تعیین شده به محیط جایگزین هدایت می شود. |
| تایید و پایش | عملکرد، خطاها، سفارش ها و اهداف بازیابی بررسی و ثبت می شوند. |
این سناریو فرضی است. در حمله باج افزاری یا خرابی داده، ممکن است به جای استفاده از آخرین داده تکثیرشده، به نسخه سالم قدیمی تر و محیط پاک نیاز باشد.
چگونه برنامه Disaster Recovery را تست و به روز کنیم؟
تست Disaster Recovery مشخص می کند برنامه بازیابی در عمل قابل اجراست یا خیر. وجود مستندات، بکاپ یا محیط جایگزین، بدون آزمایش نشان نمی دهد که سرویس با داده سالم و در محدوده زمانی مورد نیاز بازمی گردد.
تست باید متناسب با اهمیت سامانه و ریسک اجرای آن طراحی شود. هدف، یافتن ضعف ها پیش از بحران و اصلاح برنامه براساس نتیجه واقعی است.
از مرور سناریو تا آزمایش عملی بازیابی
آزمایش می تواند در سطح های مختلف انجام شود:
- مرور سناریو با تیم: اعضا مراحل، مسئولیت ها و تصمیم های لازم را بررسی می کنند.
- تست بازیابی بکاپ: نسخه پشتیبان در محیط جداگانه بازیابی و صحت آن کنترل می شود.
- تست اجزای سامانه: بازیابی یک پایگاه داده، سرویس یا وابستگی مشخص آزمایش می شود.
- تست کامل در محیط جداگانه: سامانه و فرایندهای ضروری بدون انتقال کاربران واقعی بررسی می شوند.
- تمرین کنترل شده انتقال سرویس: در شرایط برنامه ریزی شده، انتقال و در صورت نیاز بازگشت سرویس آزمایش می شود.
مرور سناریو برای پیدا کردن ابهام ها مفید است، اما جای بازیابی واقعی داده و آزمون عملکرد را نمی گیرد. هر آزمایش نیز باید محدوده، مسئول، شرایط توقف و روش بازگرداندن وضعیت را داشته باشد.
در تست DR چه چیزهایی را اندازه بگیریم؟
نتیجه تست باید فراتر از «موفق بود» ثبت شود. اندازه گیری زمان و بررسی داده ها مشخص می کند کدام قسمت برنامه به اصلاح نیاز دارد.
| مورد بررسی | پرسش اصلی |
|---|---|
| زمان بازیابی | سرویس چه زمانی به سطح عملکرد تعیین شده برگشت و آیا RTO رعایت شد؟ |
| نقطه بازیابی | داده های قابل استفاده تا چه زمانی را پوشش می دهند و آیا RPO رعایت شد؟ |
| صحت و سازگاری داده | آیا اطلاعات کامل، سالم و بین اجزای مرتبط سازگار هستند؟ |
| عملکرد سامانه | آیا فعالیت های ضروری کاربران درست انجام می شوند؟ |
| ظرفیت مقصد | آیا محیط جایگزین بار مورد انتظار را تحمل می کند؟ |
| دسترسی و هماهنگی تیم | آیا افراد، دسترسی ها و مسیر اطلاع رسانی آماده بودند؟ |
بهتر است زمان مراحل مهم نیز جداگانه ثبت شود. این کار نشان می دهد تاخیر اصلی مربوط به تصمیم گیری، تامین ظرفیت، بازیابی داده یا بررسی عملکرد بوده است.
بررسی Failover و Failback
Failover انتقال سرویس به محیط جایگزین است. این انتقال می تواند خودکار یا با تصمیم و اقدام تیم انجام شود. پیش از آن، باید آمادگی مقصد، وضعیت داده و نحوه کنترل محیط اصلی بررسی شود.
Failback بازگرداندن سرویس از محیط جایگزین به محیط اصلی یا محیط اصلی بازسازی شده است. بازگشت نباید فقط با رفع خرابی اولیه انجام شود؛ محیط مقصد باید سالم باشد و تغییرات داده ایجادشده در دوره فعالیت محیط جایگزین نیز در نظر گرفته شوند.
تست این مراحل باید احتمال از دست رفتن داده، فعالیت هم زمان ناخواسته دو محیط و ناسازگاری اطلاعات را بررسی کند. برای بازگشت نیز باید ترتیب اقدامات، معیار تایید و روش برخورد با شکست احتمالی مشخص باشد.
چه زمانی برنامه بازیابی را به روز کنیم؟
برنامه باید با وضعیت واقعی سامانه هماهنگ بماند. تغییر معماری، نسخه برنامه، پایگاه داده، دسترسی ها یا اعضای تیم می تواند دستورالعمل قبلی را ناقص کند.
بازبینی برنامه در این شرایط اهمیت دارد:
- تغییر مهم در زیرساخت یا معماری.
- اضافه شدن سرویس یا وابستگی جدید.
- تغییر روش بکاپ، تکثیر داده یا محیط بازیابی.
- تغییر اهداف RTO و RPO.
- تغییر مسئولیت ها و اطلاعات تماس.
- مشاهده مشکل در تست یا وقوع حادثه واقعی.
فاصله تست های دوره ای نیز باید براساس اهمیت سرویس، سرعت تغییرات و تعهدهای سازمان تعیین شود. پس از هر تست، مشکلات باید به اقدام اصلاحی مشخص با مسئول و زمان پیگیری تبدیل شوند.
اشتباهات رایج در Disaster Recovery
یکی از اشتباهات رایج، یکسان دانستن موفقیت بکاپ با موفقیت بازیابی است. تا زمانی که نسخه بازیابی نشده و سامانه با آن کار نکرده باشد، نتیجه کامل مشخص نیست.
اشتباه مهم دیگر، نادیده گرفتن وابستگی هاست. ممکن است پایگاه داده سالم بازیابی شود، اما نبود دسترسی به سرویس ورود کاربران یا تنظیمات ضروری، استفاده از برنامه را متوقف کند.
سایر خطاهای رایج عبارت اند از:
- نگهداری نسخه ها و محیط بازیابی در محدوده همان حادثه.
- انتخاب RTO و RPO بدون بررسی نیاز کسب و کار و امکان اجرای فنی.
- فرض سالم بودن داده تکثیرشده در حذف اشتباه یا حمله سایبری.
- پیش بینی نکردن ظرفیت کافی در محیط جایگزین.
- وابستگی اجرای برنامه به یک فرد.
- در دسترس نبودن مستندات هنگام قطع محیط اصلی.
- نداشتن برنامه مشخص برای بازگشت و هماهنگ کردن داده ها.
برنامه بازیابی زمانی قابل اتکاتر می شود که مستندات، امکانات فنی و نتیجه آزمایش با یکدیگر هماهنگ باشند. هر تغییر مهم یا ضعف مشاهده شده باید در نسخه بعدی برنامه و تمرین های بعدی منعکس شود.
آیا زیرساخت شما برای بازیابی پس از بحران آماده است؟
اگر زمان بازگرداندن سایت یا سامانه و میزان قابل قبول از دست رفتن داده ها هنوز مشخص نیست، بررسی وضعیت بکاپ ها، وابستگی های سرویس و امکان بازیابی می تواند نقطه شروع باشد. برای بررسی نیازهای زیرساخت و انتخاب مسیر مناسب، با تیم خدمات دواپس سربروس در ارتباط باشید.
سوالات متداول درباره Disaster Recovery
آیا یک سایت کوچک هم به برنامه Disaster Recovery نیاز دارد؟
بله؛ اما برنامه باید متناسب با اهمیت سایت و منابع موجود باشد. برای یک سایت کوچک، مشخص بودن نسخه پشتیبان سالم، دسترسی های ضروری، محل بازیابی و مراحل راه اندازی می تواند نقطه شروع باشد. فروشگاه یا سامانه ای با تراکنش های حساس به بررسی دقیق تری نیاز دارد.
آیا بکاپ روزانه برای بازیابی پس از بحران کافی است؟
به RPO و شرایط بازیابی بستگی دارد. اگر از دست رفتن تغییرات یک روز قابل قبول نباشد، بکاپ روزانه به تنهایی با هدف داده سازگار نیست. حتی با RPO مناسب، باید زمان بازیابی، سلامت نسخه و امکان راه اندازی سرویس نیز آزمایش شود.
آیا استفاده از فضای ابری، Disaster Recovery را خودکار فراهم می کند؟
خیر. امکانات ابری می توانند اجرای بازیابی را آسان تر کنند، اما محدوده حفاظت هر سرویس، تنظیمات بکاپ و تکثیر داده، دسترسی ها و مسئولیت های تیم باید مشخص شوند. وجود منابع در فضای ابری به تنهایی اثبات نمی کند که کل سامانه پس از بحران قابل بازیابی است.
آیا می توان در حمله باج افزاری از آخرین نسخه پشتیبان استفاده کرد؟
فقط پس از بررسی سلامت و زمان آلودگی. جدیدترین نسخه ممکن است حاوی داده یا فایل آلوده باشد؛ بنابراین انتخاب نقطه بازیابی سالم، آماده سازی محیط پاک و رفع مسیر نفوذ ضروری است. در چنین شرایطی ممکن است به نسخه قدیمی تر نیاز باشد.
آیا می توان برای تمام سرویس ها یک RTO و RPO تعیین کرد؟
می توان هدف مشترک تعیین کرد، اما همیشه انتخاب مناسبی نیست. اهمیت سرویس ها و وابستگی های آنها متفاوت است. بهتر است اهداف متناسب با اثر توقف و از دست رفتن داده تعیین شوند و برای عملکردهای وابسته با یکدیگر هماهنگ باشند.
منابع فنی و مطالعه بیشتر
برای مطالعه جزئیات فنی بیشتر، منابع رسمی زیر مرتبط با مباحث این مقاله هستند. نمونه های اجرایی این مستندات مربوط به AWS است و باید با معماری و امکانات محیط خود تطبیق داده شوند.
- راهنمای AWS برای برنامه ریزی بازیابی پس از بحران: تعیین اهداف بازیابی براساس نیاز کسب و کار و اصول طراحی برنامه.
- مقایسه روش های بازیابی پس از بحران در AWS: توضیح Backup and Restore، Pilot Light، Warm Standby و Active/Active در محیط AWS.
- راهنمای AWS برای تست برنامه بازیابی: بررسی مسیر بازیابی، آمادگی تیم و دستیابی به اهداف RTO و RPO.


