با سلام
بعد از مدت ها دوباره گشتم تا مطلبی بزارم که بدرد همه بخوره و میدونم روزی میاد که لازم میشه
ابتدا از امیر فولادوند و محمد اندلیب عزیز تشکر میکنم که اگر همکاری این دونفر نبود(مخصوصا امیر ) به نتیجه ای نمی رسیدیم
---------------------
در ابتدا دلیل این فرایند فعالیت های شیمیایی هست
دلیل اصلی تر Snapshot های محترم هستند که نمیتوند جایزین فایل اصلی شوند
به گفته امیر عزیز همینطور که Snapshot ها مفید هستند همینطور هم خطرناکند
در ابتدا عرض کنم که اگر شما پشتیبان دارید که برگردونید ولی اگر ندارید یا به هر دلیل Backup ها کاربردی ندارند به روش زیر میتونید با خیال راحت ماشین خود رو درست کنید
به عنوان مثال کسی بود داشت snapshot میگرفت وسط این کار قطع کرد .ماشین رو خاموش کرد و مجدد شروع به snapshot گرفتن کردکه با خطا رو به رو شد و هنگامی که ماشین رو روشن کرد دیگه ماشینی نبود . . .
موارد خطا :
شما بعد از ریست یا Snapshot گرفتن یا هر کار دیگه که به فایل VMDK ماشین صدمه بزنه
و خطاهای زیر رو میبینید
File **************.vmx was not found
Data Sotre was not found
File was not found
و از این قبیل
مانند نمونه عکس زیر
برای اطمینان از خراب شدن فایل روی تنظیمات ماشین باز کرده و روی هارد موجود کلیک کنید
اگر شکل مقابل مشاهده کردید بدونید فایل VMDK مورد نظر شما header فایل از بین رفته
حالا برای رفع این مشکل چه در ESX و ESXi دستورات یکی هستند
1- ارتباط به هاست مورد نظر
نکته :اگر ESX هست که کنسول یا SSH اگر ESxi هست که putty
2-دستوارات زیر رو اجرا کنید :
cd /vmfs/volumes/myvmfsvolume/mydir
MyVMFSvolume که اسم DataSotre خودتون هست
MyDir هم اسم فولد ماشینی هست که خراب شده
ببخشید اینقدر ریز توضیح میدم
به عنوان مثال برای بنده بود
Cd /vmfs/volumes/datacenter1/ServerTMG
بعد با دستور ls -ltr *.vmdk میتونید تمام VMDK های موجود در ایون فولدر رو مشاهده کنید
بعد از اجرای این دستور
rw------- 1 root root 4294967296 Oct 11 12:30 vmdisk0flat.vmdk
متن فوق را مشاهده خواهید کرد
4294967296 : این عدد مقدار حجم فایلی هست که خراب شده ! این عدد در مرحله های بعد به درد ما خواهد خورد
vmdisk-flat.vmdk : فایل مورد نظر نکته :یک زمان هست شما در فولدر ماشین شما فایل VMX مربوط موجود میباشد
در صورتی که موجود بود روش زیر را اجرا میکنیم ! اگر خیر به عنوان نکته ذکر خواهد شد
مرحله بعد فهمیدن SCSI Contorller هارد معیوب شده ماشین مورد نظر میباشد
دستور :
less *.vmx | greep -i virtualdev(دستور 1)
دستور فوق متن زیر را نمایش خواهد داد و برای شما کلمه
lsilogic مهم هست
scsi1.virtualDev = "lsilogic"
ethernet0.virtualDev = "e100"
نکته :حال شاید lsilogic 0 یا 1 یا . .. باشد
بعد مجدد دستور
ls -l vmdisk0-flat.vmdk
تا برایتان متن زیر نمایش داده شود
-rw------- 1 root root 4294967296 Oct 11 12:30 vmdisk0-flat.vmdkحال رسیدیم به اخر داستان
دستور vmkfstools اصل کار همینجاست
مرجله بعد این دستور رو تایپ کنید
vmkfstools -c 4294967296 -a lsilogic -d thin temp.vmdkعدد مربوط به شما ربط پیدا میکنه ! این عدد باید دقیقا باید مثل فایل VMDK مربوطه که خراب شده باشد LSILOGIC هم باید زمانی که (دستور 1) رو اجرا کردید در lsilogic مربوط جایگزین کنید شید همین باشه شاید یک باشه
و ادماه کار
حالا با دستور
mv temp.vmdk vmdisk0.vmdk
فایل Temp رو به اسم فایل vmdk خودتون تغییر نام بدید
حالا با دستو به عنوان مثال VI فایل جدید رو باز کنید
Vi Vmdisk0.vmdk
بعد با عکس قوف روبه رو میشوید
در مرحله اول قسمت temp رو به اسم فایل vmdk مورد نظر تغییر بدید
به عنوان مثال : Temp-flat.vmdk تغییر پیدا کنه به sev1-temp.vmdk
به حروف کوچیک بزرگ دقت کنید
مرحله 2 این است که
ddb.thinProvisioned = "1" رو پاک کنید
نکته : با دستوارات دیگری از قبیل nano هم قابل اجرا است
و بعد ذخیره و خارج شید
حالا وارید کنسول شوید با VSphere Clinet بعد برید روی ماشین مورد نظر وارد تنظیمات بشید و بعد روی هارد مانند شکل زیر میبینید که حجم پیدا کرده هارد شما
ماشین رو روشن کنید
و ما رو هم دعا بکنید
نکته مهم:اگر فایل vmx داره داخل فولدر رو رشن کنید
اگر نداره یک ماشین بسازید و این فایل که جدید ساختید رو به عنوان هارد به ماشین ادد کنید
اگر ایرادی در متن فوق مشاهده کردید از روی بیسوادی بنده بزارید
انشاالله فیلم اموزشی مربوط هم در چند روز آینده خدمتتون ارائه میکنم
امیدوارم این مطلب به دردتون بخوره
با سپاس
علی تشکری