ZFS文件删除及其与磁盘空间的关系

Mat*_*bel 2 solaris files zfs storage

我从 Solaris 系统中删除了一个大文件(许多演出),但它似乎没有恢复 zpool 上与文件大小相等的空间量。有什么理由我不会立即看到这个空间吗?删除 ZFS 中的文件涉及哪些步骤?

Mar*_*ark 10

释放的空间不等于文件大小有多种可能性。

  • 压缩 - 您可能在文件系统上打开了压缩,并且文件可能已被压缩。
  • 稀疏文件 - 如果创建的文件是稀疏文件,则文件的任何连续空白区域几乎不会占用驱动器上的空间,因此删除文件不会恢复您可能认为的空间量。
  • 快照 - 我怀疑这就是你所看到的原因。如果您有引用该文件的快照,则该数据仍在使用中并且不会被恢复。您需要删除任何快照才能完全恢复空间。如果创建快照后文件发生了更改,那么您将恢复部分空间(自快照以来更改的量),但文件中未更改的部分仍由快照本身引用。
  • 重复数据删除 - 这是一项您可能尚未启用的较新功能,但我将其作为一种可能性包括在内。Dedup 查找相同的块并且只存储它们一次。如果您删除引用这些块之一的文件,那么您将无法恢复该空间,因为它正被另一个文件引用。