限 时 特 惠: 本站每日持续稳定更新内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: muyang-0410

qcow2,raw 磁盘格式介绍

raw: 裸磁盘格式(默认的虚拟磁盘格式)

raw格式是原始镜像,直接将数据写入磁盘,没有额外的元数据或压缩,由于没有复杂的元数据处理,raw 格式通常比较快,适用于一些对性能要求较高的场景。相对于 qcow2,raw 格式通常不支持虚拟机的快照功能。每个虚拟机实例都需要完整的磁盘空间,不同虚拟机之间不能共享相同的基础数据。

qcow2(QEMU copy-on-write)

qcow2是目前比较主流的一种虚拟化镜像格式厚置备延迟置零,目前qcow2的性能上接近raw裸格式的性能,与普通的 raw 格式的镜像相比,它还有以下特性:

磁盘分配策略介绍

磁盘分配策略

1、厚置备延迟置零( thick)

以默认的厚格式创建虚拟磁盘。创建过程中为虚拟磁盘分配所需空间。创建时不会擦除物理设备上保留的任何数据,从虚拟机首次执行写操作时会按需要将其置零。立刻分配指定大小的空间,空间内数据暂时不清空,以后按需清空。

2、厚置备置零(eager thick)

创建支持群集功能(如 )的厚磁盘。在创建时为虚拟磁盘分配所需的空间。在创建过程中会将物理设备上保留的数据置零。创建这种格式的磁盘所需的时间可能会比创建其他类型的磁盘长。立刻分配指定大小的空间厚置备延迟置零,并将该空间内所有数据清空。

3、精简置备(thin)

使用精简置备格式。精简置备的磁盘只使用该磁盘最初所需要的数据存储空间。如果以后精简磁盘需要更多空间,则它可以增长到为其分配的最大容量。为该磁盘文件指定增长的最大空间,需要增长的时候检查是否超过限额。

qcow2磁盘分配策略

off:缺省策略,即不使用预分配策略,采用动态分配磁盘空间的方式,只在需要时分配实际数据所需的空间,稀疏映像类型。

:分配元数据(),预分配后的虚拟磁盘仍然属于稀疏映像类型,实际占用的空间比off策略稍大一些

full:分配文件的块并标识状态为未初始化,即只分配空间,但不置零(不格式化). 预分配后的虚拟磁盘属于非稀疏映像类型,磁盘文件实际占用的空间和分配的空间相同大小

:分配所有磁盘空间并置零,预分配后的虚拟磁盘属于非稀疏映像类型,在创建时预分配所有空间并将物理设备上保留的数据置零以提高创建速度,虚拟磁盘创建时间较长。

qemu-img创建虚拟磁盘

qemu-img create -f qcow2 test2.qcow2 5g  -o preallocation=offqemu-img create -f qcow2 test3.qcow2 5g  -o preallocation=metadataqemu-img create -f qcow2 test4.qcow2 5g  -o preallocation=fallocqemu-img create -f qcow2 test5.qcow2 5g  -o preallocation=full[root@openEuler-node1 images]# du -sh test*196K    test2.qcow2968K    test3.qcow25.1G    test4.qcow25.1G    test5.qcow2

磁盘分配策略对应关系

qemu-img

qemu-img是QEMU虚拟化软件的一个工具,它可以用来创建、转换和管理各种虚拟磁盘格式。

qemu-img –help 包括以下功能:

check:检查完整性create:创建镜像commit:提交更改compare:比较convert:转换info:获取信息map:映射snapshot:快照管理rebase:在已有的的基础上创建新的镜像resize:调整大小amend:修订镜像格式选项

qemu-img 命令格式

qemu-img [-q] [– ] [-f fmt] [-b ] [-F ] [-u] [-o ] [size]

qcow2 格式选项

1.创建一个新的磁盘映像文件

qemu-img create -f <format> <filename> <size>

创建大小30G qcow2类型磁盘

qemu-img create -f qcow2 /data/openeuler.qcow2 30G

创建大小30G raw类型磁盘

qemu-img create -f raw /data/openeuler.qcow2 30G

2,查看磁盘映像信息

qemu-img info  /var/lib/libvirt/images/openeuler22.03_clone.qcow2 --force-shareqemu-img info  /var/lib/libvirt/images/openeuler22.03_clone.qcow2 --U

image: /var/lib/libvirt/images/openeuler22.03_clone.qcow2file format: qcow2virtual size: 30 GiB (32212254720 bytes)disk size: 2.32 GiBcluster_size: 65536Format specific information:    compat: 1.1    compression type: zlib    lazy refcounts: false    refcount bits: 16    corrupt: false    extended l2: false

qemu-img info 参数介绍

image:info命令中提供的 FILENAMEfile format:镜像格式virtual size:即虚拟机看到的磁盘大小disk size:镜像文件在主机文件系统上占用的空间大小。如果主机没有文件系统或其他原因导致获取不到该信息,则显示为0cluster_size:镜像格式的 cluster_sizeencrypted:镜像是否加密,只有当加密时才显示cleanly shut down:如果镜像是脏的,将显示 no,并且必须在 qemu 下次打开它时进行自动修复backing file:镜像有 backing file显示backing file format:backing file 的镜像格式Snapshot list:列出该镜像所有内部快照Format specific information:该镜像格式的特定信息

3,转换磁盘映像格式

qemu-img -f -O

qcow2镜像转化为raw镜像文件

qemu-img convert -f qcow2 -O raw /data/openeuler.qcow2 /data/openeuler.raw

raw镜像转化为qcw2镜像文件

qemu-img convert -f qcow2 -O raw win11.raw    win11.qcow2

4. 调整磁盘映像大小

qemu-img resize <filename> <new_size>

磁盘在原来基础上增加10G

sudo qemu-img resize /data/openeuler.qcow2 +10G

磁盘扩容至150G

sudo qemu-img resize /data/openeuler.qcow2 100G

qemu-img 操作需要关闭虚拟机,在线扩容使用virsh 命令

virsh blockresize  openeuler /data/openeuler.qcow2 40G

虚拟机磁盘信息

virsh domblklist vmname

5. 虚拟磁盘映像快照管理

qemu-img snapshot -c <snapshot_name> <filename>

创建虚拟磁盘快照

qemu-img snapshot  -c  openeuler22.03_20231203 /var/lib/libvirt/images/openeuler22.03.qcow2

6,虚拟磁盘回滚快照

qemu-img snapshot -a <snapshot_name> <filename>

“ 需要回滚的快照名称

回滚虚拟磁盘快照

qemu-img snapshot  -a  openeuler22.03_20231203 /var/lib/libvirt/images/openeuler22.03.qcow2

7,生成链接克隆磁盘文件

链接克隆是基于源虚拟机的增量拷贝,其中基础时源虚拟机,克隆后的变化存放在新创建的链接磁盘文件中

qemu-img create -f qcow2 -F qcow2  -b /data/centos.qcow2 /data/centos7-linkclone03.qcow2

8,磁盘完整性检查

对镜像执行一致性检查,只支持 qcow2、 qed 、 vdi 格式

qemu-img check /var/lib/libvirt/images/openeuler22.03.qcow2qemu-img check /var/lib/libvirt/images/openeuler22.03.qcow2 --output=json

虚拟机磁盘格式转换,raw转qcow2

1.关机

virsh shutdown rke01virsh destroy rke01

2.转换磁盘文件格式

qemu-img convert -f raw -O qcow2 /data/images/rke01.img /data/images/rke01.qcow2

-f 源格式 -O 转换目标格式 源文件镜像 目标文件镜像

chown -R qemu:qemu /data/images/rke01.qcow2

3.修改配置文件的磁盘类型和磁盘路径

virsh edit rke01

5.修改配置重新定义虚拟机配置

virsh define /etc/libvirt/qemu/rke01.xmlDomain rke01 defined from /etc/libvirt/qemu/rke01.xml

6.开机

virsh start rke01

限 时 特 惠: 本站每日持续稳定更新内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: muyang-0410