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

文档信息

前言

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

ZFS 中的新增功能

改进了 ZFS 池设备消息

ZFS 文件共享改进

共享的 var 文件系统

对带 EFI (GPT) 标签的磁盘的引导支持

ZFS 命令使用方面的增强功能

ZFS 快照增强功能

ZFS 手册页更改 (zfs.1m)

改进的 aclmode 属性

按物理位置标识池设备

ZFS 影子迁移

ZFS 文件系统加密

ZFS 发送流增强功能

ZFS 快照差异 (zfs diff)

ZFS 存储池恢复和性能增强功能

ZFS 同步行为调优

改进了 ZFS 池消息

ZFS ACL 互操作性增强功能

分割镜像 ZFS 存储池 (zpool split)

ZFS iSCSI 更改

新 ZFS 系统进程

ZFS 重复数据删除属性

什么是 Oracle Solaris ZFS?

ZFS 池存储

事务性语义

校验和与自我修复数据

独一无二的可伸缩性

ZFS 快照

简化的管理

ZFS 术语

ZFS 组件命名要求

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

ZFS 文件系统粒度

ZFS 磁盘空间记帐

空间不足行为

挂载 ZFS 文件系统

传统卷管理

基于 NFSv4 的 Solaris ACL 模型

2.  Oracle Solaris ZFS 入门

3.  管理 Oracle Solaris ZFS 存储池

4.  管理 ZFS 根池组件

5.  管理 Oracle Solaris ZFS 文件系统

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

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

8.  Oracle Solaris ZFS 委托管理

9.  Oracle Solaris ZFS 高级主题

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

11.  归档快照和根池恢复

12.  建议的 Oracle Solaris ZFS 做法

A.  Oracle Solaris ZFS 版本说明

索引

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

ZFS 文件系统粒度

过去,文件系统局限于单个设备,因而其大小以设备的大小为限。由于存在大小限制,因此创建和重新创建传统文件系统很耗时,有时候还很难。传统的卷管理产品可帮助管理此过程。

由于 ZFS 文件系统不局限于特定设备,因此可以轻松、快捷地创建,其创建方法与目录的创建方法相似。ZFS 文件系统会在分配给其所驻留的存储池的磁盘空间中自动增大。

要管理许多用户子目录,可以为每个用户创建一个文件系统,而不是只创建一个文件系统(如 /export/home)。通过应用可被分层结构中包含的后代文件系统继承的属性,可以轻松设置和管理许多文件系统。

有关如何创建文件系统分层结构的示例,请参见创建 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 快照的信息,请参见第 6 章

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

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

挂载 ZFS 文件系统

ZFS 可降低复杂性并简化管理。例如,使用传统文件系统时,每次添加新文件系统都必须编辑 /etc/vfstab 文件。ZFS 可根据文件系统的属性自动挂载和卸载文件系统,从而避免了上述需求。无需管理 /etc/vfstab 文件中的 ZFS 条目。

有关挂载和共享 ZFS 文件系统的更多信息,请参见挂载 ZFS 文件系统

传统卷管理

ZFS 池存储 中所述,ZFS 不需要单独的卷管理器。ZFS 对原始设备执行操作,因此可能会创建由逻辑卷(软件或硬件)构成的存储池。由于 ZFS 在使用原始物理设备时可获得最佳工作状态,因此建议不使用此配置。使用逻辑卷可能会牺牲性能和/或可靠性,因此应尽量避免。

基于 NFSv4 的 Solaris ACL 模型

Solaris OS 的旧版本支持主要基于 POSIX 草案 ACL 规范的 ACL 实现。基于 POSIX 草案的 ACL 用来保护 UFS 文件。基于 NFSv4 规范的新 Solaris ACL 模型用来保护 ZFS 文件。

与旧模型相比,新 Solaris ACL 模型的主要变化如下:

有关对 ZFS 文件使用 ACL 的更多信息,请参见第 7 章