snapshot  چیست

snapshot یک تصویر از تمام داده ها و وضعیت فایل های یک سیستم، در یک زمان خاص می باشد.درواقع Snapshot میتواند از حافظه و حتی محتوای memory ماشین مجازی یک عکس یا بک آپ بگیرد.مانند restore point خود ویندوز که اگر فعال باشد، قبل از هر گونه تغییرات ویا نصب درایور بر روی ویندوز، یک بک آپ از همان حالت گرفته و بعدا میتوان ویندوز را به قبل از نصب آن درایور restore  کرد.زمانی که از یک ماشین مجازی اسنپ شات گرفته می شود، هارد دیسک اصلی ماشین مجازی (Virtual Disk) در حالت read only قرار می گیرد و یک هارد دیسک مجازی ایجاد می شود به عنوان delta disk و هرتغییری که از بعد از snapshot بر روی ماشین مجازی  انجام شود، بر روی delta disk  قرار میگیرد.

وقتی شما می خواهید یک snapshot را پاک کنید، عملی به عنوان consolidate انجام می شود ، در فرآیند consolidate کاری که انجام می شود این است که تمام اجزاء delta disk  بر روی main disk  کپی می شود و زمانی که کپی شدن اطلاعات به پایان رسید، delta disk پاک شده و دوباره دیسک اصلی در حالت read & write قرار می گیرد.Snapshot ها روابط والد و فرزندی دارند و یک درخت را تشکیل می دهند و هر snapshot شاخه ای از درخت را تشکیل می دهند.باید در نظر داشت که هر چقدر snapshot  به مدت طولانی تر ی نگه داشته شود، حجم delta disk  افزایش پیدا می کند و باعث می شود زمان پاک شدن snapshot طولانی شود.در نتیجه نمی توان snapshot را به عنوان راه حلي برای بکاپ گیری در نظر گرفت و تنها یک راه کار موقت می باشد.

snapshot mechanism hypervisor

تفاوت بین snapshot و بک آپ :

اگر چه snapshot  و بکاپ قابلیت های مشابه به یکدیگر را ارائه می دهند ، اما کاملا با یکدیگر متفاوت هستند.البته که بسیاری از نرم افزار های بک آپ گیری ، ازsnapshot ها استفاده می کنند.اما دلایل زیادی وجود دارد که  snapshot  ها نباید جایگزینی برای بک آپ گیری استفاده شوند.اول این که snapshot  ها بر عملکرد سیستم ، تاثیر منفی می گذارند و مورد بعدی این که snapshot ها به داده های منبع یا همان Disk  اول وابسته هستند ، اگر Disk  اول از بین برود، snapshot  هم از بین می رود.