JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 管理:ZFS 文件系统     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  Oracle Solaris ZFS 文件系统(介绍)

2.  Oracle Solaris ZFS 入门

3.  Oracle Solaris ZFS 与传统文件系统之间的差别

ZFS 文件系统粒度

ZFS 磁盘空间记帐

空间不足行为

挂载 ZFS 文件系统

传统卷管理

新 Solaris ACL 模型

4.  管理 Oracle Solaris ZFS 存储池

5.  管理 ZFS 根池组件

6.  管理 Oracle Solaris ZFS 文件系统

7.  使用 Oracle Solaris ZFS 快照和克隆

8.  使用 ACL 和属性保护 Oracle Solaris ZFS 文件

9.  Oracle Solaris ZFS 委托管理

10.  Oracle Solaris ZFS 高级主题

11.  Oracle Solaris ZFS 故障排除和池恢复

12.  归档快照和根池恢复

13.  建议的 Oracle Solaris ZFS 做法

A.  Oracle Solaris ZFS 版本说明

索引

ZFS 磁盘空间记帐

ZFS 建立在池存储概念的基础上。与典型文件系统映射到物理存储器不同,池中的所有 ZFS 文件系统都共享该池中的可用存储器。因此,即使文件系统处于非活动状态,实用程序(例如 df)报告的可用磁盘空间也会发生变化,因为池中的其他文件系统会使用或释放磁盘空间。

注意,使用配额可以限制最大文件系统大小。有关配额的信息,请参见设置 ZFS 文件系统的配额。可以利用预留空间保证一个文件系统拥有指定大小的磁盘空间。有关预留的信息,请参见设置 ZFS 文件系统的预留空间。此模型与从同一文件系统(例如 /home)挂载多个目录的 NFS 模型非常相似。

ZFS 中的所有元数据都是动态分配的。其他大部分文件系统都会预分配其大量元数据。因此,创建文件系统时,此元数据需要直接占用空间。此行为还意味着文件系统支持的文件总数是预先确定的。由于 ZFS 根据需要分配其元数据,因此不需要初始空间成本,并且文件数只受可用磁盘空间的限制。对于 ZFS 文件系统,对 df -g 命令输出的解释必须和其他文件系统不同。报告的 total files 只是根据池中可用的存储量得出的估计值。

ZFS 是事务性文件系统。大部分文件系统修改都捆绑到事务组中,并异步提交至磁盘。这些修改在被提交到磁盘之前称为暂挂更改。已用磁盘空间量、可用磁盘空间量以及文件或文件系统引用的磁盘空间量并不考虑暂挂更改。通常,暂挂更改仅占用几秒钟的时间。即使使用 fsync(3c)O_SYNC 提交对磁盘的更改,也不一定能保证有关磁盘空间使用情况的信息会立即更新。

在 UFS 文件系统上,du 命令报告文件中数据块的大小。在 ZFS 文件系统上,du 报告在磁盘上存储的文件的实际大小。该大小包括元数据以及压缩。此报告确实有助于解答“删除此文件可获得多少多余空间?”这一问题。因此,即使压缩已关闭,您仍会在 ZFS 和 UFS 之间看到不同的结果。

df 命令与 zfs list 命令报告的空间占用进行比较时,请注意,df 报告的是池大小而不仅仅是文件系统大小。此外,df 不了解后代文件系统或快照是否存在。如果在文件系统上设置了任何 ZFS 属性(如压缩和配额),则协调由 df 报告的空间占用可能很难。

请考虑也可能影响所报告的空间占用的以下情况:

空间不足行为

文件系统的快照开销很小,并且很容易在 ZFS 中创建。在大多数 ZFS 环境中,快照是常见现象。有关 ZFS 快照的信息,请参见第 7 章

尝试释放磁盘空间时,快照的存在会引起某种意外行为。通常,获取适当的权限后,可从整个文件系统中删除一个文件,此操作会使文件系统有更多的可用磁盘空间。但是,如果要删除的文件存在于文件系统的快照中,则删除该文件不会获得任何磁盘空间。快照将继续引用该文件使用的块。

由于需要创建新版本的目录来反映名称空间的新状态,因此删除文件会占用更多的磁盘空间。此行为意味着,尝试删除文件时可能收到意外的 ENOSPCEDQUOT 错误。