标签:ibm服务器 最佳实践 xenserver 存储 本地磁盘
1、 XenServer最佳实践
1) 系统BIOS的检查及设置
Restore default BIOS setup 还原BIOS设置
Enable VT or AMD/V, 打开VT或者AMD/V
disable C-state 关闭C-state
Disable executive lock bit 关闭executiveloct
Enable remote console(if IBMserver) 如果是IBM服务器,则打开远程控制台
Disable Multi-thread if possible 关闭超线程
本地磁盘设置成RAID1或RAID 1/0
如果磁盘以前安装过 VMware 或其它 OS, 重新初始化RAID 10
If 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 VIFs
VIFLIST=`xe vif-list | grep "uuid ( RO)" | awk ‘{print $5}‘`
for VIF in $VIFLIST
do
echo Setting ethtool-tx=off and ethtool-rx=offon $VIF
xe vif-param-set uuid=$VIFother-config:ethtool-tx="off"
xe vif-param-set uuid=$VIFother-config:ethtool-rx="off"
done
echo Setting checksum off on PIFs
PIFLIST=`xe pif-list | grep "uuid ( RO)" | awk ‘{print $5}‘`
for PIF in $PIFLIST
do
echo Setting ethtool-tx=off and ethtool-rx=offon $PIF
xe pif-param-set uuid=$PIFother-config:ethtool-tx="off"
xe pif-param-set uuid=$PIFother-config:ethtool-rx="off"
done
6) 打开XenServer IRQbalance服务
#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
安装Xentool
Remove 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 {} \;
本文出自 “我拿流年乱了浮生” 博客,请务必保留此出处http://tasnrh.blog.51cto.com/4141731/1642456
标签:ibm服务器 最佳实践 xenserver 存储 本地磁盘
原文地址:http://tasnrh.blog.51cto.com/4141731/1642456