[Suggestions for Improvement] .qcow2 卷文件 大小和文件管理器的文件大小以及实际大小问题
Tofloor
poster avatar
深圳市耀影科技有限公司
deepin
2024-02-15 19:40
Author

【前置条件】:DEEPIN V23 BATE3 最新版全新安装 ,qemu-system-x86 virt-manager

【复现步骤】:

- 1.安装 sudo apt install qemu-system-x86 virt-manager

  • 2.打开Virtual Machine Manager,随意创建虚拟机,存储,添加一个卷.qcow2 卷文件,大小设置为2048G ,
  • 3.我们用文件管理器查看.qcow2 卷文件所在的磁盘空间,可用和已用空间几乎没有变化,但是我们用文件管理器查看这个.qcow2 卷文件大小时候,却显示2T.

截图_选择区域_20240215170639.png

- 4.我们复制这个.qcow2 卷文件在他的磁盘中粘帖,他会提示,磁盘已满,

图片.png

    1. 我们重复步骤2,缺可以创建很多个T级别大的文件放进去

      图片.png

【预期结果】:磁盘文件空间不知道是那个问题,第一,能没有问题的放到磁盘中,说明文件系统没问题,那就是文件管理器的问题

【实际结果】:文件这么大,磁盘就那么小

根据四楼 @root

但是依旧有如下几个不符合常理的问题存在,

逻辑问题行不通

第一: 磁盘就这么大,你放大于他的,不符合逻辑问题

第二: 我还能放进去其他文件 说明磁盘不满 ,

第三,我复制这个文件在粘贴就不行,那我用Qemu 在建立几个 T级别的文件就可以,这也不符合逻辑

第四:文件 都有 文件大小 和 占用大小 但是文件管理器这里没有给出展示,需要增加文件大小 和 占用大小 俩中展示

  • 这是一个稀疏文件,文管没有显示其真实占用存储大小

    • 按照其实际大小是可以进行复制和移动的,但****是文管却判断其无法复制和移动🐬

    截图_选择区域_20240215210339.png

Reply Favorite View the author
All Replies
深圳市耀影科技有限公司
deepin
2024-02-15 19:55
#1
  • 求大佬 科普下,为何 465.5G的磁盘能装下2个 2T的文件进去?
  • 文管这个功能牛😂
Reply View the author
李成小飞
deepin
2024-02-15 20:00
#2

😂😂

好离谱deepin文管的大小算法是怎么样的

https://bbs.deepin.org/phone/zh/post/268378这个帖子也差不多哈哈

Reply View the author
深圳市耀影科技有限公司
deepin
2024-02-15 20:10
#3
李成小飞

😂😂

好离谱deepin文管的大小算法是怎么样的

https://bbs.deepin.org/phone/zh/post/268378这个帖子也差不多哈哈

真奇怪他们的文管是真没计算大小的,难道是东拼西抽的形式,针对每一个文件格式不同的算法? 文件格式千千万,唯独我你情中

打开终端ls -lh 查看 文件大小正常,可以确定是文管的问题

截图_选择区域_20240215200629.png

Reply View the author
root
deepin
2024-02-15 20:10
#4

文件分为预分配(pre-allocated)或 稀疏(sparse)

稀疏文档又称稀疏文件(英语:sparse file)了解下

 

使用稀疏文件方式储存即使 1M磁盘空间 也可以存储 1EB大小的文本

 

建议lz恶补文件系统篇章

 

 

文件稀疏化(sparsify) 下面的方法都可以将一个文件稀疏化。

1. cp:

$ cp --sparse=always file file.sparse

cp缺省使用--sparse=auto,会自动探测源文件中是否有空洞,以决定目标文件是否为稀疏文件;使用--sparse=never会禁止创建稀疏文件。

2. cpio:

$ find file | cpio -pdmuv --sparse /tmp

如果不加--sparse参数,稀疏文件中的空洞将被填满

3. tar:

$ tar cSf - file |   (cd /tmp/tt; tar xpSf -)

如果不加 -S --sparse参数,稀疏文件中的空洞将被填满。

 

 

Reply View the author
李成小飞
deepin
2024-02-15 20:10
#5

用命令行移动看可不可行

Reply View the author
深圳市耀影科技有限公司
deepin
2024-02-15 20:14
#6
root

文件分为预分配(pre-allocated)或 稀疏(sparse)

稀疏文档又称稀疏文件(英语:sparse file)了解下

 

使用稀疏文件方式储存即使 1M磁盘空间 也可以存储 1EB大小的文本

 

建议lz恶补文件系统篇章

 

 

文件稀疏化(sparsify) 下面的方法都可以将一个文件稀疏化。

1. cp:

$ cp --sparse=always file file.sparse

cp缺省使用--sparse=auto,会自动探测源文件中是否有空洞,以决定目标文件是否为稀疏文件;使用--sparse=never会禁止创建稀疏文件。

2. cpio:

$ find file | cpio -pdmuv --sparse /tmp

如果不加--sparse参数,稀疏文件中的空洞将被填满

3. tar:

$ tar cSf - file |   (cd /tmp/tt; tar xpSf -)

如果不加 -S --sparse参数,稀疏文件中的空洞将被填满。

 

 

你说的我知道啊,如果勾选立即分配,直接分配不出来,因为立即分配,他会马上占用磁盘空间

我说的是不要立即分配哟

图片.png


旧版本中是这样的
4a465dddcaf6345e22f0350bff46e76.png


稀疏文件 NTFS 会自动进行优化

849003a366ada789f056bf84b8937eb.png

图片.png


Reply View the author
深圳市耀影科技有限公司
deepin
2024-02-15 20:38
#7
李成小飞

用命令行移动看可不可行

命令行可以移动,但是会失败

图片.png

但是你用 QUME可以创建很多个 T级别的这样的文件

Reply View the author
卖了摩托继续写Bug
deepin
2024-02-18 09:45
#8

你自己截图里命令行输出的文件大小也是 2T

文管这里应该是没有区分占用大小和文件大小两个概念。
image.png

Reply View the author
深圳市耀影科技有限公司
deepin
2024-02-18 12:27
#9
卖了摩托继续写Bug

你自己截图里命令行输出的文件大小也是 2T

文管这里应该是没有区分占用大小和文件大小两个概念。
image.png

  • 对的 所以这是个问题,的改😁
Reply View the author