阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

什么是ZFS文件系统

47次阅读
没有评论

共计 2292 个字符,预计需要花费 6 分钟才能阅读完成。

导读 今天,我们来看看 ZFS,一个高级文件系统。我们将讨论它来自哪里,它是什么,以及为什么它在技术人员和企业中如此受欢迎。虽然我来自美国,但我更喜欢用 ZedFS 而不是 ZeeFS 发音,因为它听起来更酷。你可以随意发音。
ZFS 的历史

Z 文件系统(ZFS)由 Matthew Ahrens 和 Jeff Bonwick 于 2001 年创建.ZFS 旨在成为 Sun Microsystems 的 OpenSolaris 的下一代文件系统。2008 年,ZFS 被移植到 FreeBSD。同年,一个项目开始将 ZFS 移植到 Linux。但是,由于 ZFS 根据与 GNU 通用公共许可证不兼容的通用开发和分发许可证进行许可,因此它不能包含在 Linux 内核中。为了解决这个问题,大多数 Linux 发行版提供了安装 ZFS 的方法。

甲骨文收购 Sun Microsystems 后不久,OpenSolaris 成为了密切的来源。ZFS 的所有进一步开发也成为封闭源。ZFS 的许多开发人员对这一转变事件感到不满。由于这一决定,三分之二的核心 ZFS 开发者,包括 Ahrens 和 Bonwick,离开了 Oracle。他们与其他公司一起在 2013 年 9 月创建了 OpenZFS 项目。该项目率先开展了 ZFS 的开源开发。

让我们回到上面提到的许可证问题。由于 OpenZFS 项目与 Oracle 是分开的,因此有些人可能想知道为什么他们不会将许可证更改为与 GPL 兼容的东西,因此它可以包含在 Linux 内核中。根据 OpenZFS 网站的说法,更改许可证将涉及将任何贡献代码的人联系到当前的 OpenZFS 实施(包括初始的,常见的 ZFS 代码,直到 OpenSolaris)并获得他们更改许可证的许可。由于这项工作几乎不可能(因为一些贡献者可能已经死亡或很难找到),他们决定保留他们拥有的许可证。

什么是 ZFS?它的特点是什么?

正如我之前所说,ZFS 是一个高级文件系统。因此,它有一些有趣的功能。如:

  • 存储池
  • 写入时复制
  • 快照
  • 数据完整性验证和自动修复
  • RAID-Z
  • 最大单个文件大小为 16 EB(1 EB = 1024 PB)
  • 最大 256 千万亿(256*1015)的 ZB(1 ZB = 1024 EB)的存储
  • 让我们分解一下这些功能。

    存储池

    与大多数文件系统不同,ZFS 结合了文件系统和卷管理器的功能。这意味着与其他文件系统不同,ZFS 可以创建跨越一系列驱动器或池的文件系统。不仅如此,您还可以通过添加其他驱动器将存储添加到池中。ZFS 将处理分区和格式化。

    什么是 ZFS 文件系统

    写入时复制

    Copy-on-write 是另一个有趣(而且很酷)的功能。在大多数文件系统上,当数据被覆盖时,它将永远丢失。在 ZFS 上,新信息被写入不同的块。写入完成后,文件系统元数据将更新为指向新信息。这可确保在写入过程中如果系统崩溃(或其他事情发生),旧数据将被保留。这也意味着系统崩溃后系统不需要运行 fsck。

    快照

    Copy-on-write 引入另一个 ZFS 功能:快照。ZFS 使用快照来跟踪文件系统中的更改。“快照包含文件系统的原始版本,实时文件系统包含自拍摄快照以来所做的任何更改。没有使用额外的空间。当新数据写入实时文件系统时,会分配新块来存储此数据。“删除文件后,也会删除快照引用。因此,快照主要用于跟踪文件的更改,但不包括文件的添加和创建。

    快照可以以只读方式挂载,以恢复文件的过去版本。也可以将实时系统回滚到先前的快照。自快照以来所做的所有更改都将丢失。

    数据完整性验证和自动修复

    每当将新数据写入 ZFS 时,它都会为该数据创建校验和。读取该数据时,将验证校验和。如果校验和不匹配,则 ZFS 知道已检测到错误。然后,ZFS 将自动尝试更正错误。

    RAID-Z

    ZFS 可以处理 RAID 而无需任何额外的软件或硬件。不出所料,ZFS 有自己的 RAID 实现:RAID-Z。RAID- Z 实际上是 RAID- 5 的一种变体。但是,它旨在克服 RAID- 5 写入孔错误,“其中数据和奇偶校验信息在意外重启后变得不一致”。要使用基本级别的 RAID-Z(RAID-Z1),您需要至少两个磁盘用于存储,一个用于奇偶校验。RAID-Z2 至少需要两个存储驱动器和两个用于奇偶校验的驱动器。RAID-Z3 至少需要两个存储驱动器和三个用于奇偶校验的驱动器。当驱动器添加到 RAID- Z 池时,它们必须以 2 的倍数添加。

    巨大的存储潜力

    创建 ZFS 时,它被设计为文件系统中的最后一个单词。在大多数 64 位文件系统的时候,ZFS 创建者决定直接跳到 128 位以便将来证明它。这意味着 ZFS“提供的容量是 32 或 64 位系统的 16 亿亿倍”。事实上,Jeff Bonwick(其中一位创始人)表示,为一个“完全填充 128 位存储池提供动力,实际上需要比沸腾海洋更多的能量。”

    如何安装 ZFS?

    如果你想开箱即用 ZFS,就需要安装 FreeBSD 或使用 illumos 内核的操作系统。illumos 是 OpenSolaris 内核的一个分支。

    事实上,对 ZFS 的支持是一些有经验的 Linux 用户选择 BSD 的主要原因之一。

    如果要在 Linux 上尝试 ZFS,则只能将其用作存储文件系统。据我所知,没有 Linux 发行版为您提供了在开箱即用的基础上安装 ZFS 的选项。如果您有兴趣在 Linux 上尝试 ZFS,那么 Linux 上的 ZFS 项目有很多关于如何做到这一点的教程。

    警告

    本文介绍了 ZFS 的优点。现在让我告诉你一个 ZFS 的快速问题。使用 RAID- Z 可能会很昂贵,因为您需要购买多少驱动器来添加存储空间。

    你曾经使用过 ZFS 吗?你的经历是什么样的?请在下面的评论中告诉我们。

    阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

    腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

    代金券:在阿里云专用满减优惠券

    正文完
    星哥说事-微信公众号
    post-qrcode
     0
    星锅
    版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计2292字。
    转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
    【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
    阿里云-最新活动爆款每日限量供应
    评论(没有评论)
    验证码
    【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中