利用命令行virt-install来安装虚拟机。

   virt-install 是一个使用“libvirt” hypervisor 管理库构建新虚拟机的命令行工具,此工具使用串行控制台,SDL(Simple DirectMedia Layer)图形或者VNC客户端/服务器。

   --name 虚拟机名字    --ram内存  --disk(nodisk)存储    vcpus虚拟cpu个数    -u uuid虚拟机唯一编号    --ls-type操作系统类型    --network网络配置    --location安装方式后接安装源    --extra-args 附加到内核命令行参数到安装程序    

   详细的配置见http://tcqws.blog.51cto.com/4860028/1377074


   创建模板机:

   #virt-install

       --name rhel6.4_base     --vcpus=1     --ram=1024    

       --disk  path=/var/lib/libvirt/p_w_picpaths/rhel6.4_base,size=10,format=qcow2

       --location="http://192.168.0.1/rhel6.4"  

       --extra-args="ks=http://192.168.0.1/kickstart/ks.cfg noipv6"

       --os-type=linux      --os-variant=rhel6  

       --network bridge=br0,mac=52:54:00:00:00:01  

       --graphics spice


   创建磁盘镜像:

   #qemu-img create -f qcow2 -o backing_file=/var/lib/libvirt/p_w_picpath/rhel6.4_base  /var/lib/libvirt/p_w_picpath/client


   对模板机做快照:

    virt-install --name client1 --ram=1024 --vcpus=1

       --disk path=/var/lib/libvirt/p_w_picpaths/client1.img

       --os-type=linux --os-variant=rhel6

       --network bridge=br0,mac=52:54:00:00:00:02

       --graphics  spice --import &>/dev/null


虚拟机镜像格式:

   1.raw:

           raw 就是原始的,它直接将文件系统的存储单元分配给虚拟机使用,采取直读直写的策略。在 raw 格式的文件中,虚拟出来的磁盘数据块号的大小决定了该数据块在 raw 文件中的偏移量,也就是说虚拟磁盘存放数据的顺序和 raw 文件中存放数据的顺序是一致的,由于这个特性,VBA IBA 的转换比较简单,而 IBA 实际上就是 PBA。在很多的实际应用中,模板镜像采用 raw 格式,以提高模板镜像的读性能,而增量镜像则使用其他格式,方便支持其他辅助特性。

           raw 格式的优点有: 一是寻址简单,访问效率较高; 二是可以通过格式转换工具方便地转换为其他格式; 三是可以方便地被宿主机挂载,可以在不启动虚拟机的情况下和宿主机进行数据传输。但是,由于 raw 格式实现简单,不支持诸如压缩、快照、加密和 CoW 等特性,另外,raw 格式文件在创建时指定大小之后,就占用了宿主机指定大小的空间,而不像 qcow2等稀疏模式的镜像格式可以从很小的文件按需地增长。

   4.qcow2:

           现在比较主流的一种虚拟化镜像格式,经过一代的优化,目前qcow2的性能上接近raw裸格式的性能。

           对于qcow2的格式,几点还是比较突出的,qcow2的snapshot,可以在镜像上做N多个快照。更小的存储空间,即使是不支持holes的文件系统也可以。支持多个snapshot,对历史snapshot进行管理。支持zlib磁盘的压缩。支持AES加密。

3.vmdk:

           vmdk 是 VMware 实现的虚拟机镜像格式,与 qcow2 类似,vmdk 也可以支持 CoW、快照、压缩等特性,镜像文件的大小也是随着数据写入操作的增长而增长,数据块的寻址也需要通过两次查询。