XenServerDomain0内存调整

XenServerDomain0默认使用752MB内存,由于每启动一台虚拟机,Domain0中就会启动一个Qemu-DM的进程,占用大约6M的内存空间,因此在虚拟机数量较多的情况下,我们需要增大Domain0内存以便支持更多的虚拟机运行。由于Domain0是32位操作系统,故支持的最大内存量为4GB。更改Domain0内存的方法参考CTX124806-XenServerSingleServerScalabilitywithXenDesktop提到的例子,更改/boot/exlinux.conf下包含dom0_mem=2940M的Xen命令行。

XenServer5.6到XenServer6.0方法:

为了修改先前的设置,完成下面的步骤:

1.通过XenCenter的控制口或者SSH方式以root身份登录到Domain0。

2.确保备份一份原始的/boot/extlinux.conf文件。以免未来的修改导致XenServer不能启动。

3.用vi打开/boot/extlinux.conf。

4.下面的改动仅添加到labelxelabelxe-serial部分。

进行下面的改动:

labelxe#XenServerkernelmboot.c32append/boot/xen.gzdom0_mem=752Mlowmem_emergency_pool=1Mcrashkernel=64M@32Mconsole=com1vga=mode-0x0311—/boot/vmlinuz-2.6-xenroot=LABEL=root-ecpmuteuroxencons=hvcconsole=hvc0console=tty0quietvga=785splash—/boot/initrd-2.6-xen.img
改变为:
labelxe#XenServerkernelmboot.c32append/boot/xen.gzdom0_mem=
2940Mlowmem_emergency_pool=1Mcrashkernel=64M@32Mconsole=com1vga=mode-0x0311—/boot/vmlinuz-2.6-xenroot=LABEL=root-ecpmuteuroxencons=hvcconsole=hvc0console=tty0quietvga=785splash—/boot/initrd-2.6-xen.img

调整Dom0内存设置dom0_mem=2940M是为了分配给dom0更多的内存,这意味着它可以更好地处理更多数量的虚拟机。在改变了这个设置并重启以确保新配置的dom0内存大小生效。

XenServer6.1方法:

XenServer6.1提供更简单的命令设置Domain0内存。

  1. 通过XenCenter的控制口或者SSH方式以root身份登录到Domain0。
  2. 执行下面命令:

/opt/xensource/libexec/xen-cmdline–set-xendom0_mem=<nn>M,max:<nn>M

  1. 重新启动XenServer以确保改动生效。
  2. 登陆Domain0执行free命令,确保改动已生效。
    也可以在安装的时候修改:
Citrix XenServer 优化_优化

Citrix XenServer 优化_优化_02

按F2键,进入高级安装菜单界面

Citrix XenServer 优化_XenServer_03

输入shell,按回车键,进入命令行

Citrix XenServer 优化_优化_04

在bash-3.2#输入如下命令:vi/opt/xensource/installer/constants.py

Citrix XenServer 优化_优化_05

编辑Constants.py文件

修改DOM0_MEM=752为DOM0_MEM=2940,修改root_size=4096为root_size=10240

Citrix XenServer 优化_优化_06

更改完毕后,按ESC键—>输入:—>输入wq—>回车完成文件保存,然后输入exit退出命令行界面。

为了Domain0保留独立使用的CPUCore,可以把DomainU的运算限制在其他的CPUCore。例如在一台2*8Core的服务器,要设置Core0保留给Domain0使用,请使用下面命令:

echoSettingCPUmaskonVM

VMLIST=`xevm-listis-control-domain=false|grep“uuid(RO)”|awk'{print$5}'`

forVMin$VMLIST

do

echoSetting$VM

xevm-param-setuuid=$VMVCPUs-params:mask=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15

done