نوشته‌ها

بکاپ و ریکاوری دیتابیس

توانایی بک آپ یک دیتابیس، در کنار یکپارچگی بک‌آپ و بازگردانی کامل داده‌ها، از جمله مواردی مهمی است که به حیات یک کسب و کار کمک بسیاری می‌کند. در بسیاری از موارد، بازرسان آی‌تی بدون در نظر گرفتن یکپارچگی و یا سلامت بکاپ، تنها تایید می‌کنند که آیا روند بک آپ‌ گیری بر روی دیسک در حال انجام است یا خیر.

این مقاله موضوعات مربوط به از دست دادن داده و انواع بک‌آپ‌های دیتابیس و روش‌های ریکاوری را بررسی می‌کند. هم چنین بهترین روش‌هایی که می‌تواند به ادمین دیتابیس در ارزیابی اثربخشی پشتیبانی از پایگاه داده و بازیابی کمک کند نیز ارائه شده است. این مقاله بیشتر بر روی تکنولوژی و توانایی‌های سیستم دیتابیس اوراکل و SQL Server مایکروسافت تمرکز دارد چرا که این دو سیستم به صورت تخمینی ۴۰ درصد پایگاه داده‌های موجود را تشکیل می‌دهند.

یکی از مسئولیت‌های کلیدی ادمین دیتابیس آمادگی برای خرابی سخت‌افزار، نرم‌افزار و مدیا، و همچنین بازگردانی آن در زمان حادثه (Disaster Recovery) است. با فرض این که هرکدام از این خرابی‌ها اتفاق بیافتد، کاربران باید بتوانند در کمترین زمان به داده‌های قبلی خود و بدون خرابی، دسترسی داشته باشند. در نتیجه یک ادمین دیتابیس بایستی قادر باشد که به سوالات زیر پاسخ دهد.

 

  • ادمین دیتابیس چطور اطمینان حاصل می‌کند که اطلاعاتی که شرکت به آن وابسته است با موفقیت بک‌آپ شده و می‌توان از این بک‌آپ‌ها در محدوده زمانی مجاز SLA و یا زمان بازیابی هدف (که در پلن بازگشت از حادثه سازمان وجود دارد)، استفاده کرد؟
  • آيا ادمین دیتابیس اقداماتی را برای تهیه پیش‌نویس و آزمایش روش‌های حفاظت و بهبود پایگاه داده با استفاده از انواع وقوع خرابی را اتخاذ کرده است؟

 

در زیر یک چک‌لیست برای روش‌های بازیابی اطلاعاتی آورده شده است که در این مقاله توضیح داده می‌شوند:

  • توسعه یک پلن بک‌آپ جامع
  • اجرای مدیریت بک‌آپ موثر
  • ری‌استور دوره‌ای دیتابیس
  • همراه داشتن پلن ریکاوری برای مواقع خرابی
  • آپدیت نگه داشتن دانش خود و ابزار مربوط به بکآپ و ریکاوری دیتابیس

 

پلن جامع بکاپ دیتابیس

ادمین‌های دیتابیس مسئول ایجاد یک طرح پشتیبانی جامع برای پایگاه داده‌ها هستند. طرح پشتیبان باید شامل انواع سیستم‌های مدیریت دیتابیس رابطه‌ای شود و بایستی نواحی زیر را پوشش دهد:

 

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

 

  • نرم افزار سیستم عامل: رویدادی مثل خرابی سخت افزاری نیاز به ری‌استور کامل سیستم دارد، که با سیستم عامل شروع میشود. بنابراین نیاز به بکاپ از دیتابیس سرور سیستم عامل در ابتدا و بعد از آن بروزرسانی و تغییرات پیکربندی وجود دارد.
  • نرم‌افزار مدیریت دیتابیس رابطه ای: RDBMS باید در ابتدا و بعد از هر آپگرید و یا پچ بکاپ گرفته شود.
  • پسوردها: همه گذرواژه هایی که ممکن است در طول بازیابی مورد نیاز باشد باید حفظ شوند. ایده‌ای خوب برای اطمنیان از اینکه رمزهای عبوری که به طور پیش فرض همراه با نصب به وجود آمده اند، تغییر کرده است.
  • بکاپ گیری از همه دیتابیس های سیستم و کاربر.

 

 

بک آپ‌های لاجیکال:

در سیستم های مدیریت دیتابیس، می‌توان جدول‌ها و شمای دیتابیس ها را در هریک از فرمت‌های فایل که پشتیبانی میشوند بک آپ گرفت. سپس فایل های بکاپ گرفته شده را با استفاده از ابزارهای import and export  بازیابی کرد. این نوع بکاپ برای بازگردانی های سطح سیستم عامل توصیه نمی شود، چراکه معمولا فقط شامل اطلاعات ساختاری پایگاه داده هستند.

 

بک آپ‌های فیزیکی:

توصیه میشود که همه پایگاه داده های کاربر برای بازیابی کامل به صورت فول بکاپ پشتیبان گیری شوند تا هم دیتابیس‌‌ها و هم فایل‌های لاگ پایگاه داده را تا نقطه خرابی بازیابی کنند. ادمین‌های دیتابیس بایستی به طور کامل خود را با مدل‌های بازیابی دیتابیس آشنا کنند و این اطلاعات را بر اساس آن تنظیم کنند.

 

تعیین یک برنامه زمان بندی مناسب:

یکی از اقداماتی که میتوان انجام داد این است که پنجره پشتیبان گیری را در زمانی تعیین کنیم که کم ترین مقدار فعالیت بر روی پایگاه داده ها در حال انجام است و در نتیجه بک‌آپ‌ها نتوانند سرعت کاربرانی که در حال انجام فعالیت‌های خود هستند را کاهش دهد. ادمین دیتابیس میتواند بکآپ‌ها را با استفاده از موازی‌سازی کانال‌های مختلف تنظیم کند. با این حال هر ادمین دیتابیس بایستی ورژن دیتابیس مورد نظر خود را بررسی کند تا از وجود این آپشن مطمئن شود. در اکثر موارد بهتر است که یک چرخه بک‌آپ به صورت هفتگی راه اندازی کنید. اما بک آپ میتواند به صورتی ساعتی نیز انجام شود.

 

کجا بکاپ پایگاه داده را ذخیره کنیم:

بک آپ های پایگاه داده میتوانند به طور مستقیم بر روی دیسک ذخیره شوند. بک‌آپ‌های دیسکی سریع تر هستند و امکان مانیتورینگ بهتری نیز در اختیار شما خواهند گذاشت، همچنین زمان بازگردانی بهتری (MTTR) خواهند داشت.

 

تهیه پالیسی بکاپ‌ها:

سیاست بک‌آپ‌های بایستی بر اساس SLA‌‌ای باشد که توسط جامعه تجاری هر شرکت درباره آن تصمیم گیری شده است. همواره دارنده دیتا بایستی دوره‌ای که داده را در دست دارد را تعیین کند. این دوره ممکن است بین ماه‌ها تا سال‌ها طول بکشد. در نتیجه هر ادمین دیتابیس بایستی مدیریت این موضوع را به خوبی در دست داشته باشد و یک استراتژی برای پاک کردن داده‌های قدیمی و اضافه کردن داده‌های جدید داشته باشد.

 

 

مدیریت بک آپ پایگاه داده به صورت موثر:

بعد از تهیه یک برنامه پشتیبانی به صورت منسجم و تکمیل اقدامات اولیه، ادمین دیتابیس بایستی به صورت منظم بک‌آپ‌ها را منظم کند و نکات زیر را همیشه در ذهن داشته باشد:

 

  • مانیتور کردن بک‌آپ‌ها:

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

 

  • لاگ بک‌اپ‌ها:

لاگ‌های پشتیبان و اطلاعات کاتالوگ بک‌آپ بایستی به صورت دوره‌ای بررسی شوند.

 

  • اعتبارسنجی بک‌آپ‌ها

اعتبارسنجی بک‌آپ‌ها را به صورت دوره‌ای انجام دهید تا در آینده به مشکل خاصی نخورید.

 

 

تست بازگردانی بک‌آپ‌های دیتابیس

سناریو زیر را تصور کنید:

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

بعد از آن، بک‌آپی که به صورت آف‌سایت نگهداری شده بازگردانی و لود می‌شود. ولی یک پیام بر روی صفحه پدیدار می‌شود که می‌گوید بک‌آپ به دلیل مشکلات یکپارچگی (Integrity) قابل خواندن نیست. چه مشکلی می‌تواند پیش آمده باشد؟

اتفاقات زیادی می‌تواند منجر به این موضوع شود. اما واضح است که یکی از اقدامات حیاتی بکاپ گیری پایگاه داده انجام نشده است! بله درست حدس زدید؛ تست بک‌آپ موجود هیچ‌وقت اتفاق نیفتاده است. در واقع در صورتی که تیم آی تی یا ادمین‌های دیتابیس نتوانند بک آپ‌ها را ری‌استور کنند، این بک‌آپ‌ها بلااستفاده خواهند بود. برای بازگردانی نسخه بک‌آپ، هر ادمین دیتابیس بایستی موارد زیر را با جزئیات انجام دهد:

 

  • تست بازگردانی (ریستور) دیتابیس‌ها: این مرحله بایستی همواره یک الزام برای تست پایگاه داده‌ای که از آن بک‌آپ تهیه شده باشد.
  • اعتبارسنجی ریستورها: ادمین دیتابیس بایستی قادر باشد بدون بازگردانی دیتابیس، بک‌آپ‌ها را اعتبارسنجی کند. این بهترین روش برای تعیین این است که آیا نسخه بک‌آپ خوب و قابل استفاده است یا خیر.
  • بازگردانی پایگاه داده در محیط غیرعملیاتی: یکی از روش های مناسب برای تست بکاپ های دیتابیس، بازگردانی و تست آن ها در محیط غیر عملیاتی است.

 

SLA‌ بک آپ و بازیابی دیتابیس

تیم ادمین دیتابیس بایستی داکیومنت SLA را که شامل جزئیات رویه‌های پشتیبان گیری و جدول زمانی برای بازیابی میشوند را تهیه کرده و تایید مدیریت برسانند. توجه داشته باشید که خود SLA‌ در روند بازیابی تاثیر خاصی نداشته و صرفا انتظارات از بازیابی را بیان می‌کند.

 

بازیابی دیتابیس در زمان خرابی

تیم دیتابیس باید اطمینان حاصل کند که پایگاه‌داده‌ها به عنوان یک عنصر کلیدی در شرکت در نظر گرفته می‌شوند. تمام سهام‌داران باید مولفه‌های بهبود برنامه را درک کنند و متوجه باشند که درچه صورتی تیم آی‌تی پایگاه داده را بازیابی می‌کند. شرکت بایستی پیش‌نیازهای این مرحله را فراهم داشته باشد؛ به طوری که اکثر برنامه‌های کاربردی در سریع‌ترین زمان ممکن در دسترس باشند.

 

ابزارهای ریکاوری پایگاه داده

واضح است که ادمین دیتابیس نقش آخر و مهم‌ترین نقش را در این فرآیند ایفا می‌کند. در نتیجه بایستی دانش فنی خود را درباره ابزارهای پشتیبانی و بازیابی همیشه به روز نگه دارد چرا که در طول فرآیند بازیابی وقت کافی برای یافتن ابزارهای لازم را نخواهد داشت.

 

 

نتیجه

وظیفه اصلی و اولیه هر تیم ادمین دیتابیس مرور تمام سیستم‌های موجود مدیریت دیتابیس در درون سازمان است. هدف از این کار برنامه ریزی یک روش پویا و یک نقشه اساسی برای پیاده‌سازی بک‌آپ‌ها و مانیتور کردن آن‌ها است. تمام این عملیات بایستی به گونه‌ای مدیریت شود که کم‌ترین نقص را داشته و زمان از دست رفته را نیز به کوتاه‌ترین کاهش دهد.

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

 

بکاپ گیری و بازگردانی دیتابیس با استفاده از پنکیک

گرفتن نسخه پشتیبان از دیتابیس و بازگردانی سریع آن ها یکی از ویژگی های اصلی سرویس پایگاه داده پنکیک است. با استفاده از سرویس دیتابیس، علاوه بر میزبانی داده های خود روی سرورهای قدرتمند مخصوص پایگاه داده، خواهید توانست:

  • بصورت ساعتی از پایگاه داده فول بکاپ تهیه کنید.
  • بازگردانی هر فول بکاپ را در کمتر از ۱ دقیقه انجام دهید.
  • یک نسخه کلون از بکاپ دیتابیس خود را در محیط غیرعملیاتی بازگردانی نمایید.