设为首页 收藏本站
查看: 2099|回复: 0

[经验分享] [镜像制作]VMWare搭建Openstack——KVM制作虚拟机镜像

[复制链接]

尚未签到

发表于 2015-10-10 12:36:03 | 显示全部楼层 |阅读模式
  前面已经介绍了使用libvert工具制作镜像,但是还有一种方法制作工具更加方便,就是使用KVM,我们可以在Ubuntu Server使用KVM安装镜像操作系统,然后使用VNC连接进行具体的安装配置,在制作镜像过程中,以Windows镜像制作较为麻烦,因为要考虑网络驱动的更新,所以我们以Windows镜像制作为例:
  


  


  

一、安装KVM






1、我们需要检查BIOS是否开启了VI(虚拟化技术),我们可以在创建虚拟机之前来勾选该选项


DSC0000.jpg







2、检测VI


[html] view
plaincopy



  • sm@smvm:~$ egrep -o "(vmx|svm)" /proc/cpuinfo  

  • vmx  

  • vmx  






3、安装KVM


[html] view
plaincopy



  • sm@smvm:~$ apt-get install qemu-kvm ubuntu-vm-builder bridge-utils  






安装之后启用KVM内核模块


[html] view
plaincopy



  • sm@smvm:~$ modprobe kvm  

  • sm@smvm:~$ modprobe kvm_intel  

  • sm@smvm:~$ modprobe kvm_amd  






检查KVM是否安装成功


[html] view
plaincopy



  • sm@smvm:~$ kvm-ok  

  • INFO: /dev/kvm exists  

  • KVM acceleration can be used  






当KVM模块安装成功之后,添加用户root到kvm组。


[html] view
plaincopy



  • root@smvm:~$ adduser root kvm  

  • Adding user 'root' to group 'kvm'...  



  二、设置网卡
  


  以VMWare10为例,需要添加一个新网卡,然后设置相关的网桥和tap信息

sm@controller:~$ more /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
#第一个网卡eth0
auto eth0
iface eth0 inet static
address 192.168.3.180
netmask 255.255.255.0
gateway 192.168.3.1
dns-nameserver 192.168.3.1
#第二个网卡eth1
auto eth1
iface eth1 inet manual
#设置tap
auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
#设置自己的操作系统用户,例如我的用户为sm
tunctl_user sm
#设置网桥br0
auto br0
iface br0 inet static
#网桥的端口指向第二个网卡eth1和tap0
bridge_ports eth1 tap0
address 192.168.3.170
netmask 255.255.255.0
gateway 192.168.3.1





  
  重启操作系统,然后查看网络信息

sm@controller:~$ ifconfig
br0       Link encap:Ethernet  HWaddr 00:0c:29:fc:59:45
inet addr:192.168.3.170  Bcast:192.168.3.255  Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fefc:5945/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:5567 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:479046 (479.0 KB)  TX bytes:648 (648.0 B)
eth0      Link encap:Ethernet  HWaddr 00:0c:29:fc:59:3b
inet addr:192.168.3.180  Bcast:192.168.3.255  Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fefc:593b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:285996 errors:0 dropped:0 overruns:0 frame:0
TX packets:5743265 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:21983457 (21.9 MB)  TX bytes:12954728601 (12.9 GB)
eth1      Link encap:Ethernet  HWaddr 00:0c:29:fc:59:45
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:6024092 errors:0 dropped:0 overruns:0 frame:0
TX packets:1421 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:8443078465 (8.4 GB)  TX bytes:124875 (124.8 KB)
lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:65536  Metric:1
RX packets:421932 errors:0 dropped:0 overruns:0 frame:0
TX packets:421932 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8019893323 (8.0 GB)  TX bytes:8019893323 (8.0 GB)
  
  将操作系统iso文件、网卡驱动iso、软驱文件上传到操作系统中

sm@controller:~$ ls
admin-openrc.sh
cirros-0.3.2-x86_64-disk.img
cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso
soft
ubuntu-14.04-server-amd64.iso
virtio-win-0.1-52.iso
virtio-win-1.1.16.vfd
  
  三、制作流程
  1、kvm创建一个磁盘,建议为qcow2格式

qemu-img create -f qcow2 win7.qcow2 25G
  
  2、安装操作系统

sm@controller:~$ sudo kvm -m 2048 -drive if=virtio,file=/home/sm/win7.img -fda /home/sm/virtio-win-1.1.16.vfd -cdrom /home/sm/cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso -net nic,model=virtio,macaddr=DE:AD:AF:22:33:33 -net tap,vlan=0,ifname=tap0,script=no -boot order=cd -nographic -vnc :14 -localtime
  
  参数说明:
  -m 2048  :设置内存2048MB
  -drive if=virtio,file=/home/sm/win7.img  :设置磁盘存储路径
  -fda /home/sm/virtio-win-1.1.16.vfd :设置软盘(需要事先下载virtio-win-1.1.16.vfd文件)
  -cdrom /home/sm/cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso :设置光盘启动文件
  -net nic,model=virtio,macaddr=DE:AD:AF:22:33:33  :设置MAC地址,按照格式随便编写
  -net tap,vlan=0,ifname=tap0,script=no  :设置网络tap0
  -boot order=cd :设置启动方式 c为光盘启动,d为硬盘启动
  -nographic -vnc :14 :设置vnc端口号
  -localtime :设置时间
  


  3、打开VNC,输入IP:Port连接即可
  


   DSC0001.jpg


  


  我们看到了Windows的安装页面
  


   DSC0002.jpg
  


  安装过程中,需要加载软盘,获得驱动程序安装,本系统是64Bit,选择AMD64
   DSC0003.jpg
  


  选择相关的驱动程序安装即可
   DSC0004.jpg
  


  我们可以看到,一开始设置的25GB的硬盘
   DSC0005.jpg
  


  安装操作系统即可,跟安装物理操作系统没有什么区别
   DSC0006.jpg
  


  稍等一段时间,操作系统就安装完毕了。
   DSC0007.jpg
  


  但是我们发现,网络是有问题的,我们需要额外安装网络驱动
DSC0008.jpg
  


  3、安装网络驱动程序
  

m@controller:~$ sudo kvm -m 2048 -drive if=virtio,file=/home/sm/win7.img -fda /home/sm/virtio-win-1.1.16.vfd -cdrom /home/sm/cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso -net nic,model=virtio,macaddr=DE:AD:AF:22:33:33 -net tap,vlan=0,ifname=tap0,script=no -boot order=cd -nographic -vnc :14 -localtime
  
  



该步骤参数与安装操作系统步骤基本一样,但是需要将网络驱动的iSO文件加载到CDROM上即可


  然后继续使用VNC连接,更新驱动
  
  


  打开设备管理器,然后右键更新驱动程序
   DSC0009.jpg


  


  选择CDROM相应操作系统版本的驱动
   DSC00010.jpg


  选择安装即可
   DSC00011.jpg


  


  查看是否安装完毕,提示安装成功信息
   DSC00012.jpg


  


  验证设备管理器的网络驱动状态
   DSC00013.jpg


  


  这时候我们就可以确保镜像的网络没有问题了。
   DSC00014.jpg


  


  我们也可以查看一下镜像文件的IP信息
   DSC00015.jpg


  


  注意:Windows制作的镜像,在VM环境部署的Openstack会出现蓝屏情况,个人经验来说,出现蓝屏的原因有两个:
  1、镜像没有做好(问题未知)
  2、这个镜像在VM环境下的Openstack可能由于你环境的资源较少,尽管你已经设置了比较大的CPU和内存
  


  我的问题就是第二个,本机环境的Openstack只要加载Windows镜像就出现蓝屏,但是将该IMG文件拷贝到真实物理环境下,该镜像可用。
   DSC00016.jpg


  


  


  附带:
  安装Ubuntu的命令如下参考

sudo kvm -m 1024 -hda w.img -cdrom /home/sm/ubuntu-14.04-server-amd64.iso -net nic,model=virtio,macaddr=DE:AD:AF:22:33:33 -net tap,vlan=0,ifname=tap0,script=no -boot order=cd -nographic -vnc :14 -localtime

  
  w.img是创建的qcow2的镜像文件,同样方法,使用VNC安装OS即可
   DSC00017.jpg


  



版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-125091-1-1.html 上篇帖子: 【KVM】 Kernel Based Virtual Machine 下篇帖子: Qemu-kvm模拟APIC Timer中断
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表