首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >qcow2实际尺寸

qcow2实际尺寸
EN

Unix & Linux用户
提问于 2018-04-04 12:12:55
回答 1查看 10.4K关注 0票数 8

我有点困惑于qcow2文件的真实大小。

代码语言:javascript
复制
ls -alh VMs/ubuntu-mini.qcow2
-rw------- 1 root root 21G mar 31 23:15 VMs/ubuntu-mini.qcow2
du -h VMs/ubuntu-mini.qcow2
2,7G    VMs/ubuntu-mini.qcow2

我想将该文件复制到不同的分区(ext4)。看起来,这个命令实际上复制了21G,而不是我所期望的2,7G。现在,在新的位置,这两个命令(du和ls)向我展示了相同的大小- 21G。

代码语言:javascript
复制
du -h /media/HDD0/VMs/ubuntu-mini.qcow2
21G     /media/HDD0/VMs/ubuntu-mini.qcow2
ls -alh /media/HDD0/VMs/ubuntu-mini.qcow2
-rw------- 1 root root 21G mar 31 23:15 /media/HDD0/VMs/ubuntu-mini.qcow2

复制qcow2文件的正确方法是什么?"cp“命令中是否有开关,使其只复制2,7G?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-04-04 12:20:44

该文件是稀疏的,这意味着它包含一个或几个“漏洞”。当从洞内读取数据时,会返回零,但这些零不是存储在磁盘上,而是由文件系统生成的。

当存储大部分为零的大型文件时,此功能节省了实际的硬盘空间。ls实用程序将报告明显的文件大小,但du将显示文件的表观大小减去文件中漏洞的大小(即文件在磁盘上使用的空间)。

当您复制该文件时,cp将不会保留该文件的稀疏性,而零将填补这些漏洞。

在GNU系统上,如果漏洞足够大,在复制文件以保持稀疏性时,可以使用--sparse=auto--sparse=always标志和cp。在某些BSD系统(至少OpenBSD)上,默认情况下,cp试图在稀疏文件中保留漏洞。

您还可以使用rsync--sparse (-S)选项来复制文件。

请注意,即使用零(全部或部分)填充漏洞,结果文件在功能上将与原始文件等效,但将使用更多的实际磁盘空间。

另见:原来是稀疏的,然后展开的文件能再做稀疏吗?

票数 13
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/435499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档