سرور مجازیسازی چقدر RAM و CPU نیاز دارد؟
رایجترین اشتباه در مجازیسازی، برآورد نادرست منابع است. کمبود RAM باعث میشود سیستمعامل دیسک را بهعنوان حافظه مجازی استفاده کند و کارایی بهشدت افت کند. در این مقاله، روش درست محاسبه را میآموزید.
قاعده پایه: چند گیگابایت رم برای هر ماشین؟
| نوع ماشین مجازی | RAM پیشنهادی |
|---|---|
| ویندوز سرور با چند سرویس | ۴ تا ۸ گیگابایت |
| لینوکس بدون بار خاص | ۲ گیگابایت |
| لینوکس با سرویسهای زیاد | ۴ گیگابایت |
| سرور پایگاه داده | ۸ گیگابایت به بالا |
| سرور با اپلیکیشن سنگین | ۱۶ گیگابایت |
قانون سرانگشتی: ۴ گیگابایت برای اکثر ماشینهای مجازی، نقطه شروع امنی است.
هر هسته چند ماشین مجازی؟
| بار کاری VM | هسته فیزیکی به ازای هر VM |
|---|---|
| سرور وب سبک | ۰٫۲ تا ۰٫۵ |
| سرور پایگاه داده متوسط | ۰٫۵ تا ۱ |
| سرور مجازیسازی تو در تو | ۱ تا ۲ |
توجه کنید: برای بارهای سبک، یک هسته فیزیکی میتواند به چند ماشین مجازی تخصیص یابد. اما برای بارهای سنگین، تخصیص بیش از یک هسته به هر VM ضروری است.
یک محاسبه واقعی
فرض کنید ۱۵ ماشین مجازی دارید که اکثرشان سرور وب با بار متوسط هستند:
- RAM: ۱۵ × ۴ گیگابایت = ۶۰ گیگابایت، بهعلاوه ۲۴ گیگابایت برای خود میزبان = ۸۴ گیگابایت (پس ۱۲۸ گیگابایت ماژول خریداری کنید)
- CPU: ۱۵ × ۰٫۵ = ۷٫۵ هسته، با حاشیه اطمینان = ۱۶ هسته فیزیکی
- دیسک: VMها روی آرایه NVMe
به همین دلیل است که سرورهای مجازیسازی معمولاً با ۶۴ هسته و ۲۵۶ گیگابایت یا بیشتر عرضه میشوند.
Overcommit یعنی چه؟
سیستمعاملهای مجازیسازی اجازه میدهند بیش از ظرفیت فیزیکی، به ماشینهای مجازی منابع تخصیص دهید. به این کار Overcommit میگویند.
این کار زمانی امن است که:
- ماشینها همزمان بار سنگین نداشته باشند
- تعداد ماشینها از حد معقول بیشتر نشود
- برای حافظه، نسبت تخصیص به ۱٫۵ تا ۲ برابر ظرفیت فیزیکی باشد
برای پردازنده، نسبت ۳ به ۱ قابل قبول است؛ برای حافظه، بیش از ۲ به ۱ توصیه نمیشود.
چه چیزی باعث کمبود میشود؟
شایعترین دلایل کمبود منابع در محیطهای مجازی:
- Memory ballooning: ماشیربالون حافظه ماشینهای بیکاربرد را میبلعاند تا آزاد شود؛ اگر ماشینی نیاز داشته باشد، باید از دیسک استفاده کند
- Swap زیاد: اگر swap فعال باشد، سیستم بهجای کمبود RAM دیسک را مصرف میکند و کارایی سقوط میکند
- پردازنده همزمانی بیش از حد: اگر سیستمعامل بیش از تعداد هسته را اشغال کند، همه VMها کند میشوند
توصیههای عملی
- اول کم بیشتر نکنید. سرور را با حداقل نیاز واقعی شروع کنید و بعد ارتقا دهید
- Overcommit حافظه را با احتیاط انجام دهید. نسبت ۱٫۵ برای بارهای سبک
- دیسک NVMe بگذارید. تأخیر بالای دیسک، مستقیماً کارایی همه VMها را کم میکند
- پایش داشته باشید. مصرف منابع را پایش کنید تا پیش از بههمخوردن سرویس، تصمیم بگیرید
- کارت شبکه ۱۰ گیگابیت فراموش نشود. ترافیک شبکه در محیط مجازیسازی معمولاً از دیسک هم سنگینتر است