您的位置:首页 > 其它

xen虚拟化部署遇到的问题

2013-01-09 17:05 337 查看
1.DELL R710 CPU: e5504 官方称支持INTER的VT技术,但我装32位和64位的系统都不认cpu都不支持vmx

BIOS中需要打开VT支持
processor settings --> virtualization technology --> enable


2.Centos5.5(x64) 不支持 DELL R710 集成的声卡,造成客户端没有声音

戴尔服务器 PowerEdge售后服务电话 800-858-0960
官方告知:DELL 全系列服务器(除工作站都是不支持声卡的,显卡是集成的)

安装USB声卡解决问题


3.用什么来集中管理和监控Xen、KVM虚拟机?

convirt http://www.convirture.com/


4.只能安装4个虚拟机,然后就报下面的错误
无法完成安装:'POST操作失败: xend_post:来自 xen 守护进程的错误:(xend.err 'Device 768 (vbd) could not be connected. Failed to find an unused loop device')'

上面错误显示没有找到可用的 loop device,可能是当前使用的内核版本或者内核配置对 loop devices 有最大数目的限制,查看一下当前正在使用的的 loop devices

解决方法:/sbin/losetup -a
/dev/loop0: [fd00]:32014427 (/vm/vm01.swap) /dev/loop1: [fd00]:44105729 (/vm/vm01.img) /dev/loop2: [fd00]:32014432 (/vm/vm02.img) /dev/loop3: [fd00]:32014433 (/vm/vm02.swap) /dev/loop4: [fd00]:32014429 (/vm/vm03.swap) /dev/loop5: [fd00]:43057161 (/vm/vm03.img) /dev/loop6: [fd00]:1376674 (/vm/vm04.img) /dev/loop7: [fd00]:32014428 (/vm/vm04.swap)

在 CentOS/RHEL 系统上默认的 active loop devices 数目是8,如上面看到的 loop0-loop7,只创建了4个 vm,用到了8个 loop devices,4个用来挂载 os image,4个用来挂载 swap image. 对于基于 file 的 Xen OS image 来说,需要修改这个默认值以便获得更多的 loop devices 挂载更多的 image. 编辑 /etc/modprobe.conf 来修改 active loop devices 最大限制数目:

# vi /etc/modprobe.conf
options loop max_loop=64


5.Xen虚拟机克隆

virt-clone  -o yunwei_test3  -n yunwei_test30  -f /var/lib/xen/images/yunwei_test30.img

克隆后配置文件对比
vim -d  /etc/xen/yunwei_test3 /etc/xen/yunwei_test30

name = "yunwei_test3"
name = "yunwei_test30"

uuid = "705616ae-c273-cef8-21e9-33769ce8adaa"
uuid = "e02b192d-73fa-6d35-afdd-8d81fd48277d"

vif = [ "mac=00:16:36:40:23:fc,bridge=xenbr0,script=vif-bridge...
vif = [ "mac=00:16:36:25:dc:6f,bridge=xenbr0,script=vif-bridge...

disk = [ "file:/var/lib/xen/images/yunwei_test3.img,hda,w", "fil...
disk = [ "file:/var/lib/xen/images/yunwei_test30.img,hda,w", "f...


6.如何让XEN上面的虚拟机使用不同的网桥
1>创建多网桥启动脚本
touch /etc/xen/scripts/multi-network-bridge;chmod 755 /etc/xen/scripts/multi-network-bridge

vim /etc/xen/scripts/multi-network-bridge
#!/bin/sh
/etc/xen/scripts/network-bridge $@ vifnum=0 netdev=eth0 bridge=xenbr0
/etc/xen/scripts/network-bridge $@ vifnum=1 netdev=eth1 bridge=xenbr1

2>配置xend-config.sxp文件
将(network-script network-bridge)注掉替换为(network-script multi-network-bridge)
3>重启xend /etc/init.d/xend restart
brctl show 会生成
xenbr1          8000.0a3c7d92302f       no              tap1
tap0
peth1
vif0.1

4>修改虚拟机 vi /etc/xen/vclient002

注释掉原来的配置,增加:

#vif = [ "mac=00:16:36:23:2e:9e,bridge=xenbr0,script=vif-bridge,vifname=vif3.0" ]
vif = [ "mac=00:16:36:23:2e:9e,bridge=xenbr1,script=vif-bridge,vifname=vif0.1" ]


5>重启虚拟机

7.批量部署虚拟机时,模板需要注意哪些问题?

1.模版中的IP,主机名尽量避免冲突
2.模版精简服务,修改端口等
3.模版的账号设置好,如:snmp,ssh,文件同步与监控相关的配置
4.模版应该装好常见应用服务,如apache,nginx,mysql,java,php,tomcat,memcached等,且统一编译参数,默认不启动,减少系统资源消耗
5.xen模版不宜过大,20G为宜
6.如果有可能可以把模版做成LVM,以后动态扩展
7.如果大规模部署虚拟机,建议采用内部YUM的配置。把所有服务器的YUM源初始时就设置好
8.模板中内置初始化脚本,修改网络,hostname等


8.Xen克隆后,eth0 会改变,造成无法识别eth0,提示设备不存在。
因为通过 virt-clone 复制 vm 后, 新启动的 vm 內的 nic 就会变成 eth1 而不是原本的 eth0,复制会累加,比如复制2次后就会变成eth3

可以通过  ifconfig -a 来查看。

这个问题可以通过开机启动来查看是什么问题所致

dmesg| grep eth,发现是由 udev 所更改
udev: renamed network interface eth0 to eth1

原來是 nic 的 MAC 改变时, 会在 /etc/udev/rules.d/70-presistent-net.rules 內增加哪个 MAC 应该对应到哪个 eth 的规则, 所以如果确定之前的 MAC 是不需要的, 可以直接编辑这个文件, 將不需要的规则删除,並修改正确的 MAC 到对应到的 eth 编号


本文出自 “我的《奋斗》” 博客,请务必保留此出处http://wangmukun.blog.51cto.com/651644/481300
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  xen