رضا اردانه
۲۹ شهریور ۱۳۹۶

عیب یابی Snapshot ماشین مجازی

۰ دیدگاه
مقاله آموزشی
امتیاز دهید

یکی از ابزارهای بسیار مفیدی که در دست مدیران و کارشناسان محیط های مجازی قرار دارد Snapshot گیری می باشد. اما زمانیکه با این Snapshot ها دچار مشکل می شوید، شرایط کاملا متفاوت می گردد.

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

روش اول:

به سرور ESXi خود اتصال SSH برقرار کنید.

وارد مسیر /vmfs/volumes شوید.

دستور زیر را جهت پیدا کردن Snapshot هایی که در 7 روز گذشته ویرایش نشده اند وارد نمایید:

find -iname “*-delta.vmdk” -mtime +7 -ls

روش دوم:

از طریق ابزاری مانند WinSCP به سرور ESXi خود متصل شوید.

مسیر /vmfs/volumes را باز کنید.

وارد دیتااستور مدنظر خود شده و پوشه یکی از ماشین های مجازی خود را باز کنید.

در آن پوشه به دنبال فایلهای vmsd یا vmsn یا -delta.vmdk بگردید.

روش سوم:

استفاده از ابزار RVTools این امکان را به شما می دهد تا لیستی از Snapshot های موجود بر روی ESXi خود مشاهده نمایید.

روش چهارم:

با استفاده از دستور Get-snapshot در vSphere PowerCLI می توانید اطلاعات Snapshot های ماشین های مجازی را مشاهده نمایید.

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

روش اول:

اولین روش به این صورت خواهد بود که ابتدا یک Snapshot جدید از ماشین مجازی تهیه کنید.

در مرحله بعدی از طریق بخش Snapshot Manager گزینه Delete All Snapshots را انتخاب کنید.

نکته: اگر بنا به هر دلیلی امکان ایجاد Snapshot از طریق ماشین مجازی ندارید می توانید از دستور vmware-cmd createsnapshot استفاده نمایید. پس از آن که Snapshot ایجاد شد از دستور vmware-cmd removesnapshots جهت حذف Snapshot ها بهره ببرید.

روش دوم:

یک ماشین مجازی جدید بدون هارددیسک ایجاد نمایید.

پس از ایجاد شدن ماشین مجازی، فایل vmdk اصلی ماشین قبلی را از پوشه خود برداشته و درون پوشه ماشین جدید قرار دهید.

از طریق تنظیمات ماشین مجازی اقدام به اضافه کردن هارد دیسک موجود کرده و در نهایت از طریق مسیردهی نمایش داده شده فایل vmdk را به ماشین مجازی جدید معرفی کنید.

ماشین قبلی را به صورت کامل حذف کنید.

پس از حذف موفقیت آمیز Snapshot ها می توانید مسیر قرارگیری Snapshot یک ماشین مجازی را تغییر دهید. برای اینکار می بایست فایل VMX ماشین مجازی را ویرایش کرده و مقدار زیر را به آن اضافه نمایید:

workingDir=”/vmfs/volumes/SnapVolume/Snapshots/” 

اگر می خواهید فایل vswp در مسیر ماشین مجازی باقی بماند مقدار زیر را به فایل VMX اضافه نمایید:

sched.swap.dir = “/vmfs/volumes/VM-Volume1/MyVM/”

نکته: در صورتیکه از ماشین مجازی که بر روی یک فضای ذخیره سازی مشترک می باشد Snapshot گرفته و مسیر Snapshot ها را در فایل VMX به یک فضای ذخیره ساز محلی تغییر داده باشید، مواردی چون vMotion یا HA قابل اجرا نمی باشند.

نکته: ماشین مجازی که از آن Snapshot گرفته شده است قابلیت vMotion دارد اما ممکن است با خطای Reverting to snapshot would generate error (warnings) on the destination host مواجه شوید. علت این خطا نیز هشدار عدم امکان انطباق ماشین مجازی با هاست جدید می باشد و در صورتیکه به طور مثال ماشین دیسکی داشته باشد که توسط هاست جدید قابل دسترس نباشد خطا رخ خواهد داد. در خصوص Storage vMotion ماشین مجازی که Snapshot داشته باشد امکان استفاده از این ویژگی را نخواهد داشت. در صورتیکه می خواهید از این ویژگی استفاده کنید می بایست ماشین مجازی را خاموش کرده و اقدام به انتقال آن به فضای ذخیره سازی دیگر کنید.

نکته: تنظیم FT بر روی ماشینی که از آن Snapshot گرفته اید امکانپذیر نمی باشد.

امتیاز دهید

دیدگاهتان را بنویسید