免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1156 | 回复: 0
打印 上一主题 下一主题

第 3 章 ZFS 与传统文件系统之间的差别 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-21 12:02 |只看该作者 |倒序浏览

第 3 章 ZFS 与传统文件系统之间的差别
本章讨论 ZFS 与传统文件系统之间的一些重要差别。了解这些关键差别有助于在使用传统工具与 ZFS 进行交互时避免混淆。
本章包含以下各节:

ZFS 文件系统粒度
以前,文件系统被局限于一个设备,因此文件系统自身会受到该设备大小的限制。由于存在大小限制,因此创建和重新创建传统文件系统很耗时,有时候还很难。传统的卷管理产品可帮助管理此过程。
由于 ZFS 文件系统不局限于特定设备,因此可以轻松、快捷地创建,其创建方法与目录的创建方法相似。在为存储池分配的空间内,ZFS 文件系统可以自动增长。
要管理许多用户子目录,可以为每个用户创建一个文件系统,而不是只创建一个文件系统(如 /export/home)。此外,ZFS 还提供了一个文件系统分层结构,这样只需应用分层结构内文件系统可继承的属性,便可轻松设置和管理许多文件系统。
有关创建文件系统分层结构的示例,请参见
创建 ZFS 文件系统分层结构

ZFS 空间记帐
ZFS 建立在池存储概念的基础上。与典型文件系统映射到物理存储器不同,池中的所有 ZFS 文件系统都共享该池中的可用存储器。因此,即使文件系统处于非活动状态,实用程序(例如 df)报告的可用空间也会发生变化,因为池中的其他文件系统会使用或释放空间。注意,使用配额可以限制最大文件系统大小。有关配额的信息,请参见
设置 ZFS 文件系统的配额
。使用预留功能可以保证文件系统拥有相应空间。有关预留的信息,请参见
设置 ZFS 文件系统的预留空间
。此模型与从同一文件系统(例如 /home)挂载多个目录的 NFS 模型非常相似。
ZFS 中的所有元数据都是动态分配的。其他大部分文件系统都会预分配其大量元数据。因此,创建文件系统时需要针对此元数据的即时空间成本。此行为还意味着文件系统支持的文件总数是预先确定的。由于 ZFS 根据需要分配其元数据,因此不需要初始空间成本,并且文件数只受可用空间的限制。对于 ZFS 文件系统,对 df -g 命令输出的解释必须和其他文件系统不同。报告的 total files 只是根据池中可用的存储量得出的估计值。
ZFS 是事务性文件系统。大部分文件系统修改都捆绑到事务组中,并异步提交至磁盘。这些修改在被提交到磁盘之前称为暂挂更改。已用空间量、可用空间量以及文件或文件系统引用的空间量并不考虑暂挂更改。通常,暂挂更改仅占用几秒钟的时间。即使使用 fsync(3c) 或 O_SYNC 将更改提交到磁盘也不一定能保证空间使用信息会立即更新。
空间不足行为
文件系统的快照开销很小,并且很容易在 ZFS 中创建。在大多数 ZFS 环境中,快照很可能是通用的。有关 ZFS 快照的信息,请参见
第 6 章,使用 ZFS 快照和克隆

尝试释放空间时,快照的存在会引起某种意外行为。通常,获取适当的权限后,可从整个文件系统中删除一个文件,此操作会使文件系统有更多的可用空间。但是,如果要删除的文件存在于文件系统的快照中,则删除该文件不会获得任何空间。快照将继续引用该文件使用的块。
由于需要创建新版本的目录来反映名称空间的新状态,因此删除文件会占用更多的磁盘空间。此行为意味着,尝试删除文件时可能获得意外的 ENOSPC 或 EDQUOT。
挂载 ZFS 文件系统
ZFS 旨在降低复杂性和减轻管理负担。例如,如果使用现有文件系统,则必须在每次添加新文件系统时编辑 /etc/vfstab 文件。ZFS 可根据数据集的属性自动挂载和取消挂载文件系统,从而消除了上述要求。无需管理 /etc/vfstab 文件中的 ZFS 项。
有关挂载和共享 ZFS 文件系统的更多信息,请参见
挂载和共享 ZFS 文件系统

传统卷管理

ZFS 池存储
中所述,ZFS 不需要单独的卷管理器。ZFS 对原始设备执行操作,因此可能会创建由逻辑卷(软件或硬件)构成的存储池。由于 ZFS 在使用原始物理设备时可获得最佳工作状态,因此建议不使用此配置。使用逻辑卷可能会牺牲性能和/或可靠性,因此应尽量避免。
新 Solaris ACL 模型
Solaris OS 的早期版本支持主要基于 POSIX ACL 草案规范的 ACL 实现。基于 POSIX 草案的 ACL 用来保护 UFS 文件。基于 NFSv4 规范的新 ACL 模型用来保护 ZFS 文件。
新 Solaris ACL 模型的主要差别如下:


  • 基于 NFSv4 规范并与 NT 样式的 ACL 类似。

  • 提供更全面的访问权限集。

  • 分别使用 chmod 和 ls 命令(而非 setfacl 和 getfacl 命令)进行设置和显示。

  • 提供更丰富的继承语义,以便指定如何将访问权限从目录应用于子目录等。

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



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/26090/showart_325711.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP