بازدید: 128 بازدید

اسنپ شات چیست؟

عکس فوری یا sanpshot نوعی فناوری و تکنولوژی برای ذخیره‌سازی وضعیت سیستم در زمان معین است. یعنی اگر حالت سیستم شما به‌صورت aaaaa در زمان مثلا x است، تصویر آن ثبت شده و در صورت ازبین‌رفتن داده‌ها یا پردازش‌های خاص، می‌توان از اسنپ شات در دسترس استفاده کرد. با یک مثال بهتر می‌توانید مفهوم این سیستم را درک کنید.

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

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

این مثال دقیقا نشان‌دهنده ساختار اصلی snapshot است. یعنی در هر زمان معین و خاصی (بر اساس برنامه و سیستم از قبل تعیین شده) تصویری از وضعیت کنونی هارددیسک ثبت می‌شود و در مکانی (اغلب در فضای ذخیره‌سازی جداگانه) نگهداری می‌شود.

snapshotنوعی سیستم و تکنولوژی برای بازیابی و ریکاوری داده‌ها در زمان کوتاه است

نحوه کار snapshot یا عکس فوری

Storage snapshots یا تصاویر فوری ذخیره‌سازی، مبتنی بر استفاده از دیسک متفاوت هستند. منظور از دیسک متفاوت یا متمایز نوع خاصی از virtual hard disk یا هارددیسک مجازی بوده که به هارددیسک مجازی مادر (اصلی) لینک شده است.

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

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

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

بررسی نحوه پشتیبان‌گیری از داده‌ها توسط sanpshot

فرض کنید که بر روی سیستم و سرور خود داده‌هایی به‌صورت ABCDEF ذخیره شده است. با استفاده از تکنولوژی عکس فوری یا snapshot ابتدا یک عکس از همین حالت یعنی ABCDEF گرفته شده و با عنوان مثلا روز اول در دیتابیس ذخیره می‌شود. حال اگر کل یا قسمتی از اطلاعات از بین برود، به‌سادگی می‌توان با مراجعه به‌عکس گرفته شده، اطلاعات را بازیابی کرد.

در روز دوم فرض کنید که داده‌های G و H به‌جای B و E قرار گرفته‌اند و I و J نیز به کل فایل اضافه شده است. اسنپ شات روز دوم به‌صورت AGCDHFIJ ذخیره خواهد شد. حال در روز سوم، تغییرات مربوط به داده‌های K و L به‌جای D و H بوده و M نیز به کل اطلاعات اضافه شده است. در این صورت اسنپ شات روز سوم به‌صورت  AGCKLFIJM ذخیره می‌شود.

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

انواع مختلف تکنولوژی عکس فوری

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

  1. Copy-on-write snapshots
  2. Clone یا  split-mirror snapshots
  3. Copy-on-write  با  background copy
  4. Redirect-on-write storage snapshots
  5. Incremental snapshots
  6. VMware snapshots

۱) Copy-on-write snapshots

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

اطلاعات موجود در Copy-on-write snapshots دقیقا با زمان ثبت تصویر مطابقت دارد که دلیل نام‌گذاری Copy-on-write همین موضوع است. درصورتی‌که قصد دارید تمامی داده‌های ذخیره شده روی شبکه یا رسانه ذخیره‌سازی را بایگانی یا بازیابی کنید، نیاز به دردسترس‌بودن تمامی تصاویر فوری قبلی است. هر فرایند Copy-on-write نیاز به یک خواندن و دو نوشتن دارد. داده‌ها قبل از بازنویسی باید خوانده و در مکان متفاوتی ذخیره شوند.

۲) Clone یا  split-mirror snapshots

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

۳) Copy-on-write  با  background copy

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

۴) Redirect-on-write storage snapshots

این نوع تصاویر فوری شبیه به کپی روی نوشته (copy-on-write) هستند ولی عملیات نوشتن به محلی که ازقبل برای اسنپ شات‌ها شرط شده است، هدایت می‌شوند و نیاز به دو بار نوشتن را از بین می‌برد. تصاویر فوری تغییر مسیر (Redirect-on-write snapshots) به‌جای کپی داده‌های اصلی، داده‌های تغییریافته را می‌نویسند.

هنگامی که یک snapshot حذف می‌شود باید یک کپی از آن با داده‌های اصلی از نظر حجم مطابقت داشته باشد. ساختن storage snapshotهای اضافی باعث پیچیده‌تر شدن دسترسی به داده‌های اصلی از طریق sanpshop data می‌شود.

۵) Incremental snapshots

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

۶) VMware snapshots

عکس‌های فوری VMware با کپی‌کردن فایل دیسک ماشین مجازی قادر به بازگردانی آن (VM) به نقطه زمانی خاص، در صورت بروز مشکل خواهد بود. همان‌طور که از نام این نوع اسنپ شات معلوم است، در محیط‌های مجازی VMware کاربرد داشته و در مدت‌زمان یک ساعت حذف می‌شوند. ادمین‌ها می‌توانند چندین عکس فوری از virtual machine گرفته و چندین نقطه بازیابی ایجاد کنند. زمانی که یک snapshot گرفته می‌شود هر داده قابل نوشتن (writeable data) تبدیل به read-only خواهد شد.

backup چیست؟

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

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

تفاوت snapshot و backup

تفاوت‌های زیادی میان بک‌آپ snapshot وجود دارد اما می‌توان از هر دو متر برای ابداع یک پروسه بهتر استفاده کرد. یکی از عمده تفاوت‌های این دو متد پشتیبان‌گیری از داده‌ها، میزان فضای موردنیاز برای نسخه‌های متعدد از هرکدام است. برای مثال فرض کنید که داده‌های کل ذخیره شده در سیستمی ۶ ترابایت (TB) است. اگر هر روز قرار باشد یک نسخه پشتیبان از آن تهیه شود، تقریبا روزانه نیاز به ۶ TB فضای بیشتر خواهد بود که در طول ده روز این مقدار به عدد ۶۰ خواهد رسید. این یعنی که نمی‌توان از Backup برای پشتیبان‌گیری به‌صورت نسخه‌سازی استفاده کرد.

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

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

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

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

بهبود پروسه پشتیبان‌گیری با استفاده از ادغام snapshot و backup

فرایند پشتیبان‌گیری از دیتابیس‌های فعال به روش سنتی کارساز نیست. زیرا در زمان اتمام پروسه، داده‌های موجود در پایگاه‌داده تغییریافته و درنهایت فایل بک‌آپ خراب خواهد شد. پس نمی‌توان به‌صورت ساده و با شروع کپی‌کردن هر بایت از یک دیتابیس فعال، نسخه پشتیبانی از آن تهیه کرد. ازاین‌رو نیاز است تا با ادغام دو متد snapshot و backup، فرایند پشتیبان‌گیری مدرنی را ابداع کرد.

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

جمع‌بندی

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

یعنی اگر سخت‌افزار سیستم دچار مشکل شود و در حالت کلی سیستم از دسترسی خارج گردد، نمی‌توان با استفاده از Snapshot داده‌ها را بازیابی کرد. ازاین‌رو این تکنولوژی نمی‌تواند جایگزین کاملی به‌جای backup سنتی باشد. اما می‌توان با ادغام این دو متد به بهبود فرایند بک‌آپ‌گیری از داده‌ها و دیتابیس‌های فعال کمک کرد.

در این مقاله سعی شد تا به بررسی کامل تکنولوژی یاد شده بپردازیم. امید است تا مطالعه آن کمکی به حل برخی از سوالات شما کاربران عزیز کرده باشد.

مطالعه بیشتر