trsgw 发表于 2015-5-7 09:10:21

XenServer最佳实践

1、XenServer最佳实践
1)系统BIOS的检查及设置
         Restore default BIOS setup       还原BIOS设置
Enable VT or AMD/V,            打开VT或者AMD/Vdisable C-state         关闭C-stateDisable executive lock bit       关闭executiveloctEnable remote console(if IBMserver) 如果是IBM服务器,则打开远程控制台Disable Multi-thread if possible    关闭超线程本地磁盘设置成RAID1或RAID 1/0      如果磁盘以前安装过 VMware 或其它 OS, 重新初始化RAID 10If server total CPU core over 48,disable multi-core before installation, after installation, enable it.         如果cpu核超过48,则安装前关闭超线程,在安装完成后,在打开超线程;
2)修改domain0文件系统
    Xenserver在以后的使用中,如果用户的业务会产生大量的日志,会逐渐把domain0的分区耗尽,最终会导致xenserver崩溃,这时就需要根据业务需要将domain0 的根分区做适当调整,可以调整为10G或20G,默认domain0 的根分区为4G,xenserver安装会使用2G左右。
3)Intelicache功能说明
    在安装过程中,有一项intelicache的功能,此项功能是配合xendesktop使用的,默认是开启的,主要是用来减少共享存储I/O压力的。如果开启后,在安装完成后,本地存储为文件系统类型(ext3);如果未开启,则安装完成后,为LVM的裸设备;
4)NTP时钟同步
    在安装到配置时钟界面时,选择使用NTP服务器来同步xenserver的时间;如果不使用NTP服务器同步时间,在pool下的xenserver主机在时间相差很大的情况下做xenmodion时,很有可能会失败;
5)优化XenServer主机
    安装完XenServer后,不要立即就挂载共享存储,首先对SenServer做一些优化,如:调整doamin0 的内存为2940M,默认为752M,调整domain0 的vcpu数,默认为4vcpu即可;参照http://support.citrix.com/article/CTX124259, 将 Dom0 的内存上限扩展到2940M或4096M    关掉xenserver的pif、vif的checksumoffload,这个只需要运行配置脚本即可;echo Setting checksumoff on VIFsVIFLIST=`xe vif-list | grep "uuid ( RO)" | awk '{print $5}'`for VIF in $VIFLISTdoecho Setting ethtool-tx=off and ethtool-rx=offon $VIFxe vif-param-set uuid=$VIFother-config:ethtool-tx="off"xe vif-param-set uuid=$VIFother-config:ethtool-rx="off"doneecho Setting checksum off on PIFsPIFLIST=`xe pif-list | grep "uuid ( RO)" | awk '{print $5}'`for PIF in $PIFLISTdoecho Setting ethtool-tx=off and ethtool-rx=offon $PIFxe pif-param-set uuid=$PIFother-config:ethtool-tx="off"xe pif-param-set uuid=$PIFother-config:ethtool-rx="off"done
6)打开XenServerIRQbalance服务
   #Serviceirqbalance start   并打上最新的补丁和driver驱动            检查XenServer的网络模式为bridge,6.0版本默认为bridge模式。


7)配置XenServer网卡
   创建xenserver池,根据Xenserver的三网分离原则设置网卡的配置,为xenserver配置6块网卡    NIC0、NIC1绑定做管理网    NIC2、NIC3绑定做存储网    NIC4、NIC5绑定做业务网   将管理网卡配置成Active/Backup模式xepif-param-set uuid=<bond_pif_uuid> other-config:bond-mode=active-backup    配置业务网卡If NIC is 10G,disable NIC LRO #ethtool –Keth#lro off
   注意:管理网尽可能的不要放在带有VLAN的网络,管理网做完绑定后,一定要做拔线测试。
8)开启XenServer的Multipath
      注意:如果连接的共享存储需要使用Multipath,必须先在xenserver下开启Multipath。
   1、开启存储多路径时,需要首先进入维护模式
   2、DMP存储,直接使用XenCenter控制台在服务器属性中启动多路径;
   3、MPP存储,命令行启用MPP功能(/opt/xensource/libexec/mpp-rdac--enable)
    注:存储多路径的开启一定要在添加存储之前;

9)在管理网配置添加存储网络


10)POOL下挂载共享存储
   将共享存储挂载到xenserver的pool下    #mpathutil status(查看是否有两条路径)
    #xe pbd-list会看到有两条路径
   注意:如果共享存储是ISCSI的,则做网卡绑定即可;   如果共享存储是NFS的,则需要开启Multipath(一般NFS存储很少支持多路径)   在做完Multipath后,一定要做拔线测试存储是否仍然在线。如果未开启多路径而创建了虚拟机,以后在开启时,先前创建的虚拟机不会有效,必须重新挂载PBD:   pbd-unplug
   pbd-unpluguuid=<uuid_of_pbd>
   pbd-plug uuid=<uuid_of_pbd>
   (或者5.6升级到6.0后也需要重新挂载PBD块)

11)在XenServer上创建VM及模版

[*]    Window 的VM
    安装Xentools,在创建模板前运行 sysprep 或 newid     Setup VM vif offload    在注册表中禁用 TCP 任务卸载,步骤如下:(1)单击开始、单击运行,键入 regedit,然后单击确定。(2)找到并单击以***册表子项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters(3)单击编辑,指向新建,然后单击 DWORD 值。(4)键入 DisableTaskOffload 作为输入的名称,然后按 ENTER 键。(5)用鼠标右键单击 DisableTaskOffload,然后单击修改。(6)在数值数据框中键入值 1,然后单击确定。(7)退出注册表编辑器。(8)重新启动计算机。注意:在修改注册列表之前,要对注册列表进行备份       xe vif-param-set uuid=$VIFother-config:ethtool-tx="off“
       xe vif-param-set uuid=$VIF other-config:ethtool-rx="off"
[*]Linux Guest OS
安装XentoolRemove MACaddress at Guest OS network configuration file(linux下MAC地址会冲突)
12)修改日志循环周期
   改每天为每小时    # mv/etc/cron.daily/logrotate.conf /etc/cron.hourly/logrotate.conf    # mv /etc/cron.daily/logrotate   /etc/cron.hourly
    压缩旧日志#compress   设置保留历史日志数目#rotate20
13)调整CPU的控制    CPU pinning#xe vm-param-set uuid=<vmuuid>VCPUs-params:mask=1,2,3(Limits VM to running on CPU number 1,2,3)CPU Weight#xe vm-param-set uuid=<vmuuid>VCPUs-params:weight=500(512 will get twice as much as 256 (default ))CPU Cap#xe vm-param-set uuid=<vmuuid>VCPUs-params:cap=100(Restricts percentage of CPU cores VM can use)50 = half a CPU core, 100 = 1 CPU core, 400 = 4CPU cores注意:vcpu与物理核心没有关系有时指定多个vcpu分配给VM会提高程序的运行速度,但是并不是说VM所占的cpu资源增加了,   只是某些程序在多vcpu线程下运行效率会更高一些,而VM占用cpu资源的多少,是由vm所占cpu的权重决定
14)备份
   备份 XenServer Pool metadata:
            #!/bin/bash
   #This is a backup of xenserver pool metadata script.
    metadata=`date +%Y_%m_%d`
    if [ ! -d /home/pool_md ]
    then

   mkdir -p /home/pool_md
    fi
    xe pool-dump-database file-name=/home/pool_md/pool_md_"$metadata"

    find /home/pool_md -mtime +3 -exec rm -rf {} \;

   备份 XenServer VM metadata :
          #!/bin/bash
   #This is a xenserver vm metadata in the backup script.
   vmmetadata=`date +%Y_%m_%d`

   if [ ! -d /home/vm_md ]
    then
      mkdir -p /home/vm_md
   fi
    sr_uuid1=`xe sr-list name-label=VM | awk '/uuid/{print $5}'`
    sr_uuid2=`xe sr-list name-label=VM1 | awk '/uuid/{print $5}'`
    xe-backup-metadata -c -u "${sr_uuid1}"> /home/vm_md/log1_"$vmmetadata" 2>&1
    xe-backup-metadata -c -u "${sr_uuid2}"> /home/vm_md/log2_"$vmmetadata" 2>&1
   find /home/vm_md -mtime +3 -exec rm -rf {} \;

页: [1]
查看完整版本: XenServer最佳实践