什么是文件孔以及它如何使用?

Jim*_*imm 9 linux filesystems file

根据我的理解,漏洞可能在inode中保存为元数据,但实际磁盘未填充空零.

  1. 有人可以解释现实生活中的用例,文件中的漏洞是否有用?

  2. 孔是否与预分配相同?从diskusage的角度来看,即使没有使用实际磁盘空间,但该空间也不可用于其他进程.

jll*_*gre 13

带孔的文件通常称为稀疏文件.

当程序需要访问各种地址(偏移)但不太可能触及所有可能的块时,它们很有用.虚拟化产品可以使用它来存储虚拟磁盘.假设您配置了一个20 GB磁盘的虚拟机,但它不会快速充满数据.创建一个20 GB的稀疏文件要快得多,该文件一开始只使用几个磁盘块,然后让VM创建一个文件系统并以低速度存储文件.

当一些大型稀疏文件的某些块被消隐(即填充空字节)时,它的大小也会减小.执行它的稀疏文件识别程序可以,而不是实际写入块,从文件中删除它们(即在文件中打孔)具有相同的效果,因为未分配的块在程序读取时返回零.

稀疏文件与预分配相反,它们是所谓的精简配置或者也可能称为磁盘过量使用.这允许创建比实际硬件支持更多的"虚拟磁盘空间",并且仅在必要时添加更多磁盘以扩展文件系统.

  • 只要有磁盘空间,您就可以随时增加非稀疏文件的现有文件大小。那么,什么是创建稀疏文件呢?它会保留块地址吗?听起来,它没有保留任何东西,所以我想知道创建一个的目的是什么? (2认同)
  • 是的,你是一种保留地址,但这个预订几乎没有磁盘空间.优点是虚拟化操作系统能够立即看到一个大磁盘,并能够在其上创建适当尺寸的分区,然后以非常经济的方式布局这些分区中的文件系统.如果您选择非稀疏文件方式,您将无法拥有多个可扩展分区(如果可用,则不使用卷管理)并且扩大文件系统会增加无意义的管理负担. (2认同)