作者:o0大大脸么么小小鱼0o | 来源:互联网 | 2014-05-27 21:08
折腾了好几天,把自定义ubuntu、windowsxp镜像网络问题解决了:kvm启动镜像没法联网,glance上传到云后,创建出的实例却可以。一、过程之前制作CentOS镜像的时候没有遇到这个问题,参考文档:http://os.51cto.com/art/201202/314888.htm制作ubuntu、windo
折腾了好几天,把自定义ubuntu、windows
xp镜像网络问题解决了:kvm启动镜像没法联网,glance上传到云后,创建出的实例却可以。
一、过程
之前制作CentOS镜像的时候没有遇到这个问题,参考文档:http://os.51cto.com/art/201202/314888.htm
制作ubuntu、windowns xp镜像参考文档:
(1)http://www.vpsee.com/2011/06/create-ubuntu-kvm-image-for-openstack-nova/
(2)http://quake.iteye.com/blog/1266277
(3)http://blog.csdn.net/jb80400812/article/details/7000092
(4)http://www.linuxde.net/2011/11/2050.html
大概的思路就4步:
1、创建镜像文件
2、用nova-compute自带的kvm,启动.iso文件,用vncviewer完成OS的安装过程
3、OS安装完毕,停止虚拟机,kvm重启镜像,安装必要的软件
4、后续:上传镜像到云中
二、centos.img制作:
(1)kvm-img create -f raw centos.img 10G
(2)kvm -m 512 -cdrom CentOS-6.3-x86_64-minimal.iso \
-drive file=centos.img -boot d -net nic -net tap -nographic -vnc
:0
(3)kvm -m 512 -drive file=centos.img -boot c -net nic -net tap
\
-nographic -vnc :0
(4)glance发布到云中
glance add name="CentOS 6.3 x86_64" is_public=true
container_format=ovf \
disk_format=raw
三、ubuntu.img制作:
(1)kvm-img create -f raw ubuntu.img 10G
(2)kvm -m 512 -cdrom ubuntu-11.10-server-amd64.iso \
-drive file=ubuntu.img -boot d -nographic -vnc :0
(3)kvm -m 512 -drive file=ubuntu.img -boot c -net nic -net tap
-nographic -vnc :0
(4)glance发布到云中
glance add name="Ubuntu 12.04 server" is_public=true
container_format=ovf \
disk_format=raw
四、windowsxp.img制作
(1)kvm-img create -f raw windows_xp.img 10G 或者硬盘格式用qcow2
(2)kvm -m 1024 -cdrom windowsxp.iso -drive
file=windowsxp.img,if=virtio \
-fda virtio-win-1.1.30.vfd -boot d -nographic -vnc :0
(3)kvm -m 1024 -drive file=windows_xp.img,if=virtio -cdrom
virtio-win-0.1-30.iso \
-net nic,model=virtio -net tap -boot c -nographic -vnc :0
(4)glance发布到云中
glance add name="windows xp" is_public=true container_format=ovf
\
disk_format=raw
五、收获
1、在镜像制作的(2),须加上-net nic -net
tap才能建立镜像到kvm网桥virbr0的映射,网络才通。之前制作镜像的时候只有centos.img加了,故能联网,而其他几个镜像的网络无论是dhcp,还是手动设置到kvm网段,都不通。参考kvm命令使用:http://8366.iteye.com/blog/1000575,http://chapter09.sinaapp.com/?p=375
2、在单节点的openstack中,由ifconfig可以看到网络的分布情况——两个网桥br100,virbr0:其中br100是
实例的网桥,每创建一个实例都会有一个虚拟网卡vnet*生成,实例的内网Ip即floating
ip,和vnet*对应,与br100在同一网段;而virbr0是kvm的网桥,用kvm启动的虚拟机(镜像)会自动生成tap*虚拟网卡,与镜像中的eth*对应,没有建立对应关系则网络不通,镜像自动获取的ip与vribr0在同一网段。另外,br100,virbro不在同一网段,最终都与eth0物理网卡相连。
3、不要机械的去copy某些命令,要能够理解,不然要多走很多弯路的;另一方面,需要加强理论的学习,唯有源头活水来,源头呢?直接去摸索,没有任何的基础可言,遇到问题没思路,要走的弯路自然多。
4、解决问题思路:不浮躁,切忌机械照搬,多动脑,不轻易发问。
(1)仔细查看错误,什么问题、是什么导致,分析错误原因
(2)查看log
(3)google,查看知名博客、openstack理论知识(PDF文档)
(4)QQ群询问
(5)总结