自由的羽毛 发表于 2025-2-17 01:34:31

云盘算&虚拟化-kvm磁盘格式介绍

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的头脑导图也是预计更新的内容和当前进度(不定时更新)。
https://i-blog.csdnimg.cn/direct/145b7ae20d7749e5bd8b1ea6f96713ae.png

介绍镜像格式之前,我们先介绍一种特殊的文件。
稀疏文件(Sparse file)是指在文件体系中分配了实际内容相对较少的存储空间,但是它们能占据的磁盘空间却可能大于它们的实际内容巨细。这种文件通常包罗大量的空洞(即未写入实际数据的部门),但文件体系仍会为其分配存储空间。
稀疏文件

紧张特点和用途

[*] 节流磁盘空间:稀疏文件允许应用程序预分配大文件的存储空间,而无需实际写入大量数据。这在必要处理大文件但实际数据内容较少的环境下非常有效,如虚拟机磁盘映像文件、数据库快照等。
[*] 写入性能优化:当应用程序必要写入大文件时,预分配稀疏文件可以提高写入性能,因为文件体系不必在写入数据之前清空整个文件的空间。这种方式淘汰了写入操作的耗时。
[*] 文件体系支持:大多数现代文件体系(如NTFS、ext4等)都支持稀疏文件。应用程序可以通过文件体系提供的接口来创建和管理这些文件。
[*] 实现方法:稀疏文件通常通过文件体系提供的体系调用来实现,应用程序可以告知文件体系预分配某文件的存储空间而不实际写入所有数据。这样做不会在物理磁盘上占用整个文件的空间,而是仅在写入数据时才会逐渐占用。

简朴来说,我有100G的空间,我可以给你们20个人,每个人分配80G空间,但是你们实际占有的1g,有的10g,均匀只有3g,这样我们不但可以限定所有人的最大利用空间,也可以实现超售。
在目前的公有云你买的磁盘都是这样的。下面我们就来介绍我们创建虚拟机的紧张的装备之一存储。
镜像

镜像文件(Image File)是一种用于存储操作体系、应用程序和数据的文件。在虚拟化环境中,镜像文件通常用于创建虚拟机的磁盘。在KVM虚拟化中,两种常见的镜像格式是img和qcow2。

[*] IMG(raw)格式:

[*] IMG是一种原始磁盘镜像格式,它是一种简朴的二进制数据文件。它不提供任何压缩或快照功能,只是将虚拟机的磁盘数据直接写入到文件中。
[*] IMG格式的镜像文件相对较简朴,通常具有较好的性能。但是,它没有提供动态分配磁盘空间的功能,因此镜像文件的巨细是固定的,纵然虚拟机中只利用了部门磁盘空间,镜像文件的巨细也不会改变。

[*] QCOW2(QEMU Copy-On-Write 2)格式:

[*] QCOW2是一种高级的磁盘镜像格式,它提供了更多的功能和灵活性。与IMG格式相比,QCOW2格式提供了动态分配磁盘空间、压缩、快照和增量备份等功能。
[*] QCOW2格式的镜像文件可以根据实际利用环境动态分配磁盘空间,只利用实际必要的空间。这样可以淘汰空间占用,并方便举行快照和备份操作。
[*] 别的,QCOW2格式还支持对磁盘镜像文件举行压缩,以减小文件巨细,并提供更好的性能。

#创建镜像文件
qemu-img create -f raw ./image_file.img 20G
qemu-img create -f qcow2 ./image_file.qcow2 20G
https://img-blog.csdnimg.cn/img_convert/1b2a0b4f5c5ad698c2f175b9bde8a5d3.png
这里的2个文件都是空文件,可以用于安装虚拟机利用。但是这个img文件在举行网络传输的时间会会被当成20g的文件的,即便它是空的。我们当然有办法对他举行压缩,然后传输的时间以实际占用巨细为准,这个在我们讲kvm-迁移的时间再具体说说。

https://img-blog.csdnimg.cn/img_convert/9b7e74c49d8852d9c91bf488c3db0cce.png
这几个文件都是已经安装好了体系的文件,假如把这个文件复制出来用kvm启动它,它就是一个可用的虚拟机。根据上面的提示,我们创建虚拟机必要先准备一个qcow2文件,有没有一种方式可以更方便来管理我们的虚拟机的镜像文件呢?
pool

KVM(Kernel-based Virtual Machine)是一种开源的虚拟化技能,而 KVM pool(存储池)是用于管理虚拟机存储资源的一种机制。
一、KVM pool 的作用


[*] 存储管理

[*] 集中管理虚拟机的磁盘镜像、快照等存储资源,使得存储的分配和管理更加高效。
[*] 可以方便地为不同的虚拟机分配不同巨细的存储空间,而且可以根据必要举行动态调整。

[*] 资源共享

[*] 多个虚拟机可以共享同一个存储池,提高存储资源的利用率。
[*] 可以方便地在不同的虚拟机之间复制、移动存储资源。

二、KVM pool 的操作

查看当前pool

# virsh pool-list Name               State      Autostart ------------------------------------------- 创建pool


https://img-blog.csdnimg.cn/img_convert/b8c947bcf59b230e82438646c7571f9b.png
这样我们在创建虚拟机的时间,就可以直接利用这个pool,而不必要为每个虚拟机先创建一个镜像文件。

https://img-blog.csdnimg.cn/img_convert/44cd41d95a25dd1419b46069a6b7ae53.png
运维小路
一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!
关注微信公众号《运维小路》获取更多内容。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 云盘算&虚拟化-kvm磁盘格式介绍