رضا اردانه
۱۴ اسفند ۱۳۹۹

مدیریت Task های ESXi

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

در این مقاله آموزشی میخواهیم در خصوص مدیریت Taskهایی که در زمان اجرای خود بنا به هر دلیلی متوقف شده و به سرانجام نمی رسند صحبت کنیم. نمونه پرتکرار اینگونه Taskها در زمان حذف Snapshotها می باشد.

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

  • اندازه Snapshot باقی مانده بر روی ماشین
  • وضعیت عملکرد تجهیز ذخیره سازی
  • اختلال در عملکرد شبکه بین هاست ESXi و سرویس vCenter
  • اندازه ماشین مجازی به لحاظ حجم دیسک

این رخداد میتواند منجر به از دسترس خارج شدن ماشین مجازی شما شود که دلیل اصلی آن افزایش تحمل دیسک مجازی در زمان اعمال تغییرات از درون دلتا دیسک ها می باشد. حال اگر تجهیز ذخیره سازی موجود از کارآیی ضعیفی برخوردار باشد و یا ماشین مجازی تحت فشار درخواست های I/O زیادی باشد، این مدت زمان از دسترس خارج شدن ماشین مجازی می تواند طولانی شود.

نکته: بهترین راه حل برای عدم مواجهه با چنین مشکلاتی رعایت بهروش های اعلام شده توسط شرکت VMware می باشد. براساس این بهروش نباید طول عمر یک Snapshot بیشتر از 72 ساعت باشد.

در مواجه با این مشکل تنها یک راهکار وجود دارد که اثر آن میتواند ریسک تخریب اطلاعات باشد. یعنی در صورتیکه بخواهید در زمان انجام این فرآیند، اقدام به متوقف کردن آن نمایید، قطعا با ریسک Data Corruption مواجه خواهید شد. اما در برخی سناریوها نیاز است تا بتوانیم این فرآیند را متوقف کنیم. برای این منظور می توانید مراحل زیر را طی نمایید:

به هاستی که ماشین مجازی شما روی آن قرار دارد اتصال SSH برقرار کنید

با استفاده از دستور زیر لیست Task های فعال موجود بر روی آن هاست را مشاهده نمایید:

vim-cmd vimsvc/task_list

از خروجی نمایش داده شده Task مربوط به حذف Snapshot را پیدا کنید. این Task در نام خود عنوان Snapshot.remove را دارد

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

vim-cmd vimsvc/task_info TASKNAME

حال از طریق دستور زیر میتوانید این Task را حذف نمایید. در اینجا مجدد تاکید میکنم که استفاده از این دستور با ریسک Data Corruption همراه خواهد بود:

vim-cm vimsvc/task_cancel TASKNAME

ESXtTask 01

برای سایر Task هایی که در چنین حالتی باقی می مانند نیز می توانید از این دستور استفاده نمایید.

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

preloader