به صورت پیش فرض راه حل مستقیمی برای کاهش سایز دیسک های ماشین های مجازی که به آن ختصاص داده ایم وجود ندارد، اما در این مقاله ما به شما آموزش میدهیم که چگونه بتوانید سایز دیسک ماشین مجازی را در ESXI کاهش دهید.
در این سناریو ما یک ویندوز ۱۰ در ESXI نصب کرده ایم و ۴۰ گیگابایت به آن حجم دیسک داده ایم و می خواهیم ۵ گیگابایت آن را بگیریم.
مرحله اول
اولین کاری که باید انجام بدیم این است که مقدار حجمی را که می خواهیم از دیسک ویندوز کم کنیم و آن مقدار را در حالت unallocation قرار دهیم.
در ویندوز برنامه DISK Management را اجرا کنید.
بر روی دیسک مورد نظر کلیک راست و گزینه shrink volume را انتخاب کنید.
در کادر مشخص شده باید مقدار حجمی را که می خواهید کم شود را بر حسب مگابایت وارد کنید. و در آخر بر روی گزینه Shrink کلیک کنید.
همانطور که مشاهده می کنید ۵ گیگابایت فضا در حالت unallocation قرار گرفته است.
ویندوز را Shutdown کنید.
مرحله سوم
پروتکل SSH را بر روی سرور ESXI باید فعال کنیم. در مقالات قبل به طور کامل نحوه فعال سازی SSH را در ESXI را آموزش دادیم. لینک مقاله
برای فعال سازی SSH در ESXI بر روی منو Actions کلیک از گزینه Services گزینه Enable Secure Shell (SSH) را انتخاب کنید.
مرحله چهارم
نرم افزار WinSCP را دانلود و نصب کنید.
پس از اجرا نرم افزار WinSCP اطلاعات ESXI را برای لاگین وارد کنید.
/vmfs/volumes/datastore1/Virtual Name
*بجای datastore1 باید وارد مسیر ذخیره سازی دیسکی که موقع ساخت ماشین مجازی انتخاب کرده اید وارد شوید.
*بجای Virtual Name هم باید وارد پوشه هم نام ماشین مجازی شوید.
بر روی فایل vmdk کلیک راست و گزینه Edit را انتخاب کنید.
در قسمت RW یک مقدار وجود دارد که این همان سایز دیسک می باشد و باید سایز دیسک جدید را در اینجا وارد کنیم که فقط باید قبلش تبدیلش کنیم.
نحوه تبدیل کردن عدد: در اول مقاله ما گفتیم ۴۰ گیگابایت به ماشین مجازی حجم داده ایم. پس عدد ۴۰ را ۳ بار در ۱۰۲۴ ضرب می کنیم سپس عدد بدست آمده را تقسیم بر ۵۱۲ می کنیم. این همان عددی است که وجود دارد اما ما می خواهیم مقدار ۳۵ گیگابایت را قرار دهیم.
۸۳۸۸۶۰۸۰ = ۵۱۲/ *۱۰۲۴ *۱۰۲۴ *۱۰۲۴ * ۴۰
ما اومدیم ۵ گیگ از دیسک کم کردیم پس در حال حاضر ۳۵ گیگ بیشتر نداریم پس باید ۳۵ را ۳ در ۱۰۲۴ ضرب سپس عدد بدست آمده را تقسیم بر ۵۱۲ کنیم. عدد بدست آمده را باید جایگزین عدد موجود کنیم.
۷۳۴۰۰۳۲۰ = ۵۱۲ / ۱۰۲۴ * ۱۰۲۴ *۱۰۲۴ * ۳۵
فایل را ذخیره کنید و ماشین مجازی را روشن کنید، برای اطمینان بیشتر از اینکه کار را درست انجام داده ایم کافیه وارد Disk Management شوید، مشاهده خواهید کرد که حجم دیسک کم شده است.
اما یه نکته ای وجود دارد که اگر حجم دیسک را در ESXI مشاهده کنید خواهید دید که هنوز سایز قبلی را وارد کرده است.
برای حل این مشکل کافیه بر روی ماشین مجازی کلیک راست گزینه Edit Settings را انتخاب کنید.
از قسمت Hard disk 1 بر روی ضبدر کلیک کنید و گزینه Save را انتخاب کنید.
به هیچ عنوان تیک گزینه Delete files from datastore فعال نکنید وگرنه ماشین مجازی حذف خواهد شد.
دوباره وارد قسمت Edit Settings ماشین مجازی شود، بر روی Add hard disk کلیک کنید و گزینه Existing hard disk را انتخاب کنید و فایل VMDK ماشین مجازی را بهش معرفی کنید.
حالا می بینید که این مشکل هم حل شده است.
این روش که همه جا هم گفته شده اصلا خوب نیست و دردسر داره بدتر از همه اینه که thin رو تبدیل به thick میکنه
بهترین روش ، کم هزینه ترین و کم دردسر ترین روش استفاده از این ابزاره فوق العادست VMware vCenter Converter Standalone Client
همه کاری باهاش میشه کرد
بعد انجام این مراحل برای اینکه فضای اشغال شده در Datastore هم آزاد بشه حتما باید Migrate کنید تو یک Datastore دیگه و موقع Migration هم Disk رو Thin بگزارید.
میشه لطفاً در این خصوص مقاله ای معرفی کنین؟ من طبق آموزش بالا پیش رفتم ولی مشکل اینجاست که فضای خالی datastore قابل استفاده برای ساخت ماشین مجازی جدید نیست.
سلام ممنون از راهنمایی خوبتان دیسک من حدود ۱۸۰۰ گیگ است که ۱۰۰۰ گیگ پارتیشن بندی شده و بقیه ازاده میخواستم اون ۸۰۰ گیگ را ازاد کنم مراحل را عینا انجام دادم و جهت اطمینان از اینکه پارتیشن دارای دیتا اسیب نبینه ۱۰۵۰ گیگ در نظر گرفتم و حجم فایل مورد نظر را طبق اموزش ویرایش و ذخیره کردم اما ماشین را که روشن کردم رفتم دیدم هنوز هارد رو ۱۸۰۰ گیگ نشون میده طبق اموزش اخر هارد رو از ماشین گرفتم و مجدد دادم در پنل وب حجم را ۱۰۵۰ گیگ نشون میده ولی در ویندوز همچنان همان ۱۸۰۰… بیشتر»
دوستانی که مشکل آزاد نشدن فضا برای اختصاص به بقیه ماشینها رو دارن؛ از ماشین مورد نظر Clone بگیرن و قبلی رو حذف کنن. فضای دیتااستور هم آزاد میشه.
ممنون از انتشار تجربیات تون?
سلام
این کار هیچ فایده ای نداره و فقط یک حجم نمایشی کم میشه ولی اگه در قسمت datastore برید میبینید هیچ فضایی ازاد نشده و حجم فایل vmdk- اصلی اصلا تغییر نکرده و فقط تو خود اون ماشین مجازی تونستید تغیر اندازه پارتیشن بدید و درواقع فضای هاست هیچ تغییری نمیکنه
دوست عزیز من از همین روش ۱۰ ها بار استفاده کردم
لطفا یکبار خودتون تست کنید
سلام فضای داخل ویندوز کم میشه ولی رو کنسول vm همون حجم قبلی رو نشون میده و اجازه نمیده بتونی حجم رو به سرور دیگه اختصاص بدی
منم مو به مو این مراحل رو انجام دادم و فقط یه حجم نمایشی کم کرد و توی Datastore هیچ فضایی ازاد نشد
با سلام
من این قسمت رو متوجه نشدم :
**** از قسمت Hard disk 1 بر روی ضبدر کلیک کنید و گزینه Save را انتخاب کنید.
یعنی یکبار هارد دیسک رو ریمو کنیم و دوباره بهش اختصاص بدیم؟
ممنون میشم راهنمایی بفرمایید. چون در esxi 6 ضربدر نداره و دوتا گزینه برای ریموو کردن هارد دیسک داره
باتشکر
سلام
بله منطور همین بود هارد را باید حذفش کرد.
در اصل یبار فایل VMDK را حذف می کنیم (یادتون باشه VMDK هارد دیسک ماشین مجازی نیست بلکه اشاره به فایل flat که هارد اصلی هستش اشاره داره)
بعد حذف دوباره همون VMDK را ایجاد می کنیم
برعکس این کار هم امکان داره ؟
بعنوان مثال بخوام حجم دیسک مربوط به IBSng رو زیاد کنم ؟
سلام
زیاد کردن حجم دیسک کار آسونی هستش کافیه حجم دیسک رو زیاد کنید
ممنون زیاد کردم ولی تو ibsng هنوز همونقدر هست نمیدونم باید بعدش چیکار کنم اگر فرمت کنم که اطلاعات قبلی هم می پره!
حجم دیسک الان اضافه شده ولی حجم قابل استفاده هنوز همانقدر هست که قبلا بود
بعد اینکه هارد رو افزایش دادید باید در مرحله دوم از طریق سیستم عامل هم افزایش بدیم
مثلا در ویندوز وقتی هاردش رو زیاد میکنیم باید از طریق Disk Management افزایش هارد رو هم انجام بدیم
اما با ibsng کار نکردم و نمیدونم چجوری باید اونجا افزایش بدیم
سلام
خیلی ممنون از آموزش خوب شما
متاسفانه پس از مراحلی که آورده بودید بنده با خطای زیر مواجه شدم و VM روشن نشد :
The capacity of the parent virtual disk and capacity of the child disk are different
و مجبور هستم که تغییرات را برگردانم
سلام
با تشکر از مطلب خوبتان فقط یک مساله هست که بهش اشاره نشد،این عملیات حجم فایل VMDk در datastore را کم نمی کند به عنوان مثال اگر شما ۴۰ گیگابایت به دیسک اختصاص داده باشید و با روش فوق به ۳۵ گیگ کاهش بدهید باز هم در datastore حجم فایل ۴۰ گیگ می باشد
با سلام برای من هم متاسفانه همینطور است
vmkftools -K name-server.vmdk
این دستور رو اخر بار بعد از این مراحل بزنید حل میشه
کجا باید این دستور رو بزنم
از طریق ssh به سرور مورد نظر وصل میشید
cd /vmfs/volumes/VM-DIRECTORY/VIRTUAL-MACHINE
vmkfstools -K nameserver.vmdk
رو بزنید مشکل حل میشه
یکم زمان بر هست