1.4 服务器性能与容量规划

在实施虚拟化的前期,有一个虚拟机容量规划。就是一台物理服务器上,最大能放多少虚拟机。实际上这是一个综合的问题,既要考虑主机的CPU、内存、磁盘(容量与性能),也要考虑运行的虚拟机需要的资源。在实际使用时,系统总有至少30%甚至更高的富余容量,不可能让一个主机上的资源利用率超过 80%,甚至接近 100%,否则一旦达到这些数值,整个系统响应会比较慢。

在估算虚拟化的容量时,在只考虑CPU的情况下,可以将物理CPU与虚拟CPU按照1∶4~1∶10甚至更高的比例规划。例如一台物理的主机具有4个8核心的CPU,在内存、存储足够的情况下,按照1∶5的比例,则可以虚拟出4×8×5=160个vcpu,假设每个虚拟机需要2个vcpu,则可以创建80个虚拟机。在实际实施虚拟化的项目中,大多数虚拟机对CPU的要求并不是非常的高,即使为虚拟机分配了4个或更多的CPU,但实际上该虚拟机的CPU使用率只有10%以下,这时候所消耗的物理主机CPU资源不足0.5个。如图1-2 所示,这是使用vCenter Operations Manager 统计的容量分配过剩的虚拟机,从列表中可以看出,大多数虚拟机的CPU利用率不足10%,实际使用的内存也较低(尽管为大多数虚拟机分配了2GB内存,但实际使用只有256~576MB内存之间)。

图1-2 使用vcos统计的容量过剩的虚拟机

在虚拟化的项目中,对内存占用是要求最大、最高的。在实际使用中也是如此,管理员会发现,物理主机的内存会接近80%甚至90%。因为在同一物理主机上,规划的虚拟机数量较多,而且每个虚拟机分配的内存又较大(总是超过该虚拟机实际使用的内存),所以会导致主机可用内存减少,如图1-3所示,这是某正在运行中的VMware ESXi 5.1 主机的CPU与内存使用情况。

图 1-3 某运营中的ESXi摘要

在为物理主机配置内存时,要考虑将要在该主机上运行多少虚拟机,这些虚拟机一共需要多少内存。一般情况下,每个虚拟机需要的内存在1~4GB甚至更多,还要为VMware ESXi预留一部分内存。通常情况下,配置了4个8核心CPU的主机,一般需要配置96GB甚至更高的内存;在配置2个6核心CPU的主机,通常要配置32~64GB内存。