kvm虚拟化解决方案提供了两套虚拟机模板管理工具。
一套是kvm本身自带的qemu组件,包括qemu-kvm,qemu-img,qemu-io等;
另一台则是开源通用的管理工具virsh。

今天我们先介绍使用qemu组件进行虚拟机模板创建,接下来将分别使用qemu工具进行centos7.0及windows server 2008虚拟机模板示例的创建。

基础环境的准备

在vmware上安装一台Centos 7.0版本的虚拟机
使用qemu工具创建虚拟机模板示例_第1张图片
注意要打开CPU的虚拟化功能
安装操作系统,在选择依赖包时,按照图示将虚拟化需要的安装包全部装上。

使用qemu工具创建虚拟机模板示例_第2张图片
备注:如果你的虚拟机是按照默认环境安装的,则需要手动安装KVM虚拟化管理工具
yum install -y qemu-kvm libvirt libvirt-client libvirt-python virt-manager virt-viewer
安装完成后使用rpm -ql qemu-kvm查看qemu-kvm可执行文件是否在/usr/bin的目录下,如果没有创建链接文件以便环境变量调用。
ln -sv /usr/libexec/qemu-kvm /usr/bin
基础环境安装好之后登录进行验证
使用 egrep --color=auto "(svm|vmx)" /proc/cpuinfo 进行查看系统的虚拟化功能是否打开

使用qemu工具创建虚拟机模板示例_第3张图片
AMD的CPU则是svm
我们创建好虚拟机之后默认虚拟机是运行在隔离网络模型内,类似于vmware的仅主机模式。如果需要与外部主机通信还需要定义网络的模型为桥接或nat模型。
所有创建的虚拟机的虚拟网卡都挂载到此网桥下面从而与外部主机通信

下面开始制作Centos7.0虚拟机模板镜像
将Centos7.0的iso文件拷贝的/tmp目录下
使用qemu-img工具为模板创建一个磁盘存储空间
qemu-img  create -o size=20G,preallocation=metadata -f qcow2 /tmp/centos7.img
创建一个20G大小稀疏格式的qcow2格式的存储磁盘
稍后我们会将镜像文件安装在此存储空间内
qemu-kvm -name "centos7.0" -m 512 -smp 2 -boot d -drive file=/tmp/centso7.img,if=virtio,media=disk,format=qcow2  -drive file=/tmp/CentOS-7.0-1406-x86_64-DVD.iso,media=cdrom -net nic,model=virtio 
参数详解:
-name centos7.0:创建虚拟机的这个进程指定一个名称
-m:指定内存大小
-smp:指定CPU核心数
-boot:指定引导启动项,n:表示从网络引导,c:表示从光驱引导,d:表示从磁盘引导
-drive :指定磁盘映像文件,可以使用高级格式
                media:磁盘文件类型
                format:磁盘格式
-net:指定网络的前半段,即虚拟机模板中的虚拟网卡              

使用qemu工具创建虚拟机模板示例
打开一个新的终端输入vncviewer :5900
使用qemu工具创建虚拟机模板示例_第4张图片
使用qemu工具创建虚拟机模板示例_第5张图片
开始进行安装
安装完成后登录系统用lsmod命令进行驱动查看

使用qemu工具创建虚拟机模板示例_第6张图片
将虚拟机关机,此时虚拟机模板制作完成
使用qemu工具创建虚拟机模板示例_第7张图片
将文件拷出上传到云平台即可。

windows server 2008镜像模板制作

首先创建一块20G大小的存储磁盘
qemu-img create /tmp/wondows2008.img -o size=20G,preallocation=metadata  -f qcow2 
加载iso文件创建虚拟机
qemu-kvm -name wondows2008 -m 512 -smp 2 -boot d -drive file=/tmp/windows2008.img,if=virtio,index=0,media=disk,format=qcow2 
-driver file=/tmp/cn_windows_server_2008.iso,index=1,media=cdrom 
-drive file=/tmp/virtio-win-1.7.4.iso,media=cdrom
备注:这里要想让windows的虚拟机模板支持半虚拟化必须要加载vortio驱动。
window官方网站提供了iso格式的镜像包,可到官网上下载。
运行创建虚拟机命令之后,打开vnc控制台

使用qemu工具创建虚拟机模板示例_第8张图片
使用qemu工具创建虚拟机模板示例_第9张图片
使用qemu工具创建虚拟机模板示例_第10张图片
注意这里在选择安装磁盘的时候会提示无法加载驱动程序,这时就需要我们手动到virtio去手动加载。
点击加载驱动程序,然后点击浏览

使用qemu工具创建虚拟机模板示例_第11张图片
选择virtio中对应的windows版本的驱动,这里的这个virtio驱动器即我们在命令行中指定的-dirve file=/tmp/virtio-win-1.7.4.iso.
使用qemu工具创建虚拟机模板示例_第12张图片
使用qemu工具创建虚拟机模板示例_第13张图片
点击下一步进行安装
安装完成后,进入windows2008操作系统,打开设备管理器。查看驱动是否正常安装,如果有×××的叹号,则需要更新驱动。驱动管理会自动扫描virtio进行驱动更新。

使用qemu工具创建虚拟机模板示例_第14张图片
关闭虚拟机之后从新打开虚拟机进行验证

qemu-kvm  -name "windows08" -m 1024 -smp 2 -boot d -drive file=/tmp/windows2008.img,if=virtio,index=0,media=disk,format=qcow2
注意此时不需要再指定wimdows的iso文件以及virtio驱动文件。

使用qemu工具创建虚拟机模板示例_第15张图片
此时windows2008的镜像文件制作完毕,将/tmp/目录下windows2008.img文件拷出来上传到云平台即可。