但是一般会有几个限制:
1内存内存基本上是一个硬限制。物理服务器的内存肯定是有限的。例如,一台服务器有8core,8G内存,通常hypervisor会占用512M内存,大概还剩下75G内存,假设每个虚拟机的配置是1corecpu,1G内存,那么在此机器上最多可以运行7个这样的虚拟机。再创建新的虚拟机时,就会报错说内存不够。在此情况下,每个虚拟机在满负载情况下最多可以拥有1个cpucore的运算能力,1G的内存空间。
当然,现在的hypervisor基本上都支持over-commit的功能,也就是说,如果你的内存只有8G,但是设定一定比例的overcommit,例如50%,那么你可以最多分出去12G内存。还是上面那个例子,如果设定overcommit为50%,那么最多可以创建11个虚拟机(1core,1Gmem)。在服务器虚拟化方面,建议overcommit设置的不要太高,一般20%。在桌面虚拟化方面,可以将overcommit设置到50%
2网卡如果服务器只有一个网卡,所有虚拟机的网络流量都是通过一块网卡出去,虚拟机越多,每个虚拟机可以使用的带宽就会越少,这个是需要综合考虑。例如使用多个网卡等。
3CPUCPU资源基本上都是采用时分复用,也就是时间片的方式来轮询的。
4磁盘I/O是本地磁盘还是网络磁盘?如果是网络磁盘,是使用的iSCSI还是光纤?不同的情况,负载是不一样的。
一般一台服务器上能跑多少个虚拟机,需要综合考虑物理服务器,虚拟机负载等方面的整体情况,再来计算。没有一个固定的公式。内存配的小了。虚拟机不能同时运行多台服务器是因为虚拟机内存配的小了。虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。这个取决于你服务器自身的硬件资源总数和分配给每台虚拟机的硬件资源数量。比如你的服务器可以虚拟出来32个vCPU,有64G的内存,每台虚拟机分配1个vCPU,2G内存,那就可以虚拟32个虚拟机,以此类推。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)