نتسا مقالات Snapshot چیست؟ کاربرد و انواع تکنولوژی های Snapshot

logo

Snapshot چیست؟ کاربرد و انواع تکنولوژی های Snapshot

دسته بندی: مقالات
توسط : فرناز شعبانی 0 دیدگاه
31 آگوست 2020

Snapshot چیست؟

Snapshot Backup در اصل نوعی نسخه پشتیبان تهیه شده می باشد که برای ایجاد یک نمونه کلی یا کپی از معماری یک برنامه یا اپلیکیشن، دیسک یا سیستم استفاده می شود. این نسخه تهیه شده بکاپ برای فرآیند پشتیبانی جهت بازیابی سیستم یا دیسک دستگاهی خاص (سرور و استوریج) در زمان مشخص استفاده می شود. از نسخه پشتیبان Snapshot میتوان به عنوان یک نوع بک آپ تصویری نیز نام برد.

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

Snapshot Image چیست؟

اسنپ شات ایمیج یک نسخه حقیقی از حجم محتوایی می باشد که در یک نقطه زمانی خاص از آن اطلاعات ثبت شده است. Snapshot Image برای ذخیره اطلاعات ثبت شده از حداقل فضای ذخیره سازی استفاده می کند.

نحوه ذخیره سازی بکاپ Snapshot Image:

زمانیکه یک Snapshot Image ایجاد می شود، دقیقاً با حجم پایه فضای ذخیره سازی مطابقت دارد. پس از گرفتن Snapshot، هنگامی که اولین درخواست Write برای هر بلاک یا مجموعه ای از بلوک ها بر روی ظرفیت پایه رخ می دهد، اطلاعات اصلی قبل از گرفتن Snapshot بر روی فضای رزرو در نظر گرفته شده، پیش از آنکه اطلاعات جدید بر روی Base Volume نوشته شود، کپی می شوند.

Snapshot های بعدی تنها حاوی بلوک های اطلاعاتی هستند که از زمان ایجاد اولین Snapshot Image تغییر کرده اند. هر عملیات Copy-on-write که پس از آن اتفاق می افتد، اطلاعات اصلی راکه می خواهید مجدداً بر روی Base Volume نوشته شود ذخیره میکند، این عملیات قبل از آنکه اطلاعات جدید بر روی حجم پایه نوشته شود، در فضای رزرو شده برای ذخیره Snapshot انجام می شود.

کاربرد و انواع تکنولوژی های Snapshot

از تکنولوژی Snapshot معمولاً برای تقویت سیستم های محافظت از اطلاعات و کاهش زمان بازیابی اطلاعات (Recovery Time Objectives (RTOs)) و (Recovery Point Objectives (RPOs)) بطور قابل ملاحظه استفاده می شود. در ادامه به بررسی انواع فناوری های عکس فوری (Snapshot) و جوانب مثبت و منفی هر یک از آنها خواهیم پرداخت. همچنین برای تست اپلیکیشن ها و نرم افزارهای کاربردی و داده کاوی نیز استفاده می گردد.

هر Snapshot از دیسک متفاوتی استفاده می کند، دیسک سخت مجازی (VHD)، که تغییرات ایجاد شده در دیسک مجازی دیگر یا سیستم عامل مهمان را ذخیره می کند. این VHD تمام عملیات Write در آینده را متوقف می کند و داده های اصلی را در حالت غیرقابل تغییر قرار می دهد. Snapshot ها یک رابطه مانند مادر-فرزندی ایجاد می کنند و مانند یک درخت استوار و شاخه ای می باشند و هر Snapshot گرفته شده شاخه ای دیگر از این درخت را می سازد.

در ادامه به بررسی انواع تکنولوژی Snapshot خواهیم پرداخت.

  • Copy-on-write
  • Redirect-on-write
  • Clone or split-mirror
  • Copy-on-write (COW) with background copy
  • Incremental
  • Continuous data protection (CDP)

Copy-on-write Snapshot

در این نوع از Snapshot که Copy-on-write نام دارد برای ذخیره Snapshot های تهیه شده به فضا و ظرفیت ذخیره سازی نیاز دارند، و در ادامه Snapshot از یک Volume معین برای شروع کار خود بر روی ظرفیت رزرو شده استفاده می شود. در نوع Snapshot Copy-on-write تنها داده های بزرگ یا Metadata در مکان اصلی که دیتاها قرار دارند ذخیره می شوند، اما اطلاعات واقعی در ابتدای کار کپی نمی شود. این امر باعث می شود ایجاد Snapshot بطور تقریبی در لحظه انجام شود، تاثیر گذاری بر روی سیستم و سرعت آن در این حالت در کمترین میزان خود خواهد بود.

سپس Snapshot به عنوان Volume اصلی با توجه به بلوک های تغییر یافته هنگام انجام عملیات Write، آنها را ردیابی می کند. با تغییر بلوک ها، اطلاعات اصلی که به عنوان ظرفیت رزرو برای ذخیره سازی اختصاصی برای Snapshot قبل از باز نویسی اطلاعات اصلی می باشد، کپی می شوند. بلوک های داده اصلی که گرفته شده با اولین درخواست نوشتن یکبار کپی می شوند. این فرآیند تضمین میکند که اطلاعات نسخه پشتیبان Snapshot گرفته شده دقیقا متعلق به همان زمان گرفته شده می باشد و به همین خاطر به این مراحل Copy-on-write گفته می شود.

در خواست های مربوط به Read اطلاعات بدون تغییر، به Volume اصلی هدایت می شوند و درخواست های مربوط به اطلاعات تغییر یافته به بلاک های کپی شده مرتبط با Snapshot هدایت می شوند. هر Snapshot شامل ابر داده که برای تعریف بلوک های داده تغییر یافته از زمان ایجاد اولین اسنپشات می باشد.

مهمترین مزیت Copy-on-write کارآمد بودن و بهینه سازی  فضای ذخیره سازی می باشد زیرا فضای رزرو در نظر گرفته شده برای ذخیره سازی Snapshot فقط به اندازه ای بزرگ می باشد که اطلاعات گرفته شده از تغییرات را در خود ذخیره کند. البته نکته منفی مشهور این روش نیز کاهش عملکرد Original Volume می باشد. دلیل این عملکرد ضعیف به این علت می باشد که درخواست های مربوط به نوشتن Volume اصلی باید در صف منتظر باشند تاز مانی که اطلاعات اصلی در Snapshot کپی شوند. از جنبه های کلیدی کپی در زمان نوشتن اینست که هر درخواست Snapshot نیاز به یک نسخه معتبر و اصلی از کپی داده ها دارد.

Redirect-on-write (ROW) Snapshot

Redirect-on-write با Copy-on-write قابل مقایسه می باشد، اما نکات منفی موجود به علت Write دوبرابر رفع شده است. در حالت RAW Snapshot همانند Copy-on-write فضای مناسبی برای ذخیره سازی Snapshotها فراهم می آورد. آنچه که در روش ROW منجر به حذف نکات منفی در عملکرد گردیده، اینست که دستورات نوشتن جدید به Volume اصلی بصورت مستقیم به فضای ذخیره سازی که برای Snapshotها اختصاص داده شده، ارسال میشود. ROW Redirection برای Writeها منجر به کاهش نوشتن ها از دو به یک می گردد. بنابراین بجای کپی یک نسخه از دیتاهای اصلی به فضای ذخیره سازی به علاوه یک نسخه از داده های تغییر یافته که در نوع COW شاهد آن بودیم در ROW تنها یک نسخه تغییر یافته از اطلاعات ثبت می گردد.

در نوع Redirect-on-write، نسخه کپی اصلی شامل داده های Point-in-time از Snapshot می باشد و این داده های تغییر یافته در نهایت در محل ذخیره سازی Snapshot قرار گرفته است. هنگام حذف Snapshot مقداری پیچیدگی وجود دارد. اطلاعات Snapshot حذف شده باید در Original Volume کپی شده و نیاز به بازگشت به آن اطلاعات می باشد. این پیچیدگی در خصوص Snapshot ها در زمان ایجاد بیشتر می شود، که دسترسی به داده های اصلی شامل اطلاعات Snapshot و ردیابی داده های Original Volume، جهت ارتباط با اطلاعات Snapshot حذف شده را دچار مشکل میکند. در زمانی که مجموعه ای از داده های اصلی (زمانیکه به Snapshot وابسته است) تکه تکه می شود، مشکلات جدی ایجاد می شود.

Clone or Split-mirror Snapshot

در مدل Clone or Split-mirror Snapshot یک کپی مشابه از داده ها ایجاد می کند و این نسخه ساخته شده میتواند یک Volume ذخیره، فایل مرتبط با سیستم و یا یک LUN باشد. نکته مورد توجه در خصوص روش Clone تهیه نسخه بکاپ که به راحتی در دسترس است می باشند و اما نکته منفی آن اینست که چون همه داده ها باید کپی شوند، نمی تواند عملیات بصورت فوری انجام شود. یک Clone می تواند فوراً در دسترس باشد که با تقسیم همزمان Volume Mirror بصورت یک همزمانی از پیش تعریف شده دو برابر میشود.  با این حال، زمانیکه اسپیلیت میرور به عنوان کلون استفاده می شود، Original Volume هماهنگی آینه ای خود را از دست می دهد.

نکته منفی بسیار مهم در این روش تهیه Snapshot اینست که هر Snapshot به همان اندازه داده اصلی نیاز به فضای ذخیره سازی دارد. این انتخاب می تواند پر هزینه تمام شود، بخصوص اگر نیاز به تهیه Snapshot Clone بیشتر از یک نسخه باشد که در هر زمان موثر عمل کند. مورد دیگری که میتوان به آن اشاره کرد، تاثیر آن بر عملکرد سیستم به دلیل لود حجم کاری Write بصورت همزمان به نسخه کپی آینه ای است.

Copy-on-write with Background Copy Snapshot

Copy-on-write با کپی پس زمینه، یک نسخه Snapshot تهیه شده بصورت لحظه ای توسط COW را گرفته و با استفاده از فرآیند زمینه ای برای کپی کردن اطلاعات از مکان اصلی خود به محل اختصاصی ذخیره سازی Snapshot استفاده می کند. این عمل ایجاد یک Clone یا Mirror از داده های اصلی می باشد.

Copy-on-write with Background Copy تلاش می کند تا ضمن به حداقل رساندن نقاط ضعف عملیات COW، از بهترین جنبه های آن استفاده کند. اغلب این روش را به عنوان ترکیب هیبریدی از COW و Clone تعریف می کنند.

 

Incremental snapshot

در روش Incremental Snapshot تغییرات مرتبط با داده های مبدأ و Snapshot داده ها در زمان ایجاد اسنپشات ردیابی می شود. زمانی که عکس فوری تکمیلی تولید می شود، داده های اصلی Snapshot بروز رسانی یا refresh می شوند. یک به اصطلاح مهر زمانی بر روی داده های اصلی عکس فوری و هر فایل دیگر Snapshot بعد آن وجود دارد. این ثبت زمان کمک میکند تا بتوان در صورت نیاز به بازگشت به هر Snapshot در هر لحظه مورد نظر امکانپذیر گردد. در روش Incremental Snapshot امکان افزایش سرعت گرفتن Snapshot بعد از اولین عکس وجود دارد و فقط بصورت اسمی از فضای ذخیره سازی بیشتر از اطلاعات اصلی استفاده می کنید. این امر امکان ماندگاری Snapshot طولانی تر و تهیه مکرر آن را مهیا می سازد.

از معایب آن میتوان به فناوری پایه ای اصلی استفاده شده در اولین Snapshot ایجاد شده ( مانند: copy-on-write، redirect-on-write، clone/split-mirror یا  copy-on-write with background copy) اشاره کرد. اگر Clone استفاده شده باشد، اولین Snapshot مدت زمان بیشتری میخواهد، اگر از COW استفاده شده باشد، Penalty بر عملکرد در زمان نوشتن به داده های اصلی و … وجود خواهد داشت.

محافظت مداوم از داده ها

Continuous data protection به منظور به حداقل رساندن از دست رفتن اطلاعات و بازیابی داده ها یا Recovery Point Objectives (RPOs) و بازیابی اطلاعات فوری یا Instantaneous Recovery Time Objectives (RTOs) توسعه داده شده است. شبیه به عملکرد Mirroring اطلاعات همزمان می باشد به غیر از اینکه باعث حذف کامل فجایع نمی شود (مشکل موجود در دیتا اولیه بصورت اتوماتیک همان مشکلی می باشد که در mirrored data وجود دارد، خیلی قبل تر از آنکه مداخله نیروی انسانی بتواند جلوی آن را بگیرد.

محافظت مداوم از اطلاعات مانند عکس های تکمیلی یا همان Incremental Snapshotها بر روی استروئیدهاست ( بسیار محکم و قابل اطمینان). هر زمان که اتفاق بیافتد و ثبت زمانی روی آنها قرار گیرد، هرگونه تغییر در داده های اصلی را ثبت و کپی می کند. بطور اساسی Incremental Snapshot برای ثبت هر لحظه ایجاد شده، و بازیابی بر اساس ریزترین اطلاعات ارائه می شود. برخی پیاده سازی های CDP هم از نطر زمانی و هم بر اساس رویدادها می باشد (مانند ارتقاء برنامه ها و اپلیکیشن ها). یک مزیت برای انتخاب CDP، یک مجله تصویری کامل تهیه شده از اطلاعات ذخیره شده می باشد.

محافظت از دیتا مداوم یک شکل عالی برای محافظت از اطلاعات از طریق ایمیل، پایگاه داده ها و اپلیکیشن هاست که بر مبنای بانک های اطلاعاتی می باشد. توانایی بازگشت به هر نقطه زمانی مورد نیاز باعث می شود بازیابی ها ساده و سریع انجام شود. FalconStor’s IPStor نمونه ای از سیستم ذخیره سازی و یا اپلیکیشن مجازی سازی می باشد که CDP را ارائه می دهد.

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

دیدگاه خود را ارسال کنید