در این مقاله می خواهیم با نحوه رفع خطای memory size و کمبود حافظه در زمان نصب هایپروایزور ESXi 6.0 آشنا شویم. گاهی نیاز است تا نسخه ESXi6 را داخل یک محیط شبیه ساز مانند vmware workstation یا روی یک سرور با رم کم نصب کنید و این در حالیست که با خطای کمبود حافظه رم مواجه می شوید. از انجا که برای نصب این نسخه حداقل به ۸ گیگابایت رم نیاز است می توانید با ویرایش و تغییرات لازم براحتی خطای مربوطه را رفع و با مقدار رم دلخواه، نسخه ESXi را نصب کنید.
در پروسه نصب ESXi 6.0 و زمانی که با خطای Memory_Size_Error مواجه می شوید، کافیست با فشردن دکمه ALT+F1 به کنسول خط فرمان بروید. برای لاگین به این محیط در زمان نصب کافیست از نام کاربری root و رمز عبور Enter استفاده کنید. در ادامه بایستی به مسیر usr/lib/vmware/weasel/util/ بروید. در این قسمت دو فایل تحت عنوان upgrade_precheck.pyc و upgrade_precheck.py وجود دارد که هایپروایزور به ترتیب از این فایلها برای چک کردن مقادیر مورد نیاز پیش از نصب استفاده می کند. با باز کردن این فایلها در ادیتورهای متنی متوجه خواهید شد که یکی از اینها شامل کدهای بهم ریخته و ناخواناست. لذا می توان آنرا حذف کرد تا در پروسه بررسی پیش نیازها مستقیما فایل دوم با پسوند py مورد استفاده قرار گیرد.
حال برای رفع مشکل خطای کمبود حافظه، کافیست این فایل را ویرایش و مقدار مورد نیاز رم را کاهش دهید. با توجه به محیط خط فرمان مبتنی بر لینوکس، اجرای دستورات زیر جهت تغییر نام فایل و سپس تغییر مجوزهای آن بر اساس فرمانهای زیر الزامی است.
# cd /usr/lib/vmware/weasel/util
# rm upgrade_precheck.pyc
# mv upgrade_precheck.py upgrade_precheck.py.old
# cp upgrade_precheck.py.old upgrade_precheck.py
# chmod ۶۶۶ upgrade_precheck.py
حال پس از تغییر مجوز فایل، آنرا با دستور vi ویرایش کرده و عبارت mem_min_size را در این فایل جستجو کنید و مقدار آنرا به دلخواه خود تغییر دهید.(با زدن / جستجو کنید). در پایان نیز کافیست با زدن :wq تغییرات را ذخیره و از ادیتور خارج شوید.
# vi upgrade_precheck.py (search for MEM_MIN_SIZE and find (4*1024-32). Replace 4* with 2* and close after saving by press :wq
در پایان می بایست سرویس weasel که مامور بررسی این پیش نیازهاست را از طریق فرمانهای زیر یکبار ریستارت کنید. بنابراین ابتدا لیست پردازشها و سرویس های مقیم در حافظه را فیلتر کرده و سپس با دستور kill یکبار این سرویس را ببندید. بلافاصله بصورت خودکار این سرویس مجددا استارت خواهد شد و شما می توانید بقیه پروسه نصب را بدون خطا ادامه دهید.
# ps -c | grep weasel ( find the python PID )
# kill -۹ <PID>
One thought on “رفع خطای حافظه memory_size_error در زمان نصب ESXi”
ممنون از راهنمایی و مطلب مفیدی که کار بنده رو راه انداخت.