kvm支持的镜像很多,常用的是原始镜像(*.img),还有支持动态大小扩张的qocw2格式(首选)。
更优的选择是系统盘如C盘用img格式,数据盘用qcow2格式以减少服务器磁盘闲置空间。
本文仅记录如何用centos.iso制作系统镜像centos.qcow2并创建启动虚拟机
· 制作虚拟机镜像
· 使用制作好的虚拟机镜像启动虚拟机
创建qcow2镜像,但是其实际占有磁盘大小仅为193K左右,而虚拟机内部显示磁盘大小为100G(表示该镜像安装后系统盘的大小,建议设置的稍微大一点。),也就是磁盘空间使用时才分配,即所谓动态扩张。
qemu-img create -f qcow2 centos.qcow2100G
本文将所有镜像及配置文件放到 /home/createvm 目录下
内容如下
<domaintype='kvm'>
<name>centos7.2name> //虚拟机名称
<memory>1048576memory> //最大内存(单位字节)
<currentMemory>1048576currentMemory> //可用内存
<vcpu>1vcpu> //虚拟cpu个数
<os>
<typearch='x86_64'machine='pc'>hvmtype>
<bootdev='cdrom'/> //光盘启动
os>
<features>
<acpi/>
<apic/>
<pae/>
features>
<clockoffset='localtime'/>
<on_poweroff>destroyon_poweroff>
<on_reboot>restarton_reboot>
<on_crash>destroyon_crash>
<devices>
<emulator>/usr/libexec/qemu-kvmemulator>
<disktype='file'device='disk'>
<drivername='qemu'type='qcow2'/> //此处关键,要求libvirt版本至少应该在0.9以上才能支持,libvirt版本升级http://blog.csdn.net/gg296231363/article/details/6891460
<sourcefile='/home/createvm/centos.qcow2'/> //目的镜像路径
<targetdev='hda'bus='ide'/>
disk>
<disktype='file'device='cdrom'>
<sourcefile='/home/createvm/centos.iso'/> //光盘镜像路径
<targetdev='hdb'bus='ide'/>
disk>
<interfacetype='bridge'> //虚拟机网络连接方式
<sourcebridge='br0'/>
<macaddress="00:16:3e:5d:aa:a8"/> //为虚拟机分配mac地址,务必唯一,否则dhcp获得同样ip,引起冲突
interface>
<inputtype='mouse'bus='ps2'/>
<graphicstype='vnc'port='-1'autoport='yes'listen = '0.0.0.0' keymap='en-us'/>//vnc方式登录,端口号自动分配,自动加1
devices>
domain>
·
virsh define setup.xml
可以通过 virshlist –all 查看当前系统所有的虚拟机信息
virshstart centos7.2
此时系统开始安装,安装完成之后需要切换配置文件.xml,下文介绍。
安装xmanager,并设置将xshell隧道转到xmanager,在xshell中输入virt-manager启动界面程序,启动后能看到操作系统安装的初始界面,开始安装系统,安装完成即表示镜像制作完成
四. 使用制作好的虚拟机镜像启动虚拟机
做完上一步说明操作系统已经安装完成,下一步就是启动并进入操作系统了,启动之前先关闭并销毁为安装虚拟机建立的setup.xml
virsh shutdown centos7.2 //关闭虚拟机
virsh undefine centos7.2 //删除虚拟机
这里主要是将上setup.xml中的启动盘由cdrom改为hd,否则启动虚拟机后依然会再次执行安装操作系统给的过程,其他的没有改变,内容如下:
<domaintype='kvm'>
<name>centos7.2name>
<memory>1048576memory>
<currentMemory>1048576currentMemory>
<vcpu>1vcpu>
<os>
<typearch='x86_64'machine='pc'>hvmtype>
<bootdev='hd'/> //即harddisk,从磁盘启动
os>
<features>
<acpi/>
<apic/>
<pae/>
features>
<clockoffset='localtime'/>
<on_poweroff>destroyon_poweroff>
<on_reboot>restarton_reboot>
<on_crash>destroyon_crash>
<devices>
<emulator>/usr/libexec/qemu-kvmemulator>
<disktype='file'device='disk'>
<drivername='qemu'type='qcow2'/>
<sourcefile='/home/createvm/centos.qcow2'/> //目的镜像路径
<targetdev='hda'bus='ide'/>
disk>
<disktype='file'device='cdrom'>
<sourcefile='/home/createvm/centos.iso'/> //光盘镜像路径
<targetdev='hdb'bus='ide'/>
disk>
<interfacetype='bridge'>
<sourcebridge='br0'/>
<macaddress="00:16:3e:5d:aa:a8"/>
interface>
<inputtype='mouse'bus='ps2'/>
<graphicstype='vnc'port='-1'autoport='yes'keymap='en-us'/>
devices>
domain>
virshdefine start.xml
virsh start centos7.2
启动后可以通过virt-manager再次进入虚拟机来设置好ip地址,之后就可以通过ssh登录了
还可以通过virt-manager进行磁盘的添加等等硬件的调整。