几近崩溃,KVM无法自动启动 [已解决]
本帖最后由 乐山近水 于 2011-04-12 17:29 编辑
正在在一台 i7 的机器上布署基于CentOS 5.5 的 KVM 虚拟机环境。原来用 libvirt 进行虚拟机管理,主机启动后虚拟机也会自动启动。 无奈其网卡吞吐性能太差,遂放弃libvirt, 改为由命令行管理,下面是我的失败经历,请高手帮忙分析一下。
虚拟机启动脚本:/home/data/kvm/scripts/samba.sh
- #!/bin/bash
- sudo /usr/libexec/qemu-kvm \
- -smp 1 \
- -m 256 \
- -hda /home/data/kvm/storage/samba.img \
- -hdb /dev/host/smb \
- -localtime \
- -net nic,vlan=0,macaddr=52:54:00:12:30:05 \
- -net tap,ifname=tap5,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown \
- -boot c \
- -vnc "none" &
复制代码经过测试,脚本运行正确,虚拟机能正常启动,虚拟网卡正常启动,工作正常。
第一回合: 把启动脚本拷贝到 /etc/init.d/ 目录下(不拷与可以),开启自动执行:
- # cp /home/data/kvm/scripts/samba.sh /etc/init.d
- # cd /etc/rc3.d
- # ln -s ../init.d/samba.sh S99smbup
复制代码系统的运行级别为 3, 但还是在rc2, rc5 下也建立了同样的链接。
重启系统测试效果。
- ps -e |grep kvm
- 6556 ? 00:00:36 qemu-kvm
复制代码OK, 虚拟机已经自动启动了,测试一下连接:
- # ping 192.168.10.5
- PING 192.168.10.5 (192.168.10.5) 56(84) bytes of data.
- From 192.168.10.4 icmp_seq=2 Destination Host Unreachable
- From 192.168.10.4 icmp_seq=3 Destination Host Unreachable
- From 192.168.10.4 icmp_seq=4 Destination Host Unreachable
- --- 192.168.10.5 ping statistics ---
- 4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3000ms
- , pipe 3
复制代码连接不通,查一下网卡:
- # ifconfig
- br0 ........
- .....
- eth0 ....
- .....
- lo....
- ....
- virbr0.....
- .....
复制代码没有 tap5!
什么原因?是启动脚本时 tun/tap 组件还没有启动吗? 机器的启动时间大约为30秒,那把脚本启动的时间延后一分钟是否可行呢?
修改脚本测试一下。
- #!/bin/bash
- sleep 60
- sudo /usr/libexec/qemu-kvm \
- ....
复制代码再重启测试,好了,这次连虚拟机都不起来了。
第2回合:用crontab 启动虚拟机。
1: 修改 启动脚本,先检测虚拟机是否运行,如果没有运行则启动虚拟机,否则退出:
- #/etc/init.d/smbup
- #!/bin/bash
- foo=$(ps -ef |grep samba | wc -l)
- if [ $foo == 1 ]; then
- /usr/libexec/qemu-kvm -smp 1 -m 256 -hda /home/data/kvm/storage/samba.img -hdb /dev/host/smb -localtime -net nic,vlan=0,macaddr=52:54:00:12:30:05 -net tap,ifname=tap5,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown -boot c -vnc "none" &
- fi
复制代码添加 crontab
- # crontab -e
- 0-50/5 * * * * source /etc/init.d/smbup
复制代码过了5分钟后检查,虚拟机没有启动!
实在没招了,向各位大侠求救!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
问题解决了!
系统 mail 提示:
本身 crontab 的用户属性就是 root,加一个 sudo 真是画蛇添足!把 sudo 去掉就 OK 了。
centos 6 kvm 是王道