در مدیریت سرورها و محیطهای مجازی، حفظ وضعیت فعلی سیستم از اهمیت بالایی برخوردار است. اسنپشات یکی از ابزارهای بسیار مهم و کاربردی در این زمینه است که به کاربران اجازه میدهد وضعیت دقیق و کامل سرور ابری یا VPS خود را در یک زمان مشخص ذخیره و حفظ کنند. این امر در مواقعی که نیاز به بهروزرسانی نرمافزارها، بازگردانی اطلاعات یا حتی اصلاح خطاهای اتفاقی دار، بسیار ارزشمند است.
اسنپ شات چیست؟
اسنپشات یا Snapshot، یک نسخه فشرده و ثابت از وضعیت یک سیستم یا داده در یک زمان خاص است. اسنپ شات ثبت شده در هر لحظه شامل تصویری از سیستم فایل، حالت حافظه یا حالت دیگری از محیط سرور است. در واقع، اسنپ شات یک فرایند است که امکان بازیابی وضعیت یک سیستم را در زمان مشخصی فراهم میکند. هنگامی که از یک اسنپ شات برای بازیابی سرور استفاده میشود، سرور دقیقا به همان شکلی که در زمان اسنپ شات بود، برمیگردد. به همین دلیل، اسنپ شات معمولا تنها در صورتی کاربردی تلقی میشود که بخواهید به نسخه اخیر سرور خود بازگردید. اسنپ شات کمترین فضای ذخیره سازی را اشغال میکند.
Snapshot در VMware چیست؟
اسنپشات VMware یک کپی از یک ماشین مجازی (VM) در یک محیط VMware است که در یک زمان مشخص گرفته میشود. Snapshot ها برای بازگرداندن ماشین مجازی به یک نقطه خاص در صورت خرابی یا خطای سیستم کاربردی تلقی می شوند نه برای تهیه نسخه پشتیبان از VM.
اسنپشات VM تصویری از وضعیت و دادههای یک VM در یک زمان خاص است. وضعیت به این معناست که آیا VM روشن است، خاموش است یا به حالت تعلیق درآمده است. اسنپشات از VM میتواند در هر یک از این وضعیتها گرفته شود. دادههای ماشین مجازی شامل تمام فایلها، اجزاء و دستگاههای آن میشود، مانند حافظه، دیسکها و کارتهای شبکه مجازی (NICs) آن است. اسنپشات VMware وضعیت و دادههای ماشین مجازی را در زمان فعلی حفظ میکند، بنابراین پس از اتمام تست، میتوانید به سرعت ماشین مجازی را به حالت دلخواه برگردانید. به عنوان مثال، در صورتی که خطاهایی رخ داده یا تغییراتی انجام شده باشد که ناخواسته باشد، اسنپشات امکان بازیابی دقیق و سریع را برای شما فراهم میکنند.
کاربرد Snapshot
اسنپ شات در مدیریت سرورها و محیطهای مجازی یکی از ابزارهای مهم شناخته میشود. برخی از کاربردهای اسنپشات عبارتند از:
- تست و آزمایش نرم افزار: با استفاده از اسنپ شات میتوانید وضعیت سرور را قبل از نصب نرم افزار یا انجام تغییرات ذخیره کنید و در صورت نیاز به وضعیت قبلی بازگردید.
- پشتیبانگیری و بازیابی داده: اسنپشات امکان ایجاد نسخههای پشتیبان فشرده از وضعیت فعلی سرور یا محیط مجازی را فراهم میکند. نسخههای پشتیبان میتوانند در مواقع ایجاد مشکلات مانند حذف دادهها یا خرابیهای ناگهانی، به وضعیت قبلی بازگردید.
- سندباکسینگ (ساخت محیطهای آزمایشی مجازی): با استفاده از اسنپشات میتوان محیطهای آموزشی یا توسعه را به سرعت و با دقت ایجاد کرده و در صورت نیاز به وضعیت قبلی بازگشت.
- مهاجرت و انتقال سریع سرور ابری: با استفاده از اسنپشات، میتوان سریعاً از یک سرور مجازی به سرور دیگر مهاجرت کرده و اطمینان حاصل کرد که دادهها و وضعیت سیستم به صورت صحیح انتقال یافتهاند.
تفاوت اسنپ شات و بکاپ
در ادامه به بررسی تفاوت Backups و Snapshots خواهیم پرداخت.
پشتیبانگیری | اسنپشات |
ممکن است در مکان دیگر، همان سرور یا حتی همان درایو ذخیره شود | در همان مکانی که دادههای اصلی ذخیره شدهاند نگهداری میشود |
ممکن است تفاوتهایی براساس زمانی که پشتیبانگیری شروع و پایان یافته باشد، داشته باشد. | “تصویری” از سرور شما در یک زمان خاص |
بلندمدت | کوتاهمدت |
فایل سیستم | فایلها، نرمافزارها و تنظیمات |
زمان طولانی برای کپی کردن دادهها | سریع برای کپی کردن دادهها |
به صورت کلی، اسنپشات معمولاً برای مواقعی که نیاز به بازگردانی سریع و زمانی محدود دارید مناسب است، در حالی که پشتیبانگیری بیشتر برای حفظ اطلاعات در مقابل حوادث بزرگتر و برای مدت طولانی استفاده میشود.
فایلهای ایجاد شده در اسنپ شات
هنگامی که یک اسنپشات گرفته میشود، این عمل باعث ایجاد فایلهای زیر میشود:
- فایل vmdk. : این فایل ماشین است که به آن سیستم عامل مهمان (OS) میتواند در آن اطلاعات بنویسد.
- فایل delta.vmdk- : یک دیسک دلتا (همچنین به آن دیسک فرزند هم گفته میشود) تفاوت بین وضعیت فعلی دیسک مجازی و وضعیتی است که در زمان گرفتن اسنپشات قبلی وجود داشته است. دیسک دلتا از دو فایل تشکیل شده است: یک فایل توصیفکننده کوچک و یک فایل که حاوی دادههای خام است. فایلهای توصیف و فلت همچنین با نامهای log های redo نیز خوانده میشوند.
- فایل vmsn. : این یک فایل اختیاری است که حافظه VM را ذخیره میکند. همانطور که در بالا توضیح داده شد، اگر وضعیت حافظه را ذخیره نکنید، عملیات “بازگردانی به اسنپشات” ماشین مجازی را به یک وضعیتی که اجرا نمیشود باز میگرداند و باید به صورت دستی دوباره راهاندازی شود.
- فایل vmsd. : این یک فایل پایگاه داده است که شامل اطلاعات اسنپشات VM و تمام ارتباطات بین اسنپشات و بین دیسکهای دلتا برای هر اسنپشات است.
نحوه مدیریت اسنپشاتهای VMware
برای مدیریت اسنپشاتهای VMware میتوانید از کلاینت وب vSphere برای ایجاد اسنپشات جدید، حذف اسنپشاتها و سایر اقدامات استفاده کنید، در ادامه تمام گزینههای مدیریتی اسنپ شات را برایتان شرح خواهیم داد:
- ایجاد اسنپشات (Create Snapshot): با استفاده از این گزینه، میتوانید یک اسنپشات جدید از یک ماشین مجازی ایجاد کنید که به عنوان اسنپشات فعلی مورد استفاده قرار میگیرد. میتوانید اسنپشات را هنگامی که ماشین مجازی روشن، خاموش یا تعلیق شده است، بگیرید.
- حذف اسنپشات (Remove Snapshot): با استفاده از این گزینه میتوانید یک اسنپ شات حذف کنید و همچنین حذف هر فضای ذخیرهسازی مرتبط با آن را میدهد.
- حذف تمام اسنپ شات (Remove All Snapshots): این گزینه تمام اسنپشات مرتبط با یک ماشین مجازی را حذف میکند. اگر ماشین مجازی هیچ اسنپشاتی نداشته باشد، این عملیات به صورت موفقیتآمیز باز میگردد.
- بازگشت به اسنپشات (Revert to Snapshot): این گزینه وضعیت اجرای یک ماشین مجازی را به وضعیت اسنپشات انتخاب شده تغییر میدهد. این همانند گزینه Go To در زیر Snapshot Manager در کلاینت vSphere/VI است.
- بازگشت به آخرین اسنپشات (Revert to Latest Snapshot): این گزینه به آخرین اسنپشات برای ماشین مجازی باز میگردد.
- ادغام (Consolidate): این گزینه سلسله مراتب log های redo را ادغام میکند. این قابلیت از نسخه 5.0 و بعدی vSphere پشتیبانی میشود.
آموزش نحوه ایجاد اسنپ شات
- ابتدا به محیط VMware خود وارد شوید با راستکلیک کردن بر روی VM، به مدیر اسنپشات VMware vSphere دسترسی پیدا کنید، سپس بر روی گزینه Create Snapshot کلیک کنید. یا میتوانید
VM > Actions > Snapshots > Take snapshot را انتخاب کنید.
- در پنجرهی پاپ آپ، یک نام و توضیحات برای اسنپشات وارد کنید. توصیه میشود توضیحات مفصلی از کارهایی که با VM انجام شده یا نحوه پیکربندی VM ارائه شود.
- اگر گزینه “Snapshot the virtual machine’s memory” را تیک بزنید، اسنپشات همچنین حافظه VM را نیز ثبت خواهد کرد. با انتخاب این گزینه در صورتی VM در زمان گرفتن اسنپ شات در حال اجرا باشد، آیکون اسنپ شات سبز خواهد بود.
- برای ایجاد اسنپ شات روی OK کلیک کنید.
اکنون میتوانید با استفاده از این اسنپشات، ماشین مجازی را به وضعیت مورد نظر بازگردانید یا از آن به عنوان یک نقطه بازگشت استفاده کنید.
بازگشت به اسنپشات
تصویر زیر چند اسنپشات را نشان میدهد که میتوان از بین آنها انتخاب کرد. اگر به اسنپشات با آیکون سبز برگردیم، VMدر وضعیت اجرا قرار خواهد گرفت.
- برای بازگشت به یک اسنپشات، از snapshot manager، یکی از اسنپشاتها را انتخاب کنید (برای مثال Patch 2) و بر روی گزینه “Revert To” کلیک کنید.
- روی OK کلیک کنید.
- توجه داشته باشید که پیغامی دریافت خواهید کرد که می گوید ” وضعیت فعلی ماشین مجازی از دست خواهد رفت مگر اینکه در یک اسنپ شات ذخیره شود”. این به این معنی است که اگر تغییراتی روی ماشین مجازی اعمال کرده و آنها را با ایجاد یک اسنپشات ذخیره نکرده باشید، کار شما از دست خواهد رفت. اگر آماده انجام این کار هستید، روی OK کلیک کنید.
- snapshot manager محل قرارگیری شما را در ترتیب اسنپ شات را نشان میدهد. از آنجا که اسنپشات Patch 2 حافظه ماشین را ندارد، شما باید ماشین مجازی را به صورت دستی راهاندازی کنید.
حذف اسنپ شات در کلاینت وب vSphere
Snapshot Manager میتواند برای حذف یک اسنپشات یا تمامی اسنپشاتها در یک نمودار اسنپشات استفاده شود.
برای حذف اسنپ شات در کلاینت وب vSphere روی ماشین مجازی راست کلیک کرده و Manage Snapshots کلیک کنید.
برای پیدا کردن یک ماشین مجازی:
- یک مرکز داده، پوشه، کلاستر، مخزن منابع، میزبان یا vApp را انتخاب کنید.
- بر روی تب Related Objects کلیک کرده و بر روی Virtual Machines کلیک کنید.
در Snapshot Manager، روی یک اسنپ شات کلیک کنید تا آن را انتخاب کنید. سپس انتخاب کنید که میخواهید یک اسنپ شات را حذف کنید یا تمامی اسنپ شاتها را.
اگر انتخاب شما حذف یک اسنپ شات میباشد Delete را انتخاب کنید.
- Delete دادههای اسنپ شات را به اسنپ شات والد منتقل میکند و عکس فوری انتخاب شده را از Snapshot Manager و ماشین مجازی حذف میکند.
اگر انتخاب شما حذف تمام اسنپ شاتها میباشد all Delete را انتخاب کنید.
- all Delete تمامی اسنپ شاتهای قبل از وضعیت فعلی You are here را به دیسک پایه ترکیب می کند و همه اسنپ شات موجود را از Snapshot Manager و ماشین مجازی حذف میکند.
برای خروج از Snapshot Manager روی Close کلیک کنید.
بهترین روشهای اسنپشات VMware
استفاده از اسنپشات در VMware یکی از روشهای مهم برای ذخیره وضعیت فعلی یک ماشین مجازی است. این روش برای ایجاد نسخه پشتیبانی از ماشین مجازی و برگشت به وضعیت قبلی آن بسیار کاربردی است. با این حال، برای استفاده بهینه از اسنپشات، لازم است موارد زیر را در نظر گرفت:
- اسنپشاتها فضای قابل توجهی را اشغال میکنند، بنابراین بهتر است تعداد اسنپشات را به ۲ یا ۳ عدد محدود کنید.
- استفاده از اسنپشات در محیطهای آزمایشی یا توسعهای قابل قبول است، اما از استفاده از آنها در محیطهای تولیدی نباید استفاده شود.
- یک ماشین مجازی دارای اسنپشات معمولاً عملکرد ضعیفی خواهد داشت زیرا IOPS را دو برابر میکنید و همچنین بار محاسباتی CPU در محاسبه تفاوت بلوکها وجود دارد.
- بهتر است همیشه از نرمافزار پشتیبانگیری مناسب استفاده کنید زیرا اسنپشات به عنوان یک روش پشتیبانگیری و بازیابی طراحی نشدهاست.
- میتوانید برای مدیریت اسنپشات بر روی چندین ماشین مجازی از راهکارهای شخص سوم استفاده کنید که به شما کنترل بیشتری بر روی محیط مجازیتان میدهند. به عنوان مثال، می توانید به سرعت ایجاد یا حذف غیرمجاز اسنپ شات ها را در محیط مجازی خود شناسایی و بررسی کنید.
کاربران با استفاده از اسنپ شات میتوانند وضعیت فعلی یک ماشین مجازی را به سرعت ذخیره و آن را بازیابی کنند. اسنپشات به کاربران این امکان را میدهد تا در صورتی که نیاز به بازیابی از حالت پیشین ماشین مجازی داشته باشند به سرعت به حالت قبلی ماشین مجازی خود بازگردند. همچنین با گرفتن اسنپشات، کاربران میتوانند از زمانی که تغییرات را انجام دادهاند، یک عکس ثبت کنند. این ابزار کاربردی در محیطهای توسعهای و تستی اهمیت بالایی برخوردار است.
سوالات متداول
1- آیا میتوانم هم اسنپ شات و هم بک آپ داشته باشم؟
بله، میتوانید از هردو استفاده کنید.
2- آیا اسنپ شات شامل فایلهای بکاپ گرفته شده از سرور است؟
خیر، اسنپ شات یک تصویر از وضعیت یک سیستم یا داده در یک زمان خاص است.
3- آیا اسنپ شات با بکاپ تفاوت دارد؟
بله، Snapshot وضعیت یک سیستم یا داده را در زمان خاص نشان میدهد اما بکاپ برای حفظ اطلاعات در مقابل حوادث بزرگتر و برای مدت طولانی استفاده میشود.
منابع:
https://blog.netwrix.com/2019/12/23/how-to-manage-vmware-snapshots/