zoukankan      html  css  js  c++  java
  • Linux的桌面虚拟化技术KVM(四)——虚拟机镜像格式对比与转换

    Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机

    Linux的桌面虚拟化技术KVM(二)——远程桌面管理

    Linux的桌面虚拟化技术KVM(三)——KVM虚拟机克隆和快照

    (1).常用镜像格式对比

      目前常用虚拟机镜像格式:raw、cow、qcow、qcow2、vmdk。

     1)raw

      raw格式:老牌的镜像格式,用一个字来说就是裸,也就是赤裸裸,你随便dd一个file就模拟了一个raw格式的镜像。由于裸的彻底,性能上来说的话还是不错的。centos6上KVM和XEN默认的格式还是这个格式。centos7以上默认是qcow2 。

      裸的好处还有就是简单,支持转换成其它格式的虚拟机镜像对裸露的它来说还是很简单的(如果其它格式需要转换,有时候还是需要它做为中间格式),空间使用来看,这个很像磁盘,使用多少就是多少(du -h看到的大小就是使用大小)。
      例: qcow2 转为 vmdk 方法是: qcow2 转为 raw ,然后把raw转为vmdk 。也可以直接qcow2转为vmdk

      佳能相机上的高保真用的就是这格式。RAW的原意就是“未经加工”。可以理解为:RAW图像就是CMOS或者CCD图像感应器将捕捉到的光源信号转化为数字信号的原始数据。RAW理解为“数字底片”

      缺点:不支持snapshot快照。

     2)cow、qcow、qcow2

      cow格式:还没有成熟,就被放弃了。后来被qcow格式所取代。

      qcow格式:刚刚出现的时候有比较好的特性,但其性能和raw格式对比还是有很大的差距,目前已经被新版本的qcow2取代。

      qcow2格式:现在比较主流的一种虚拟化镜像格式,经过一代的优化,目前qcow2的性能上接近raw裸格式的性能。qcow2格式支持snapshot快照,可以在镜像上做多个快照,具有以下优点:更小的存储空间;支持创建image镜像;支持多个snapshot快照,对历史snapshot进行行管理;支持zlib的磁盘压缩;支持AES的加密。

     3)vmdk

      vmdk格式:VMware的格式,整体性能最好,因为VMware就是做虚拟化起家。从性能和功能上来说,vmdk应该算最出色的,由于vmdk结合了VMware的很多能力,目前来看,KVM和XEN使用这种格式的情况不是太多。但就VMware的企业级虚拟化Esxi来看,它的稳定性和各方面的能力都很好。

    (2).常用镜像格式转换

      格式转换使用qemu-img convert -f [源镜像格式] -O [目标镜像格式] [源镜像地址] [目标镜像地址]

      例如,将centos7.0由qcow2格式转换为raw格式

    [root@youxi1 ~]# qemu-img convert -f qcow2 -O raw /var/lib/libvirt/images/centos7.0.qcow2 /var/lib/libvirt/images/centos7.0.raw
    [root@youxi1 ~]# qemu-img info /var/lib/libvirt/images/centos7.0.raw
    image: /var/lib/libvirt/images/centos7.0.raw
    file format: raw  //可以看到格式已经变了
    virtual size: 10G (10737418240 bytes)
    disk size: 1.3G
    

      注意:如果修改了镜像格式,需要去修改其相应的配置文件才能使用。

      修改配置文件的方法一:该方法不需要重启libvirtd服务

    [root@youxi1 ~]# virsh edit centos7.0
    //修改第33~34行
          <driver name='qemu' type='raw'/>
          <source file='/var/lib/libvirt/images/centos7.0.raw'/>
    

      修改配置文件的方法二:该方法需要重启libvirtd服务

    [root@youxi1 ~]# vim /etc/libvirt/qemu/centos7.0.xml
    //修改第40~41行
          <driver name='qemu' type='raw'/>
          <source file='/var/lib/libvirt/images/centos7.0.raw'/>
    [root@youxi1 ~]# systemctl restart libvirtd
    

      

  • 相关阅读:
    jmeter实现上传文件
    jmeter之调度器设置
    存储过程的几种传参方式
    Charles篡改数据
    软件测试职业发展方向
    最近发现一个有意思的lua游戏引擎,名字叫love2d
    2016,新的一年来到。
    Corona手游教程之widget:Slider篇
    Corona手游教程之widget:PickerWheel篇
    Corona手游教程之widget:ProgressView篇
  • 原文地址:https://www.cnblogs.com/diantong/p/11490152.html
Copyright © 2011-2022 走看看