精华内容
下载资源
问答
  • CentOS7镜像qcow2下载

    2020-06-29 15:30:54
    CentOS7的镜像qcow2格式的下载,可以通过平台进行直接添加,也可用虚拟机平台软件安装添加,支持virtualbox,vmware Station等。
  • 包含qcow2格式的镜像,无需自己重新制作,离线情况下制作镜像非常繁琐,镜像包括windows_server_2012_r2_x64.qcow2.tar win7.qcow2.tar.gz windows_server_2008_r2_x64.qcow2.tar virtio驱动 ubuntu14.04.3_server....
  • 创建qcow2镜像

    2021-01-07 06:52:17
    文章目录利用vmware创建一台虚拟机设置虚拟机网络安装虚拟机软件VNC连接操作镜像利用qcow2文件生成虚拟机参考文章 利用vmware创建一台虚拟机 设置虚拟机网络 因是测试练习,这里设置为桥接模式 目标是自己电脑和创建...
  • 免费docker/img/qcow2镜像下载

    千次阅读 2021-06-26 16:05:51
    img/qcow2镜像(免费) ubuntu;18.0;https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img ubuntu;16.0;https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudim..

    docker镜像

     https://github.com/Tedezed/kubevirt-images-generator/

    img/qcow2镜像(免费)

    ubuntu;18.0;https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img 
    ubuntu;16.0;https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img 
    ubuntu;14.0;https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img 
    debian;10.0;https://cdimage.debian.org/mirror/cdimage/openstack/archive/10.0.1-20190708/debian-10.0.1-20190708-openstack-amd64.qcow2 
    debian;9.0;https://cdimage.debian.org/cdimage/openstack/current-9/debian-9-openstack-amd64.qcow2 
    debian;8.0;https://cdimage.debian.org/cdimage/openstack/archive/8.11.0/debian-8.11.0-openstack-amd64.qcow2 
    debian;testing;https://cdimage.debian.org/cdimage/openstack/testing/debian-testing-openstack-amd64.qcow2 
    opensuse;15.0;http://ftp2.nluug.nl/os/Linux/distr/opensuse/repositories/Cloud:/Images:/Leap_15.0/images/openSUSE-Leap-15.0-OpenStack.x86_64-0.0.4-Build12.279.qcow2 
    centos;7.0;https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-1503.qcow2 
    coreos;1967.4.0;https://stable.release.core-os.net/amd64-usr/current/coreos_production_openstack_image.img.bz2 
    cirros;0.4.0;http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img 
    fedora;30;https://ftp.cica.es/fedora/linux/releases/30/Cloud/x86_64/images/Fedora-Cloud-Base-30-1.2.x86_64.qcow2 
    fedora;29;https://archive.fedoraproject.org/pub/archive/fedora/linux/releases/29/Cloud/x86_64/images/Fedora-Cloud-Base-29-1.2.x86_64.qcow2 
    fedora;28;https://archive.fedoraproject.org/pub/archive/fedora/linux/releases/28/Cloud/x86_64/images/Fedora-Cloud-Base-28-1.1.x86_64.qcow2 
    fedora;27;https://archive.fedoraproject.org/pub/archive/fedora/linux/releases/27/CloudImages/x86_64/images/Fedora-Cloud-Base-27-1.6.x86_64.qcow2

    付费windows qcow2镜像

    https://cloudbase.it/windows-cloud-images/

    展开全文
  • 制作openstack镜像win7.qcow2(centos/ubuntu/win镜像分享)-附件资源
  • QCOW2镜像格式

    千次阅读 2020-04-01 11:33:15
    QCOW2镜像格式是Qemu支持的磁盘镜像格式之一。它可以使用一个文件来表示一个固定大小的块设备。与Raw镜像格式相比,QCOW2具有如下优点: 更小的文件大小,即便不支持holes(稀疏文件)的文件系统同样适用 支持写时...

    原 文:https://people.gnome.org/~markmc/qcow-image-format.html

     

    QCOW2镜像格式是Qemu支持的磁盘镜像格式之一。它可以使用一个文件来表示一个固定大小的块设备。与Raw镜像格式相比,QCOW2具有如下优点:

    1. 更小的文件大小,即便不支持holes(稀疏文件)的文件系统同样适用
    2. 支持写时拷贝(COW, Copy-on-write),QCOW2镜像只反映底层磁盘镜像所做的修改
    3. 支持快照,QCOW2镜像可以包含镜像历史的多重快照
    4. 支持基于zlib的数据压缩
    5. 支持AES加密

    qemu-img是管理镜像文件文件最常用的命令,使用方法如下:

    # 创建一个名为test.qcow2,大小为4G的qcow2镜像

    $ qemu-img create -f qcow2 test.qcow2 4G

    # 将QCOW2格式的test.qcow2文件转换成raw格式的test.img文件

    $ qemu-img convert test.qcow2 -O raw test.img

     

    QCOW2头

    每一个QCOW2文件均以一个大端(big endian)格式的头开始,其格式如下:

    typedef struct QCowHeader {

          uint32_t magic;

          uint32_t version;

          uint64_t backing_file_offset;

          uint32_t backing_file_size;

          uint32_t cluster_bits;

          uint64_t size; /* in bytes */

          uint32_t crypt_method;

          uint32_t l1_size;

          uint64_t l1_table_offset;

          uint64_t refcount_table_offset;

          uint32_t refcount_table_clusters;

     

          uint32_t nb_snapshots;

          uint64_t snapshots_offset;

      } QCowHeader;

    • 前四个字节magic字段包含了字符’Q’,’F’和’I’,接下来是0xfb。
    • 接下来的四个字节version字段表示文件所使用的格式版本号。当前有两种版本格式,版本1和版本2,即QCOW和QCOW2.我们将重点介绍QCOW2,结尾处我们会对QCOW和QCOW2进行比较。
    • hacking_field_offset字段给出了文件起始位置到包含文件路径字符串的距离偏移值,该字段为8字节;backing_file_size字段给出了表示文件路径的字符串(非’\0’结尾)的长度。如果该镜像文件为COW镜像,该字符串指向原始文件的绝对路径。后续我们会继续讨论。
    • cluster_bits字段,该4字节字段描述了如何将镜像偏移位置映射到本地文件中;该字段决定了在一个簇中,可作为索引的偏移地址低位比特位数。由于L2表独占了一个簇,并包含8字节的项,因此地址中cluster_bits减3之外的其余高位比特作为L2表的索引值。L2表的详细内容会在如下的2级检索中介绍。
    • 接下来的8字节,size字段,表示了该镜像所表示的块设备大小,块设备大小值以字节为单位。
    • cypt_method字段包含0和1两种值,为0时表示没有使用加密方法,1表示采用了AES加密算法。
    • l1_size字段给出了L1表的大小,l1_table_offset字段给出了L1表中偏移值。
    • refcount_table_offset给出了refcount表的偏移量,refcount_table_clusters描述了以簇为单位的refcount表的大小。
    • 每一个快照都有一个QCowSnapshotHeader,nb_snapshots给出了镜像中包含的快照数目,即QCowSnapshotHeader的数目,snapshots_offset字段给出了QCowSnapshotHeader的偏移值。

    通常一个镜像文件包含以下几部分:

    • 上文中提到的头文件信息
    • L1表,以簇对齐,从下一个簇的起始点存储
    • refcount表,同样为簇对齐
    • 一个或者多个refcount块
    • 快照头,第一个头要求簇对齐,其余的头要求8字节对齐
    • L2表,每个表独占一个簇
    • 数据簇

     

    二级检索

        对于QCOW2镜像格式,磁盘设备的内容保存在簇中。每一个簇包含多个512字节的扇区。

        为了将给定的地址定位到簇的地址,必须要遍历L1表和L2表。L1表中存储了一组到L2表的偏移值,而L2表中存储了一组到簇的偏移值。

        根据cluster_bits字段,给定的地址被划分为三个单独的偏移值。假设cluster_bits的值为12,那么地址可按如下步骤划分:

    • 地址的低12位作为4Kb的簇偏移值
    • 接下来的9比特表示L2表中512个表项数组的偏移值。由于L2表是一个包含8字节项的单独簇,因此这里需要的比特数的计算方式为l2_bits=cluster_bits – 3。
    • 剩下的43比特为L1表中的8字节文件偏移值。

        注意,L1表的最小值可以通过给定的磁盘镜像大小来计算,计算方法如下:

    l1_size = round_up(disk_size / (cluster_size * l2_size), cluster_size)

        总而言之,为了将磁盘镜像地址映射到镜像文件偏移值,需要经历如下步骤:

    1. 使用l1_table_offset字段获取L1表的地址
    2. 使用地址中的高(64-l2_bits-cluster_bits)位来检索L1表中的8字节数组项
    3. 使用L1表中的偏移值获取L2表的地址
    4. 使用地址中的l2_bits字段来检索L2表中的8字节数组项
    5. 使用L2表中偏移值来获取簇的地址
    6. 使用地址中剩下的cluster_bits字段作为簇中地址偏移值

    如果L1或者L2表中获取的偏移值为0,则表示磁盘镜像对应的区域尚未被分配。

        还需注意的是,L1和L2表中偏移值的高2位为“Copied”和“Compress”的预留比特位。具体细节见下文。

    引用计数

        每一个簇都会被引用计数,这样做的目的是允许这些簇在不被任何快照使用的前提下能够及时的释放。

        每一个簇的引用计数为2字节,这2字节的引用计数均保存在簇大小的块中。refcount块在镜像中的偏移值可以检索refcount表得到,而引用计数表则由refcount_table_offset和refcount_table_clusters共同定位,其中refcount_table_offset指定了refcount表相对起始位置的偏移值,refcount_table_clusters指定了refcount表占用的簇数。

    为了获取某个簇的引用计数,可以将簇偏移值划分为refcount表偏移值和refcount块偏移值。由于refcount块是一个两字节的存储项,簇偏移值的低cluster_size – 1位表示块偏移值,其余的位数表示表偏移值。

    这里QCOW2有一个优化处理,如果任何由L1表或者L2表的指向的簇的引用计数为1,则L1或L2表项最高位被置为“copied”标记。这意味着没有快照在使用当前簇,当前簇可以直接被写入,而不需要创建引用当前簇的快照。

     

    Copy-on-Write镜像

        QCOW2镜像可以用来存储另一个磁盘镜像的修改内容,而不影响原有磁盘的内容。这种镜像被称之为拷贝镜像,以用户的角度看起来像是一个独立的镜像文件,但是其中的大部分数据是从原始镜像中获取到的。只有原始镜像的簇发生改变的内容才会被存储到拷贝镜像中。

        这种表示方式很容易实现。可以通过在Copy-on-write镜像中包含原始磁盘镜像中的路径,头文件中记录原文件的路径字符串。

        当读取Copy-on-write镜像中的簇时,首先检查该区域是否存在Copy-on-write镜像文件内。如果不存在,则从原始磁盘镜像中读取对应的位置。

    快照

        快照同COW文件概念比较相似,区别在于原文件是可写的,而快照不可写。

        近一步解释—一个COW镜像也可被称为“快照”,因为COW确实表示了原始镜像文件的状态。我们可以通过创建多个COW镜像来实现对原始镜像的“快照”,每一个镜像指向原始镜像。值得注意的是,原始镜像必须保持只读,而COW快照为可写。

        快照—“真实快照”—存在于原始镜像文件中。每个快照都是原始镜像在过去的某个时刻的只读记录。原始镜像文件一直保持可写的状态,当原始文件发生改变时,写时复制出来的簇可以被不同的快照引用。

    每个快照对应如下头:

    typedef struct QCowSnapshotHeader {
          /* header is 8 byte aligned */
          uint64_t l1_table_offset;
          uint32_t l1_size;
          uint16_t id_str_size;
          uint16_t name_size;
          uint32_t date_sec;
          uint32_t date_nsec;
          uint64_t vm_clock_nsec;
          uint32_t vm_state_size;
          uint32_t extra_data_size; /* for extension */
          /* extra data follows */
          /* id_str follows */
          /* name follows  */
      } QCowSnapshotHeader;

    各字段解释如下:

    • 每个快照都有一个name和ID,均为字符串格式(非’\0’结尾),其位置在QCOWSnapshotHeader头之后。
    • 每个快照至少保留L1表的副本, 其值体现在l1_table_offset和l1_size上。
    • 快照创建时,通过date_sec和date_nsec获取到主机的gettimeofday()
    • vm_clock_nsec表示VM锁的当前状态
    • vm_state_size表示虚机状态的大小,而虚机状态作为快照的一部分被存储起来。虚机状态被保存在原始L1表中,紧随镜像头之后。
    • extra_data_size表示在头之后扩展数据的长度,不包括ID和name字符串。该字段为后续扩展使用。

        每创建一个快照就会增加一个头文件,复制L1表的内容,并增加所有L2表中的引用计数和被L1表引用的数据簇。之后,如果镜像中的任何L2表或者数据簇被修改了—也就是说,簇的引用计数值超过1,并且/或者当前簇的“拷贝”标志已被标记—Qemu会先拷贝这些L2表和数据簇,而后再进行写入。这样所有的快照都不会被修改。

    压缩

        QCOW2镜像格式支持压缩特性,允许每一个簇可以独立通过zlib进行压缩。

        可以通过如下步骤从L2表中获取簇偏移值:

    • 如果簇偏移值的最高位为1,则表示该簇已被压缩
    • 簇偏移值接下来的cluster_bits – 1位为压缩簇的大小,其单位为512字节的扇区
    • 簇偏移值的其余位数为镜像中簇的实际地址

    加密

        QCOW2镜像格式同样支持簇的加密特性。

        若QCowHeader头中的crypt_method字段值为1,则会采用16字符128比特的AES秘钥进行加密。

    簇中的每一个扇区都是通过AES密码块链接模式单独进行加密,采用小端模式的扇区偏移地址(相对于设备的起始位置)来作为128位初始化向量的头64位。

     

    QCOW2镜像与上一代镜像

    QCOW2相对于QCOW有如下不同之处:

    1. QCOW2支持快照概念,QCOW1仅支持copy-on-write镜像的概念
    2. QCOW2中引用了引用计数的概念,引用计数用来支持快照的概念
    3. QCOW2中L2表总是可以占据一个单独的簇,而之前簇的大小在头l2_bits中被指定
    4. QCOW2压缩簇的大小以扇区为单位,而非字节为单位
    展开全文
  • Win-qcow2驱动

    2018-01-16 13:56:16
    制作qcow2模板的驱动,适用于Windows,网卡、IO驱动,openstack专用!!
  • ubuntu16.04-arm64.qcow2

    2021-02-23 04:11:35
    ubuntu16.04-arm64.qcow2
  • KVM环境部署与使用(附导入qcow2镜像及修改qcow2镜像密码)

    KVM环境部署与使用(附导入qcow2镜像及修改qcow2镜像密码)

    #对于部署KVM过多的硬性要求是没有的
    #在这里我选择使用可视化界面的CentOS8系统 就是想单纯看看这个8的内核有什么新特性
    #当然你也可以选择CentOS7版本
    #要注意的一点是在虚拟中开启CPU虚拟化
    

    20201015171252265

    #检查是否开启CPU虚拟化
    [root@localhost ss]# grep --color --perl 'vmx|svm' /proc/cpuinfo
    #显示下图种vmx则证明开启 可以进一步部署KVM
    

    在这里插入图片描述

    #由于我们需要安装KVM 这里使用网络源安装 不过这个CentOS8中事有KVM的包组的
    #网络安装 检查网络是否ping通外网
    

    在这里插入图片描述

    #由于我这是一个新的KVM 因此换个国内源 有利于提速
    #换源 以下不做解释
    [root@localhost ss]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    [root@localhost ss]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
    --2020-10-15 16:58:24--  https://mirrors.aliyun.com/repo/Centos-8.repo
    Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 58.216.4.239, 222.186.16.238, 222.186.18.238, ...
    Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|58.216.4.239|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 2595 (2.5K) [application/octet-stream]
    Saving to: ‘/etc/yum.repos.d/CentOS-Base.repo’
    
    /etc/yum.repos.d/Ce 100%[===================>]   2.53K  --.-KB/s    in 0.001s  
    
    2020-10-15 16:58:25 (4.38 MB/s) - ‘/etc/yum.repos.d/CentOS-Base.repo’ saved [2595/2595]
    
    [root@localhost ss]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
    [root@localhost ss]# yum makecache
    Repository AppStream is listed more than once in the configuration
    Repository extras is listed more than once in the configuration
    Repository PowerTools is listed more than once in the configuration
    Repository centosplus is listed more than once in the configuration
    CentOS-8 - AppStream                            7.5 kB/s | 4.3 kB     00:00    
    CentOS-8 - Base - mirrors.aliyun.com            276 kB/s | 2.2 MB     00:08    
    CentOS-8 - Extras - mirrors.aliyun.com          3.6 kB/s | 8.1 kB     00:02    
    Metadata cache created.
    [root@localhost ss]# 
    
    

    在这里插入图片描述

    #换源成功后开始安装KVM
    #安装kvm
    [root@localhost ss]# sudo yum groupinstall "Virtualization Host" -y
    [root@localhost ss]# systemctl enable libvirtd
    [root@localhost ss]# yum install virt-install virt-manager -y
    #安装成功则可输入virt-manager打开
    #接下来我们要导入一个让KVM可以利用的镜像 可以事.ios/.qcow2等镜像文件
    #这里我们上传一个qcow2文件试试
    #上传步骤省去
    [root@localhost ss]# virt-install --name centos7-1510 --ram 2048 --vcpus=2 --disk path=centos7_iso_wc_pkg_50.qcow2,bus=ide,format=qcow2  --network=bridge:virbr0 --force --import  --autostart
    
    #参数说明
    #name 后面是要新建的虚拟机的名称;
    #ram 后面是分配的内存大小(单位MB)
    #vcpus= 是分配的cpu个数
    #disk=后面的第一个参数是qcow2文件
    #autostart的意思是虚拟机随着宿主机的启动而自动启动
    #–network=bridge后的br0是网桥名称可以用命令:virsh iface-bridge eth1 br0创建
    

    在这里插入图片描述

    #结果出现下面的错误
    #出现这个错误的原因是我们直接使用root权限去运行了
    #我们执意要用root用户去运行的话我们需要修改/etc/libvirt/qemu.conf中的两处地方
    #把user = "root" 和 group = "root"的注释解开
    #如下图所示
    

    在这里插入图片描述

    在这里插入图片描述

    #这个时候再次使用下面命令去创建虚拟机则可成功
    [root@localhost ss]# virt-install --name centos7-1510 --ram 2048 --vcpus=2 --disk path=centos7_iso_wc_pkg_50.qcow2,bus=ide,format=qcow2  --network=bridge:virbr0 --force --import  --autostart
    #创建成功后弹出一个虚拟机中的虚拟机窗口 即是你创建的虚拟机
    

    在这里插入图片描述

    ## 注意 我们创建的镜像用户名和密码压根不知道
    ## 这是由于qcow2的某些原因导致的
    #我们要安装一个依赖 然后重新设置密码
    #但是在这之前需要先把上面测试创建的镜像干掉
    [root@192 ~]# virsh list --all
     Id    Name                           State
    ----------------------------------------------------
     1     centos7                        running
    
    [root@192 ~]# virsh destroy centos7
    Domain centos7 destroyed
    
    [root@192 ~]# virsh undefine centos7
    Domain centos7 has been undefined
    
    [root@192 ~]# updatedb 
    [root@192 ~]# locate centos7
    /root/centos7_iso_wc_pkg_50.qcow2
    /var/log/libvirt/qemu/centos7-1510.log
    /var/log/libvirt/qemu/centos7.log
    [root@192 ~]# rm -rf /var/log/libvirt/qemu/centos7-1510.log
    [root@192 ~]# rm -rf /var/log/libvirt/qemu/centos7.log
    [root@192 ~]# 
    
    

    在这里插入图片描述

    #如下所示
    #不过要注意下面这一段 可能和我的不一样 是由你的镜像导致的 如果挂载后没有/etc/shadow尝试挂载list-filesystems下面显示的其他文件系统
    #><fs> list-filesystems
    #/dev/sda1: xfs
    #/dev/centos/root: xfs
    #/dev/centos/swap: swap
    #自己生成密码 可以自行设置
    [root@192 ~]# yum install libguestfs-tools -y
    [root@192 ~]# openssl passwd -1 123456
    $1$.ZcnZMFU$qICAeytbSj2Aa/5/JCVTs.
    # guestfish --rw -a ./centos7_iso_wc_pkg_50.qcow2
    [root@192 ~]# guestfish --rw -a ./centos7_iso_wc_pkg_50.qcow2
    
    Welcome to guestfish, the guest filesystem shell for
    editing virtual machine filesystems and disk images.
    
    Type: ‘help’ for help on commands
          ‘man’ to read the manual
          ‘quit’ to quit the shell
    
    ><fs> run
    ><fs> list-filesystems
    /dev/sda1: xfs
    /dev/centos/root: xfs
    /dev/centos/swap: swap
    ><fs> mount /dev/centos/root /
    ><fs> vi /
    /.autorelabel     /dev              /dev/sda          /etc              /lib64            /opt              /run              /sys              /var              
    /bin              /dev/centos/root  /dev/sda1         /home             /media            /proc             /sbin             /tmp              
    /boot             /dev/centos/swap  /dev/sda2         /lib              /mnt              /root             /srv              /usr              
    ><fs> vi /etc/shadow
    ><fs> cat /etc/shadow
    root:$1$.ZcnZMFU$qICAeytbSj2Aa/5/JCVTs.:17989:0:99999:7:::
    bin:*:16659:0:99999:7:::
    daemon:*:16659:0:99999:7:::
    adm:*:16659:0:99999:7:::
    lp:*:16659:0:99999:7:::
    sync:*:16659:0:99999:7:::
    shutdown:*:16659:0:99999:7:::
    halt:*:16659:0:99999:7:::
    mail:*:16659:0:99999:7:::
    operator:*:16659:0:99999:7:::
    games:*:16659:0:99999:7:::
    ftp:*:16659:0:99999:7:::
    nobody:*:16659:0:99999:7:::
    avahi-autoipd:!!:17066::::::
    systemd-bus-proxy:!!:17066::::::
    systemd-network:!!:17066::::::
    dbus:!!:17066::::::
    polkitd:!!:17066::::::
    tss:!!:17066::::::
    postfix:!!:17066::::::
    sshd:!!:17066::::::
    
    

    在这里插入图片描述

    #修改成功后再次创建然后输入用户名和密码即可登陆系统
    

    在这里插入图片描述

    展开全文
  • 30s制作qcow2镜像.tar.gz

    2020-09-07 17:24:26
    如何制作qcow2,但是是需要虚拟化环境的,需要的人慎重下载哦。如何制作qcow2,但是是需要虚拟化环境的,需要的人慎重下载哦。如何制作qcow2,但是是需要虚拟化环境的,需要的人慎重下载哦。如何制作qcow2,但是是...
  • KVM虚拟机的模版导出,通常都是直接用qemu-img命令可以将默认的raw格式或者qcow2格式的磁盘文件压缩后导出,指令如下: //将默认raw格式的磁盘,简单压缩转换成qcow2格式 #qemu-img convert -c -f raw -O qcow2 vm...

    KVM虚拟机的模版导出,通常都是直接用qemu-img命令可以将默认的raw格式或者qcow2格式的磁盘文件压缩后导出,指令如下:

    //将默认raw格式的磁盘,简单压缩转换成qcow2格式
    #qemu-img convert -c -f raw -O qcow2 vm500G.raw /path/new-vm500G.qcow2
    
    //将默认qcow2格式的磁盘,导出为简单压缩后的qcow2格式
    #qemu-img convert -c -O qcow2 vm500G.qcow2 new.img.qcow2
    

    以上两种方法都能在一定程度上压缩减小导出后的镜像文件体积;但仅限于在虚拟机刚安装部署好,还没有进行过大量数据读写处理的情况下;

    假如虚拟机磁盘大小分配40G,刚装好的操作系统加入占用了5G,那么通过以上的方式压缩导出的镜像文件可能也就只占4~5G左右;这是因为该磁盘镜像的大量的剩余空间都还没有被虚拟机的操作系统使用到(大量剩余block块都是空白的,未写入过数据)所以在导出的过程中,这些空白的block就会被压缩甚至忽略掉;所以这样压缩出来的缩效果还是很不错的;

    但是,假如该虚拟机在装好后之后,有在磁盘上产生并存储过一个2G的大文件,尽管当前已经从虚拟机中彻底删除了这个大文件,虚拟机内的磁盘空间也显示剩余空间已经释放出来了,系统占用空间会变成跟系统刚装完时一样只有5GB;但此时再使用上面的指令对磁盘镜像文件进行压缩导出,你就会发现导出的文件体积比之前至少会多出2GB的体积;

    这是因为虚拟机内删除文件,实际只是在分区表中把文件的索引给删除了,其2G文件的物理数据还是依然占用着磁盘上对应的block块的;此时在kvm下用qemu-img info指令就可以清楚看到该虚拟磁盘镜像的物理占用空间(disk size)比之前也变大了2GB;

    精简导出

    那么有没有办法只导出当前虚拟机内实际占用的有效数据呢?将所有已经删除了的文件和其对应的磁盘block块都忽略掉,不要导出到我们的镜像文件中,以最大程度缩减导出来的文件体积!

    方法就是在导出镜像之前,先在虚拟机系统的内部,对所有未使用,以及所有剩余可使用的磁盘空间进行全面置零填充操作,可以简单理解为将当前所有未存储有效数据的block(含已删除的文件block)全都进行写0覆盖,然后再进行镜像压缩导出,就可以忽略所有这些无用的数据空间了;

    虚拟机内部写零操作

    #dd if=/dev/zero of=/null.dat   //创建一个全0的大文件,占满所有的剩余磁盘空间,需要很久时间
    #rm -f /null.dat                //删除这个文件
    

    KVM下的导出操作

    执行镜像文件导出操作前,虚拟机必须要是处于关机状态


    针对raw格式虚拟磁盘文件精简导出

     

    #cp --sparse=always vm500G.raw vm500G-new.raw   //--sparse=always稀疏拷贝,忽略全0数据
    #qemu-img convert -c -f raw -O qcow2 vm500G.raw vm500G.qcow2
    

    针对原本就是qcow2格式的虚拟磁盘文件精简导出

    #qemu-img convert -c -O qcow2 vm500G.qcow2 vm500G-mini.qcow2
    

    实测导出数据大小对比

    raw文件实际大小disk size: 5.8GB
    直接导出qcow2镜像大小: 4.5GB
    全置零后导出qcow2镜像大小: 2.2GB

    展开全文
  • 制作qcow2镜像

    2021-05-10 07:04:03
    【准备工作】准备ISO源镜像,例如“SLES-11-SP4-DVD-x86_64-GM-DVD1.iso”准备一台linux机器准备vnc工具,例如vnc ...用qemu命令创建qcow2镜像,例qemu-img create -f qcow2 /opt/image/suse11.qcow2 40G3.用qem...
  • 1安装前准备1.1iso yum源配置vi /etc/yum.repos.d/cdrom.repo[cdrom]name=cdrombaseurl=file:///mntenabled=1gpgcheck=01.2iso系统镜像挂载以root用户登录Linux系统,将RHEL系统镜像挂载到物理光驱或者虚拟光驱,并...
  • QCOW2镜像制作思路

    2021-09-14 20:32:21
    2用qemu-img命令事先创建好qcow2的文件(此文件为之后kvm上安装系统后的存储虚拟机之用,类似与VM的vmdk,vmx文件) 3kvm利用iso或其他源安装好系统,在配置过程中选择将虚拟存储到刚才的qcow2卷中 4在/var/lib/virt...
  • 需要使用本文用到的ISO文件或者需要下载Ubuntu其它版本,可以在这里下载https://releases.ubuntu.com/20.10/ 3、生成qcow2镜像并安装系统 <1>. 首先打开virt-manager # 用命令打开或者在应用列表中打开 ...
  • 前段时间,上级要让做个iso转qcow2,没接触过?!不怕,自行百度学习,而后,作以下总结便于日后需要。 首先,安装相关命令qemu/virt-install的rpm包。 执行以下命令: qemu-img create -f qcow2 /tmp/centos.qcow2 ...
  • 一、安装linux虚拟机,我这里使用centos7 1、虚拟机在处理器设置位置,要开启虚拟机 2、使用命令查看cpu是否支持kvm虚拟化。输入有vmx支持,没有则不支持!...二、上传win7镜像、驱动镜像到虚拟机 ...
  • 安装工具 yum install -y libguestfs-tools-c 改镜像密码 virt-sysprep --root-password password:einemc@2 -a my-image.qcow2 说明:该镜像没有设置密码。
  • Centos7官网qcow2镜像的使用方法

    万次阅读 2017-03-15 21:12:10
    创建云主机使的启动脚本,如下。该脚本使得我们可以从controller节点无密码... #!/bin/sh mv /root/.ssh/authorized_keys /root/.ssh/authorized_keys.old cp /home/centos/.ssh/authorized_keys /root/.ssh/ .../bin/
  • 下载地址: CentOS6:...
  • 一.简单说明PS: 最近有客户需要在云平台上部署我们的产品...与Raw镜像格式相比,QCOW2具有如下优点:更小的文件大小,即便不支持holes(稀疏文件)的文件系统同样适用支持写时拷贝(COW, Copy-on-write),QCOW2镜像只反...
  • 最近在研究虚拟机的镜像格式,就写个笔记记录一下这些东东。 在linux下,虚拟机的选择方式有很多,比如vmware for linux,virtual box,还有qemu,在以前,使用qemu的人不多,主要是使用起来有些麻烦,但现在随着...
  • 我有一个qcow2镜像文件,用图形界面可以导入成功,要求磁盘IO为virtio。系统是centos6.5,物理服务器。我用命令行导入如下: <p>virt-install --virt-type kvm --name x86 --ram 2048 --...
  • 镜像说明: 1 系统采用minimal方式安装 2 安装了cloud init 3 支持磁盘根据flavor指定的大小动态调整 flavor分配的磁盘至少应大于10G 4 系统默认使用本地局域网的YUM源 如果你们的openstack环境中没有本地YUM源...
  • -disk path=/data/qcow2/win2016.qcow2,format=qcow2,device=disk,bus=virtio \ --disk path=/data/iso/win2016.iso,device=cdrom \ --disk path=/data/iso/virtio-win-0.1.185.iso,device=cdrom 注意: 默认情况下...
  • 在主机系统挂载qcow2磁盘镜像后,无需登录虚拟机就可以直接浏览磁盘镜像的文件系统。可通过以下两种方法来进行挂载操作。
  • 配合limbo使用
  • 制作openstack镜像qcow2格式的win10系统)1.准备KVM虚拟机1.1 所需工具1.2 安装KVM虚拟机详细步骤1.3 制作qcow2系统 1.准备KVM虚拟机 搭建openstack环境之后发现网上很镜像源都是linux或者windows server系统,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,410
精华内容 3,764
关键字:

qcow2镜像下载

友情链接: Project_empirer.zip