XEN笔记

Ifconfig 网卡名 down

Ifoconfig 网卡名 up

ftp目录:

/var/ftp

检查网桥连接:

brctl show   #查看网络连接情况

vifx.0,小数点后的0表示第0块网卡,表示现在与eth0桥接(同时ifconfig后有peth0)

启动NFS:

配置 /etc/exports

添加ROOT权限:Not_root_squash

Service nfs start

Mount –t nfs 192.168.1.200:/var/lib/xen/images /var/lib/xen/images

(touch abc测试有无写权限)

迁移:

xm migrate --live dom5 192.168.1.200

路由器添加转发功能:

# cat /proc/sys/net/ipv4/ip_forward
该文件默认值0是禁止ip转发,修改为1即开启ip转发功能。修改命令如下:
# echo 1 >/proc/sys/net/ipv4/ip_forward
修改过后就马上生效,即内核已经打开ip转发功能。但如果系统重启后则又恢复为默认值0,如果想永久打开需要通过修改/etc/sysctl.conf文件的内容来实现。
方法二.修改/etc/sysctl.conf文件
默认sysctl.conf文件中有一个变量是
net.ipv4.ip_forward = 0
将后面值改为1,然后保存文件。因为每次系统启动时初始化脚本/etc/rc.d/rc.sysinit会读取/etc/sysctl.conf文件的内容,所以修改后每次系统启动时都会开启ip转发功能。但只是修改sysctl文件不会马上生效,如果想使修改马上生效可以执行下面的命令:
# sysctl –p

之后添加路由:

route add -net 10.2.0.0 netmask 255.255.255.0 dev eth2

XEN故障与解决方法汇总

1、Hint to configure libvirt without bothering qemu errors in xen

This is not a bug, but annoying
Since I have xen and no kvm the qemu dirvers report errors all the time - This may help everyone with the same setup.

libvir: QEMU error : connect: /usr/local/var/run/libvirt/qemud-sock: No such file or directory
libvir: warning : Failed to find the network: Is the daemon running ?

libvir: error : library call virConnectNumOfNetworks failed, possibly not supported libvir: error : library call virConnectNumOfDefinedNetworks failed, possibly not supported
[..]

The last two lines are printed every second!

To "unconfigure" qemu and therefore prevent these message flooding use
./configure --without-qemu

simple but useful ;-)

2、系统日志中大量如下警告:
Dec  2 16:11:08 gamebbs2 snmpd[1056]: Received SNMP packet(s) from UDP: [192.168.239.93]:-13093
Dec  2 16:11:08 gamebbs2 kernel: audit(1228205468.528:120): avc:  denied  { read append } for  pid=1056 comm="snmpd" name="snmpd.log" dev=dm-0 ino=3717987 scontext=system_u:system_r:snmpd_t:s0 tcontext=user_u:object_r:var_log_t:s0 tclass=file
Dec  2 16:11:08 gamebbs2 snmpd[1056]: Received SNMP packet(s) from UDP: [192.168.239.93]:-13092
Dec  2 16:11:08 gamebbs2 kernel: audit(1228205468.940:121): avc:  denied  { read append } for  pid=1056 comm="snmpd" name="snmpd.log" dev=dm-0 ino=3717987 scontext=system_u:system_r:snmpd_t:s0 tcontext=user_u:object_r:var_log_t:s0 tclass=file
Dec  2 16:16:15 gamebbs2 snmpd[1056]: Received SNMP packet(s) from UDP: [192.168.239.93]:-12384

原因是开启了selinux,snmp的日志文件因受selinux保护,snmp不能正常写入,解决方法有几种:
(1)停止snmpd,删除snmpd日志文件,再启动snmpd即可恢复,不过此方法处理后可能在下次重启系统后仍然会出现这个情况。
(2)直接关闭selinux(setenforce 0)
(3)修改selinux的策略(selinux不熟,哪位高手提供一下方法)

3、网卡lo流量很高
初步估计与IPv6有关,关闭IPv6支持,重启系统后恢复
   vi /etc/modprobe.conf  加入下面两行
alias net-pf-10 off
alias ipv6 off

4、ssh远程连接到服务器后进行操作会停顿,在控制台相接操作没有此情况
初步估计与IPv6有关,关闭IPv6支持,重启系统后恢复
   vi /etc/modprobe.conf  加入下面两行
alias net-pf-10 off
alias ipv6 off
另可能与网卡流量限制有关,查看网卡流量限制
tc qdisc show dev eth0

5、在rh5u2前的系统上安装Fedora10作为DomU不成功
可能是python-virtinst包版本过低,可以尝试更新此包再安装。

6、在XEN主机上,写在/etc/init.d/network上的路由不生效,但是改为非虚拟系统的时候正常
因XEN系统中启动网络的方法与非虚拟主机系统有些不同,具体可以参考XEN相关文档,将路由写到/etc/init.d/xend中即可正常生效

7、ssh连接domU可以正常连接,使用xm console domname连接domU的控制台的时候报如下错误:
xenconsole: Could not read tty from store: No such file or directory
某些客户机还可能出现无法启动的现象。

可能是xend进程有问题,可以考虑重启xend进程:
/etc/init.d/xend restart

8、安装domU过程中,在输入客户机IP后不能获取到安装源的数据,使用DHCP获取不到地址
查看dom0中网络配置情况,检查是否domU连接到了错误的网桥上
brctl show
如果是,修正vif连接到的网桥,用brctl命令进行删除和添加
例如:
#brctl show   #查看网络连接情况
#xm list   #查看该DomU所的ID来确定vif号码(ID号与vif号相同)
#brctl delif virbr0 vifx.0 #从错误的网桥中删除vifx.0(x.0中x为ID编号,0表示第一块网卡,下同)
#brctl addif xenbr0 vifx.0 #在正确的网桥中加入vifx.0
#brctl show   #检查最终结果

9、安装客户机过程中跨网段安装失败
首先检查安装客户机的时候配置的网络,客户机网络与主机网络应该相同,同时主机与安装服务器够连通,并且客户机设置的网关应该为该客户机所配置网段连通安装服务器的路由网关,可能不是默认网关,对于系统安装服务器与xen主机之间跨网段的情况网关设置非常重要。如果使用DHCP来安装客户机,通常可能会遇到此情况。

10、64位的RHEL5U2机器,安装客户机,重启客户机等都会卡住,在check image附近
初步估计为在有客户机运行期间,主机的时间跟实际时间有较大的差距的情况下运行了ntpdate的原因,如果已经运行了该命令,暂时未发现较好的解决方法,只能重启物理服务器。
如果还未运行客户机,可考虑先关闭客户机,再运行ntpdate校准,然后再启动客户机。

11、在单台物理XEN主机上同时进行两个虚拟客户机的安装可能会出现冲突,导致系统无响应

12、用virt-install安装客户机的时候报如下错误:
virDomainCreateLinux() failed XML description for domain is not well formed or invalid
Domain installation may not have been
successful.  If it was, you can restart your domain
by running 'virsh start new216'; otherwise, please
restart your installation.
Mon, 09 Mar 2009 14:57:22 ERROR    virDomainCreateLinux() failed XML description for domain is not well formed or invalid
Traceback (most recent call last):
  File "/usr/sbin/virt-install", line 502, in ?
    main()
  File "/usr/sbin/virt-install", line 462, in main
    dom = guest.start_install(conscb,progresscb)
  File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 813, in start_install
    return self._do_install(consolecb, meter)
  File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 834, in _do_install
    self.domain = self.conn.createLinux(install_xml, 0)
  File "/usr/lib64/python2.4/site-packages/libvirt.py", line 573, in createLinux
    if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self)
libvirtError: virDomainCreateLinux() failed XML description for domain is not well formed or invalid

出现此报错应该是主机系统在启动的时候有起libvirtd服务,但是后来关闭了,而virt-install工具在进行客户机系统安装的时候错误地将客户机的网卡连接到libvirtd服务起的网桥virbr0上,此时libvirtd是关闭的,所以virbr0也不存在了,就出现了上面的错误信息。
解决方法有两个:
(1)、启动libvirtd服务后重新用原来的virt-install命令安装客户机操作系统;
#/etc/init.d/libvirtd start

(2)、在原来的virt-install命令后面加-b参数指定需要连接的网桥,如果未调整网络,一般默认的网桥应该为xenbr0
要查看网桥的名称可以使用brctl命令查看
#brctl show
[root@XenHost ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
xenbr0          8000.feffffffffff       no              vif5.0
                                                        vif4.0
                                                        vif3.0
                                                        vif2.0
                                                        peth0
                                                        vif0.0

此处我们已经关闭了libvirtd服务,剩下的网桥的名称为xenbr0(如果创建了多个网桥,选择自己需要的网桥名称)
#virt-install -n kiro-test -r 256 --vcpus=1 -f /data/rh5 --nographics -p -d -l "http://192.168.0.1-b xenbr0

13、虚拟客户机关闭后内存不能自动回收
只要在主机上执行下面的命令即可:
xm mem-set 0 mem-value #其中mem-value为大于或等于实际空余内存的值,此时,系统将回收全部可用的内存

14、虚拟主机跟虚拟客户机的时间对不上,主机的可以校正,客户机无论用ntpdate怎么调时间都调不准确

临时解决方法,首先手工调整虚拟主机时间,不管此时主机时间是否准确,只管用date命令将主机时间调整一下,随便调整为什么时间,但是最好就不要跟主机时间相差太远,然后用ntpdate重新同步校正主机时间,即可让主机时间与客户机时间保持一致并且准确了。主机时间同步完成后,如果此时客户机时间比主机时间偏慢,客户机时间将自动同步为正确时间,如果客户机时间比主机时间偏快,则客户机时间将暂停,直到主机时间与其相同后再继续。其实我们只需要用date命令修改一下主机时间即可让主机和客户机的时间达到同步,后面进行ntpdate是为了校准主机和客户机的时间而已。

长效解决方法,在客户机上执行下面的命令让XEN客户机不同步主机时间
echo 1 > /proc/sys/xen/independent_wallclock
然后就可以自由设置时间了,客户机重启后还是会同步主机时间
要让这个配置开机有效可以将上面的命令加入/etc/rc.local
或添加下面的配置到/etc/sysctl.conf中
xen.independent_wallclock  = 1

然后ntpdate校正客户机时间,执行此操作后客户机时间将独立于主机时间

你可能感兴趣的:(xen)