بازیابی فایل VMDK Descriptor
گاهی بر اثر به روزرسانی سرورهای ESXi یا حتی قطع برق و راه اندازی مجدد غیرمنتظره Host ها ، فایل های VMDK آسیب می بینند. در چنین مواقعی زمانی که قصد داریم ماشین مجازی را روشن نماییم با پیغام VMDK not found رو به رو می شویم و ماشین مجازی روشن نمی شود. در زمان بروز این رخداد ، اگر به محتویات Datastore نگاهی بیاندازید متوجه خواهید شد که فایل VMDK در آن جا وجود دارد. اگر شما از نرم افزار Veeam Backup استفاده می کنید بسیار خوش شانس خواهید بود. کافی ست که ماشین مجازی را با وییم Restore نمایید. اما اگر از Veeam استفاده نمی کنید یا ماشین مجازی که دچار مشکل شده است ، همان Veeam سازمان شما باشد ، ممکن است فکر کنید که به دردسر افتاده اید. اما تنها کاری که باید انجام دهید این است که کارهای این مقاله تک تیک را قدم به قدم انجام دهید.
بازیابی فایل VMDK Descriptor
گفتیم زمانی که این خطا رخ می دهد ، فایل VMDK درون Datastore وجود دارد. اما به دلیل اینکه Descriptor آسیب دیده است یا گم شده ، VMWare قدر به یافتن هارد دیسک مجازی برای روشن کردن ماشین مجازی نخواهد بود. در گام نخست باید حجم دقیق فایل flat را بر اساس بایت بیابیم. برای این کار SSH را بر روی ESXi فعال نمایید. در صورتی که نمی دانید SSH چگونه فعال می شود ، به این مقاله مراجعه نمایید.
اکنون با استفاده از Command Prompt در ویندوز ۱۰ با ESXi ارتباط SSH برقرار کنید. نحوه فعال سازی SSH Client در ویندوز ۱۰ در این مقاله توضیح داده شده است.
با استفاده از دستور CD وارد دایرکتوری محل ذخیره VMDK مورد نظر شوید. در صورتی که محل ذخیره VMDK را نمی دانید از Web Client صفحه مربوط به Datastore حاوی VMDK را باز کنید. در مقابل عبارت Location مسیر را کپی نمایید و دایرکتوری مربوطه را به آن اضافه کنید.
در Command Prompt دستور ls –la *-flat.vmdk را در مسیر مورد بحث اجرا نمایید تا لیست فایل های VMDK موجود در دایرکتوری که با عبارت –flat پایان یافته اند برای شما نمایش داده شود. حجم فایل را یادداشت کنید و با دستور vmkfstools مانند تصویر زیر یک فایل VMDK با نام recreated_VMDK بسازید. ( دقت داشته باشید که در اینجا نام فایل VMDK اصلی MK_EV-flat.vmdk است. )
اگر پیغام Create: 100% done را دریافت کردید به این معناست که فایل با موفقیت ایجاد گردیده است. برای اطمینان می توانید با دستور ls –la recreated_vmdk* فایل را مشاهده نمایید.
با توجه به تصویر بالا در دستور ایجاد VMDK جدید سوئیچ هایی به چشم می خورد که آن ها را توضیح می دهیم : سوئیچ –c سایز VMDK را تعیین می کند که گفته شد باید دقیقا برابر با حجم VMDK اصلی بر اساس بایت باشد. سوئیچ –a تعیین کننده نوع کنترلر مجازی هارد دیسک مجازی است. برای مثال LSILogic یا Paravirtual و IDE
در آخر سوئیچ –d مشخص کننده این موضوع است که دیسک مجازی از چه نوعی باشد و این سه گزینه فراهم است : Thin ، Zeroedthick و Eagerzerothick
اکنون کافی ست که با ویرایش گر vi فایل Descriptor هارد دیسک مجازی جدید را که ساخته شده است باز کنید و آن را ویرایش نمایید ( با کلید i ) و در آخر با دستور :wq! ذخیره نمایید. اما کدام گزینه باید ویرایش شود ؟ در قسمت Extent Description نام دیسک مجازی را به دیسک اصلی ماشین مجازی که مشکل دارد تغییر دهید.
اکنون بدون هیچ مشکلی ماشین مجازی روشن خواهد شد و می تواند از دیسک مجازی حاوی اطلاعات قبلی استفاده کند.
((اکنون کافی ست که با ویرایش گر vi فایل Descriptor هارد دیسک مجازی جدید را که ساخته شده است باز کنید و آن را ویرایش نمایید ( با کلید i ) و در آخر با دستور :wq! ذخیره نمایید. اما کدام گزینه باید ویرایش شود ؟ در قسمت Extent Description نام دیسک مجازی را به دیسک اصلی ماشین مجازی که مشکل دارد تغییر دهید.)))
میشهلطفا بگید باچی بازکردید