PVE世界常见的存储格式,qcow2/raw/vmdk

这篇具有很好参考价值的文章主要介绍了PVE世界常见的存储格式,qcow2/raw/vmdk。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

pve 之上的虚拟机,需要依托硬盘使用。
虚拟机的硬盘实际上是分配在宿主机的一个块文件,然后由 pve 核心转换使用。
其中,pve 常用的有两种格式,qcow2 跟 raw。vmware 有自己的格式 vmdk。这三种格式的虚拟硬盘文件都有工具相对应转换。

RAW格式

raw 的本意是 “未加工的”,像数码相机的照片也有raw格式。
对于存储而言,raw 格式就是一块纯纯的块文件,用 dd 指令生成出来的文件,差不多就是这种格式的样子了。

优点

raw 的性能很强,而且由于是直接的块文件,除了能随时挂载、卸载设备,甚至在扩容的时候,可以直接合并、追加。

# 用0初始化一个4G的块,if = input file, of = output file, bs = block size, count = block count
dd if=/dev/zero of=zeros.raw bs=1024k count=4096
# 合并输出到新的文件,new 就是 old 扩容4G的样子
cat old.img zeros.raw > new.img

把 new.img 重新挂到虚拟机之后,就相当于 pve 内置工具 qume-img 以下操作。

qemu-img resize old.img +4G
缺点

首先,原始格式往往意味着没有优化,类似数码相机的 raw 往往是最大的,raw 格式的存储也很大。raw 格式需要预分配且不能伸缩,在新建虚拟机的使用场景下,需要提前准备好容量(即使虚拟机还没占用这么大的容量空间)。

不过由于 Linux 对空洞文件的支持很好,所以实际上用 du 指令去查看大小的时候,显示会比 ls 查看的更小。

root@pve:~# ls -lh /mnt/mnme0n1p1/images/104/vm-104-disk-0.raw 
-rw-r----- 1 root root 107G Mar 17 16:49 /mnt/mnme0n1p1/images/104/vm-104-disk-0.raw
root@pve:~# du -lh /mnt/mnme0n1p1/images/104/vm-104-disk-0.raw 
56G	/mnt/mnme0n1p1/images/104/vm-104-disk-0.raw

这种情况下对空洞文件的支持,会让系统出现一些不容易理解的现象,比如通过 df -lh 查看容量的时候,发现 Avail 已经是 0,结果还是能往里面写东西。

PVE世界常见的存储格式,qcow2/raw/vmdk
此外,对于 raw 格式的逻辑也是按照设定大小来的。比如 rsync 上面的 raw 文件就要传输 107G 的数据。

再就是快照的问题。raw 格式的原始,使得快照没有什么捷径(比如qcow2格式快照差异即可)。所以 pve 并不提供 raw 格式的快照能力。当然有黑科技做二进制的差异版本管理来实现快照也有可行性,但终究还是黑科技了点。

QCOW2格式

QCOW2 = QEMU copy-on-write format 2。
亦即 QEMU (一款模拟处理器软件,PVE 支持的虚拟方式之一)的写时拷贝格式。

听到写时拷贝就有既视感了,没错,其实跟 docker 的 overlay 有点相似的意思。

优点

这种格式优点就很明显了,首先就是简单的快照化。只要做差异分层即可回滚到指定的快照去。而且快照速度很快。

再就是能动态伸缩大小,虚拟出来的虚拟机用多少,再在宿主机中申请出来多少。这种特性下不支持空洞文件的操作系统也无所谓优化了,du 跟 ls 命令下看到的容量是一致的。

root@pve:~# ls -lh /mnt/mnme0n1p1/images/103/vm-103-disk-0.qcow2
-rw-r----- 1 root root 289G Mar 17 17:11 /mnt/mnme0n1p1/images/103/vm-103-disk-0.qcow2
root@pve:~# du -lh /mnt/mnme0n1p1/images/103/vm-103-disk-0.qcow2
286G	/mnt/mnme0n1p1/images/103/vm-103-disk-0.qcow2

速度方面,跟 raw 比有差距,但差距已经很小了。这里有 redhat 官方的测试:KVM qcow2 Performance。

缺点

这里提的缺点是个人在生产中遇到的,不知道是不是非必现 bug。
qcow2 格式在频繁的使用下,会出现宿主占用比实际内部占用更大,而且大很多的问题。如图,在发版机经历过 30TB/W 15TB/R(读写量)后,虚拟机内部:
PVE世界常见的存储格式,qcow2/raw/vmdk

宿主机PVE看到的:
PVE世界常见的存储格式,qcow2/raw/vmdk
硬盘读写情况:
PVE世界常见的存储格式,qcow2/raw/vmdk

猜测是大量的小文件操作之后,qcow2 产生了大量的碎片无法合并,进而越来越膨胀。
出现这种情况后,qcow2 并没有直接的 gc 指令,但理论上可以通过转换格式,来去掉中间的碎片。

qemu-img convert -f qcow2 -O raw vm-104-disk-0.qcow2 vm-104-disk-0.raw
qemu-img convert -f raw -O raw vm-104-disk-0.raw vm-104-disk-0.qcow2

甚至有人提出了更黑科技的原地自转 qrow2 方法,而不用通过 raw 格式中转。这种方法就没有尝试过了。

qcow2 出现问题后的解决方法是有的,但由于它能膨胀超过原定的指定大小直至占满硬盘,这就是“计划外”的运维问题了,这一点很坑。

PVE世界常见的存储格式,qcow2/raw/vmdk
一旦出现这种情况,就需要立马给 qcow2 瘦身。否则虚拟机连交互都做不了。

VMDK格式

VMDK = vmware disk。
VMWare 是一个很老牌的虚拟机厂家(windows的同学很熟悉),他定的这种格式性能、稳定性应该是相当好的。不过 linux 很多虚拟化方式并不支持。
但 qemu-img 工具是支持对它的转换的,以此可以进行两边不同虚拟机的迁移。文章来源地址https://www.toymoban.com/news/detail-447488.html

qemu-img convert -f vmdk -O qcow2 image-from-vmware.vmdk image-for-kvm-qcow2.img

到了这里,关于PVE世界常见的存储格式,qcow2/raw/vmdk的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RAW、RGB、YUV 图像格式区别

    颜色是人的视觉系统对光谱中可见区域的感知效果,它仅存在于人的眼睛和大脑中。为了准确地描述颜色,必须引入色彩空间的概念。正如几何上用坐标空间来描述坐标集合,色彩空间用数学方式来描述颜色集合。 RAW 图像就是图像感应器将捕捉到的光源信号转化为数字信号

    2024年02月04日
    浏览(44)
  • FFmpeg —— 视频帧保存为RAW格式(附上源码)

    效果   RAW      RAW图像格式的目的是尽可能的捕捉(即特定传感器的最好性能)现场的拍摄特性,也就是说,包含有关场景的光照强度和颜色的物理信息。 最原始的图像文件格式存储的信息根据收到传感器的照片,接受元素,而不是点的最终图像(有时称为像素)的几

    2024年02月16日
    浏览(35)
  • PVE local下iso的存储路径

    可以上传一个iso,然后再xshell后台使用find命令查找这个iso,从而确定loacl目录iso的存储路径,例如: 使用find命令查找ubuntu-20.04.4-live-server-amd64.iso 回显为: 从而确定目录为/var/lib/vz/template/iso/ 今后上传iso,可不用web页面上传,因为会有缓存机制,导致所剩空间大于5G的时候,

    2024年02月13日
    浏览(31)
  • MIPI CSI-2笔记(18) -- 数据格式(RAW图像数据)

            RAW6/7/8/10/12/14/16/20/24被用来传输图像传感器RAW图像数据。RAW图像数据是未经压缩过的图像数据(即Raw Bayer数据),或者是互补色数据,但RAW图像数据不限于这些数据类型。  RAW Image Data Types         6-bit Raw数据传输通过在CSI-2总线上发送像素数据实现。如下图所示(

    2024年02月06日
    浏览(58)
  • PVE服务器配置及常见问题处理

    1、新装配置 取消订阅 sed -i “s/data.status !== ‘Active’/false/g” /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js 更换源 rm -rf /etc/apt/sources.list.d/pve-enterprise.list wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg echo “deb http://download.proxmox.co

    2024年02月07日
    浏览(58)
  • U盘/硬盘/数码相机RAW格式文件丢失的原因|恢复方法

    在现代数字生活中,U盘、硬盘以及数码相机等设备已经成为我们储存和分享数据的主要工具。然而,当这些设备中的RAW格式文件出现丢失时,我们可能会陷入困境。面对这种情况,了解如何恢复这些RAW格式文件就变得至关重要。 一、理解RAW格式文件 RAW格式文件是一种原始数

    2024年02月12日
    浏览(60)
  • 如何将RAW格式的磁盘修改为NTFS?教给你三种操作方法

    如果存储设备变为了raw格式,你是不是很担心? 如何将RAW格式的磁盘修改为NTFS ?本文汇总了一些常见的方法技巧,并为大家介绍三种实操方法,将RAW格式变为NTFS,希望可以对大家有所帮助。 RAW文件系统是一个没有被NT文件系统(FAT或NTFS)格式化的磁盘分区。简单来说,它

    2024年02月05日
    浏览(57)
  • raw图片处理软件:DxO PhotoLab 6 mac中文版支持相机格式

    DxO PhotoLab 6 mac是一款专业的RAW图片处理软件,适用于Mac操作系统。它具有先进的图像处理技术和直观易用的界面,可帮助用户轻松地将RAW格式的照片转换为高质量的JPEG或TIFF图像。 DxO PhotoLab 6支持多种相机品牌的RAW格式,包括佳能、尼康、索尼等,并且可以通过其特有的PRIM

    2024年02月08日
    浏览(36)
  • 视频监控/视频汇聚/安防视频监控平台EasyCVR如何将默认快照的raw格式改为jpg/base64格式?

    视频监控/视频汇聚/安防视频监控平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。视频云存储EasyCVR平台能在复杂的网络环境中,将分散的各类视频

    2024年02月09日
    浏览(51)
  • 电脑开机就一直自动修复,固态硬盘突然变成RAW格式,怎么数据恢复(未解决)

    联想E490笔记本 Windows 10 专业版 东芝256G固态硬盘 之前电脑死机强制关机后,电脑开机就一直自动修复,PE下进去查看,固态硬盘突然变成RAW格式,怎么数据恢复,使用DG分区软件根本读不到此盘 经常强制关机 1.可能导致硬盘 DBR丢失会导致变成RAW文件格式 2.还有可能MFT错乱导致

    2024年02月16日
    浏览(100)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包