zoukankan      html  css  js  c++  java
  • qemu 转换镜像格式

    qemu-img是QEMU的磁盘管理工具,在qemu-kvm源码编译后就会默认编译好qemu-img这个二进制文件。

    qemu-img也是QEMU/KVM使用过程中一个比较重要的工具,可以用其创建两种格式(raw和qcow2)的虚拟机磁盘。

    我们kvm 和openstack 中常用得镜像格式就是raw 或者qcow2 格式得镜像, 一般通常用qcow2 

    为什么选择qcow2 镜像? 

    "raw" 镜像格式是最最简单的,并且是被 KVM 和 Xen 原生支持的格式,raw唯一的缺点在于,看起来很大,在scp的时候,这会消耗很多的网络IO,而压缩这么大的文件,也是很耗时间和cpu 

    qcow2 (QEMU 写时复制版本2)格式通常是KVM使用,使用稀疏文件呈现方式,镜像尺寸小,支持快照。

    举个例子: raw 格式就像你邮寄一箱子,这个箱子可以存放十斤得重量得物品,我得箱子里存放了两斤得重量得东西,我在邮寄使用这个箱子都时按照十斤大小去计费。他不会管你实际用了多少,你这个箱子有多大,那我按照你这个最大得来计算。

    qocw2 格式,我这个箱子可以存放十斤得重量得物品,但是我只放了两斤,我在邮寄使用就是算这两斤重量,他是按照你实际使用得大小来计算得

    raw 格式镜像你看到时多大就是多大

    qcow2 格式镜像,随着你对镜像得操作他会动态得增长, 但是他不是无限置得增长。我们镜像都有一个virtual size 这个就是我们镜像得大小得限制

    查看镜像大小与格式

    qemu-img info   镜像名 

     

    qemu-img 转换镜像格式

    qemu-img convert -f raw -O qcow2 ubuntu-14.04.6-server-amd64.iso  (初始镜像) ubuntu-14.04.6-server-amd64.qcow2(转换格式后得镜像命名)

    扩容镜像大小

    qemu-img resize   镜像名    +20G   

    缩减镜像大小      (不建议使用,这样可以减少空间但是对系统有损害,可能导致系统直接进入维护模式或者镜像拉不起虚机)

    qemu-img  resize 镜像名  -20G

    实例

    查看镜像得大小和格式

    [root@ var]# qemu-img info ubuntu-14.04.6-server-amd64.iso                 
    image: ubuntu-14.04.6-server-amd64.iso
    file format: raw
    virtual size: 632M (662700032 bytes)
    disk size: 632M

    将镜像有raw 格式转为qcow2 格式
    [root@ var]# qemu-img convert -f raw -O qcow2 ubuntu-14.04.6-server-amd64.iso ubuntu-14.04.6-server-amd64.qcow2

    检查镜像大小格式
    [root@ var]# qemu-img info ubuntu-14.04.6-server-amd64.qcow2
    image: ubuntu-14.04.6-server-amd64.qcow2
    file format: qcow2
    virtual size: 632M (662700032 bytes)    -------镜像总得大小
    disk size: 631M              ------镜像使用得实际大小
    cluster_size: 65536
    Format specific information:
    compat: 1.1
    lazy refcounts: false


    扩展qcow2 大小
    root@cic-0-1:~# qemu-img resize ubuntu-14.04.6-server-amd64.qcow2 +20G
    Image resized.
    root@cic-0-1:~# qemu-img info ubuntu-14.04.6-server-amd64.qcow2
    image: ubuntu-14.04.6-server-amd64.qcow2
    file format: qcow2
    virtual size: 21G (22137536512 bytes)
    disk size: 631M
    cluster_size: 65536
    Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
    corrupt: false


    扩容后lsblk 查看节点新扩容的节点得信息是有显示的。 但是需要将扩容的空间加到我们需要用的分区里

    growpart /dev/vda1 将新扩容的空间添加我们需要的分区,但是我们df -TH 检查会发现,分区挂载的目录大小并没有变化,lsblk 查看分区是扩容空间后的大小,检查没有问题

    resize2fs /dev/vda1    在线调整分区大小(df TH 是会发现分区挂载的目录大小是增大了)

  • 相关阅读:
    Dijksrta algorithm
    头一回发博客,来分享个有关C++类型萃取的编写技巧
    读书笔记「Python编程:从入门到实践」_4.操作列表
    读书笔记「Python编程:从入门到实践」_3.列表简介
    读书笔记「Python编程:从入门到实践」_2.变量和简单数据类型
    2017/01/20 学习笔记 关于修改和重打jar包
    2017/01/07 学习笔记 jar包,maven
    常用链接
    使用Dir,遍历文件夹下所有子文件夹及文件
    .NET WEB项目的调试发布相关
  • 原文地址:https://www.cnblogs.com/yk0625/p/14025720.html
Copyright © 2011-2022 走看看