8招搞定XenServer虚拟机优化

来源:互联网 发布:白金数据 编辑:程序博客网 时间:2024/05/21 06:52

XenServer是一款虚拟机软件,他的免费版本功能相对强大(相比VMware的ESXi来说),所以现在很多企业简单应用上都会用这款软件,以减小开支(VMware收费实在是太贵了,一般的企业是承担不起的)。
一般虚拟化之后,一台宿主机上面都会运行多个guestOS,当guestOS太多的时候,会影响主机的性能。因此我们需要对其进行优化,来达到最佳的资源利用率。

1、安装虚拟化驱动xs-tools.iso
没有安装虚拟化驱动之前,很多硬件是模拟出来的,并不能发挥硬件的真实特性,特别是I/O这块的硬件。譬如网卡,在标准安装的虚拟机中,只有100M的速率,但是安装虚拟化驱动之后,系统会使用名为Citrix的PV网卡,有2.0Gbps带宽。

2、开启CPU硬件支持
目前有些服务器的CMOS设置里面,默认是没有开启VT功能的,因此你在上面安装的虚拟机,运行起来会非常缓慢,有些虚拟机甚至无法运行。对于这种情况,一定要开启CPU的VT功能,以提升虚拟化性能。
如果是老式CPU,赶紧升级吧,如果不想升级,那不建议上虚拟化了。可以通过查看/proc/cpuinfo,执行命令:grep -E ‘(vmx|svm)’ /proc/cpuinfo。
如果支持的话,会输出类似下面的信息:
flags: fpu de tsc msr pae mce cx8 apic sep mtrr mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht nx constant_tsc up pni vmx est ssse3 sse4_1

3、增加内存
由于虚拟机本身运行的dom0需要内存,一般会占用700M左右,每个虚拟机都需要自己的内存,因此对内存要求是很大的。一般要求宿主机至少得配置16G以上内存,如果上面需要运行很多guestOS的话,那内存可以考虑增加到48G甚至更高。
同时建议尽可能给guestOS多的内存,防止虚拟机内存不够,频繁读写磁盘文件。

4、有效利用资源池
XenServer免费版比VMware的一个重要特性就是资源池功能,一个资源池允许运行16台宿主机(要求CPU是近似的,使用强迫方式加入池的,可能会造成系统不稳定)。再利用iSCSI的存储特性,我们就可以在一台机器上安装系统之后,
运行在另外一台机器上,避免了VMware中的导入和导出时间(这个时间还是不少的,特别是百M网络)。
如果组内的guestOS安装了虚拟化驱动之后,还可以在运行状态迁移,从当前负载重的宿主机迁移到负载轻的物理机上,非常的方便。

5、磁盘存储与iSCSI
使用本地磁盘存储,无法利用上XenServer的很多特性,如:虚拟机迁移等。因此建议本地磁盘只用来安装XenServer,虚拟机则保存在iSCSI上。经过我们的测试,发现很多应用,如多媒体之类的,使用iSCSI的性能比本地磁盘还好一些。

6、虚拟机文件和数据文件分开存储
所谓的虚拟机文件,就是用来安装操作系统用的那个磁盘文件。在规划的时候,可以考虑把所有的虚拟机文件存放在一个存储上面(一般虚拟机文件在5G以内,很少会超过10G的),可以考虑使用NFS之类的,方便以后的管理。
而虚拟机使用的数据存储,一般可以考虑存放在iSCSI上,方便迁移和维护。

7、网络扁平化
由于虚拟机使用的网络端口是利用宿主机上的网络端口,所以一般要求宿主机尽可能多的网卡,一般要求是千兆网卡,至少2张,因此对交换机的端口数依赖不是很大,因此可以将网络进行扁平化设计,减少不必要的网络开销。

8、尽量少用windows
由于Xen是属于半虚拟化技术,底层使用的是linux系统,因此对guestOS的性能支持对linux要好很多,windows的支持则必须是CPU开启虚拟化支持才可以运行。同时windows的GUI是基于内核设计的,
因此造成windows服务器会使用额外的不少资源,因此建议,能在linux下面搞定的东西,尽量在linux下面搞定。

0 0