返回顶部
首页 > 资讯 > 操作系统 >ZFS是什么?使用ZFS的理由及特性介绍
  • 737
分享到

ZFS是什么?使用ZFS的理由及特性介绍

zfs是什么为什么使用zfszfs特性介绍 2022-06-04 22:06:49 737人浏览 泡泡鱼
摘要

ZFS 的历史 Z 文件系统(Z File System)(ZFS)是由 Matthew Ahrens 和 Jeff Bonwick 在 2001 年开发的。ZFS 是作为 太阳微系统(Sun MicroSystem)

ZFS 的历史

Z 文件系统(Z File System)(ZFS)是由 Matthew Ahrens 和 Jeff Bonwick 在 2001 年开发的。ZFS 是作为 太阳微系统(Sun MicroSystem) 公司的 OpenSolaris 的下一代文件系统而设计的。在 2008 年,ZFS 被移植到了 FreeBSD 。同一年,一个移植 ZFS 到 linux项目也启动了。然而,由于 ZFS 是 通用开发和发布许可证 (Common Development and Distribution License)(CDDL)许可的,它和 GNU 通用公共许可证 不兼容,因此不能将它迁移到 Linux 内核中。为了解决这个问题,绝大多数 Linux 发行版提供了一些方法来安装 ZFS。
在甲骨文公司收购太阳微系统公司之后不久,OpenSolaris 就闭源了,这使得 ZFS 的之后的开发也变成闭源的了。许多 ZFS 开发者对这件事情非常不满。 三分之二的 ZFS 核心开发者 ,包括 Ahrens 和 Bonwick,因为这个决定而离开了甲骨文公司。他们加入了其它公司,并于 2013 年 9 月创立了 OpenZFS 这一项目。该项目引领着 ZFS 的开源开发。
让我们回到上面提到的许可证问题上。既然 OpenZFS 项目已经和 oracle 公司分离开了,有人可能好奇他们为什么不使用和 GPL 兼容的许可证,这样就可以把它加入到 Linux 内核中了。根据 OpenZFS 官网 的介绍,更改许可证需要联系所有为当前 OpenZFS 实现贡献过代码的人(包括初始的公共 ZFS 代码以及 OpenSolaris 代码),并得到他们的许可才行。这几乎是不可能的(因为一些贡献者可能已经去世了或者很难找到),因此他们决定保留原来的许可证。

ZFS 是什么,它有什么特性?

正如前面所说过的,ZFS 是一个先进的文件系统。因此,它有一些有趣的 特性 。比如:

  • 存储池
  • 写时拷贝
  • 快照
  • 数据完整性验证和自动修复
  • RaiD-Z
  • 最大单个文件大YSHLRn小为 16 EB(1 EB = 1024 PB)
  • 最大 256 千万亿(256*1015 )的 ZB(1 ZB = 1024 EB)的存储

让我们来深入了解一下其中一些特性。

如何安装 ZFS?

如果你想立刻使用 ZFS(开箱即用),那么你需要安装 FreeBSD 或一个 使用 illumos 内核的操作系统 。 illumos 是OpenSolaris 内核的一个克隆版本。
事实上,支持 ZFS 是一些有经验的 Linux 用户选择 BSD 的主要原因 。
如果你想在 Linux 上尝试 ZFS,那么只能在存储文件系统上使用。据我所知,没有任何 Linux 发行版可以在根目录上安装 ZFS,实现开箱即用。如果你对在 Linux 上尝试 ZFS 感兴趣,那么 ZFS on Linux 项目 上有大量的教程可以指导你怎么做。

存储池

与大多数文件系统不同,ZFS 结合了文件系统和卷管理器的特性。这意味着,它与其他文件系统不同,ZFS 可以创建跨越一系列硬盘或池的文件系统。不仅如此,你还可以通过添加硬盘来增大池的存储容量。ZFS 可以进行分区和格式化

使用ZFS的十条理由及特性

1. 再也不需要fsck, scandisk

不管你是在用Linux,UNIX还是windows,相信大家都有过类似的体会:当系统意外断电或者非法关机,系统重起后发现文件系统有inconsistent的问题,这时 候就需要fsck或者scandisk 来修复,这段时间是非常耗时而且最后不一定能够修复成功。更糟糕的是,如果这是一台服务器需要做fsck的时候,只能offline(下线),而且现有应用往往都是大硬盘,相应fsck修 复时间也很长,这对许多使用该服务器的用户来说几乎不能忍受的。
而使用ZFS后大家可以彻底抛弃fsck这种工具,因为ZFS是一个基于COW(Copy on Write)机制的文件系统。COW是不会对硬盘上现有的文件进行重写,保证所有硬盘上的文件都是有效的。所以不会有这种inconsistent的概念,自然就不需要这种工具了。

2. 管理简单

ZFS作为一个全新的文件系统,全面抛弃传统File System + Volume Manager + Storage的架构,所有的存储设备是通过ZFS Pool进行管理,只要把各种存储设备加 入同一个ZFS Pool,大家就可以轻松的在这个ZFS Pool管理配置文件系统。大家再也不用牢记各种专业概念,各种命令newfs, metinit及各种Volume Manager的用法。在ZFS中我们只需要两个命令,zpool(针 对ZFS Pool管理)和zfs(针对ZFS文件系统的管理),就可以轻松管理128位的文件系统。举个例子,我们经常会遇到系统数据增长过 快,现有存储容量不够,需要添加硬盘,如果依照传统的Volume Manager管理方式,那我 们需要预先要考虑很多现有因素,还要预先根据应用计算出需要配置的各种参数。在ZFS情况下,我们的系统管理员可以彻底解放,再也不需要这种人为的复杂 考虑和计算,我们可以把这些交给ZFS,因为ZFS Pool会自动调节,动态适应需求。我们只需一个简单的命令为 这个ZFS Pool加入新的硬盘就可以了:

zpool add zfs_pool mirror c4t0d0 c5t0d0

基于这个动态调节的ZFS Pool之上的所有的文件系统就可以立即使用到这个新的硬盘,并且会自动的选择最优化的参数。而且ZFS同时也提供图形化的管理界面

3.没有任何容量限制

ZFS(Zettabyte File System)文件系统就如其名字所预示,可以提供真正的海量存储,在现实中几乎不可能遇到容量问题。在现有的64位kernel(内 核)下,它可以容纳达到16 Exabytes(264)大小的单个文件,可以使用264个存储设备,可以创建264个文件系统。

4.完全保证 数据 的正确和完整

由于ZFS所有的数据操作都是基 于Transaction(事务),一组相应的操作会被ZFS解 析为一个事务操作,事务的操作就代表着一组操作要么一起失败,要么一起成功。而且如前所说,ZFS对 所有的操作是基于COW(Copy on Write), 从而保证设备上的数 据始终都是有效的,再也不会因为系统崩溃或者意外掉电导致数据文件的inconsistent。
还有一种潜在威胁 数据的可能是来自于硬件设备的问题,比如磁 盘,RAID卡的硬件问题或者驱动bug。现有文件系统通常遇到这个问题,往往只是简单的把错误数据直接交给上层应用,通常我们把这个问题称作Silent Data Corruption。而在ZFS中,对所有数据不管是用户数据还是文件系统自身的metadata数 据都进行256位的Checksum(校 验),当ZFS在提交数据时会进行校验,彻底杜绝这种Silent Data Corruption情况。

5.提供优异 性能和扩展性

和传统File System + Volume Manager + Storage架构不同,ZFS则是直接基于存储设备提供所有的功能,因此有自己独有的创新特性,性能自然非比寻常。

Dynamic Striping vs. Static Striping

由于ZFS是基于COW和一个全局动态的ZFS Pool,任何一次写 操作,都是对一块新数据块(Block)的一次写操作。ZFS从ZFS Pool中动态挑选出一个最优的设备,并且以一个transaction(事 务)线性写入,充分有效地利用了现有设备的带宽,我们把这个特性称为Dynamic Striping。而相对应的Static Striping则是传统文件系统所使用的方式,Static Striping需要管理员预先对这组Stripe进行正确地计算人为 设置,而且如果加入新的设备则需要再次人为的计算和设置,更为严重的是如果人为计算错误,则会直接影响系统的性能。而在使用Dynamic Striping这种特性之后,我们根本不需要人为介入,ZFS会自动调整,智能的为你 提供最佳的设备,最快的操作方式。

支持多种 大小的数据块(Multiple Block Size)

ZFS支持多种大小的数据块定义,从512字节到1M字节。和传统文件系统往往都是固定大小数据块不同,ZFS则是可以动态的根据不同 大小的文件进行计算,动态的选择最佳的数据块。
因为不同大小数据 块,直接影响到实际使用硬盘容量和读取速度。如果使用较小的数据块,存储文件所导致的碎片则较少,读写小文件更快一些,但是会导致需要创建更多的metadata,读写大文件则会更费时。如果使用较大的数据块,使用的metadata较少,更利于读写大文件,但是会导致更多的碎片。ZFS根据实际调查现有文件使 用的情况,分析出一个选择数据块大小的算法,动态的根据实际文件大小确定最佳的数据块。所以ZFS是 非常智能的,在不需要系统管理员介入,就可以得到一个自我调优的结果。当然ZFS也支持用户对单个文件或者整个文件系统 所使用的数据块大小的自定义设置。

智能预读取(Intelligent Prefetch)

多数的操作系统都 有这种将数据预先读取的功能,而ZFS则是建立在文件系统上直接提供的一种更加智能的数据预读取功能。它不仅可以智能地识别出多种读取模式, 进 行提前读取数据,而且可以对每个读取数据流进行这种预读取智能识别,这个对许多流媒体提供者来说是件非常好的事情。
在扩展性上,和现有文件系统多是基于一个受限的静态模型不同,ZFS是采用ZFS Pool这个动态概念,它的metadata也是动态,并且读写操作都是可并行的,并且具有优先级概念,所以即使在大数据量,多设备的情况下仍可以保证性能的线性增长。

6.自我修复功能

ZFS Mirror 和 RAID-Z

传统的硬盘Mirror及RAID 4,RAID 5阵列方式都会遇到前面提到过的问题:Silent Data Corruption。如果发生了某块硬盘物理问题导致数据错误,现有的Mirror,包括RAID 4,RAID 5阵列会默默地把这个错误数据提交给上层应用。如果这个错误发生在Metadata中,则会直接导致系统的Panic。 而且还有一种更为严重的情况是:在RAID 4和RAID 5阵列中,如果系统正在计算Parity数值,并再次写入新数据和新Parity值的时候发生断电,那么整个阵列的所有存储的数据都毫无意义了。
在ZFS中则提出了相对应的ZFS Mirror和RAID-Z方式,它在负责读取数据的时候会自动和256位校验码进行校验,会主动发现这种Silent Data Corruption,然后通过相应的Mirror硬 盘或者通过RAID-Z阵列中其他硬盘得到正确的数据返回给上层应用,并且同时自动修复原硬盘的Data Corruption 。

Fault Manager

在Solaris 10中,包含 一个ZFS诊断引擎和Solaris的 Fault Manager(这也是Solaris 10的 另一个新特性)交互,可以实时地诊断分析并且报告ZFS Pool和存储设备的错误,用户可以通过Fault Manager及时得到一个非常友善的消息。这个诊断引擎虽然不会采取主动的行为去修复或者解决 问题,但是会在消息中提示系统管理员可采取的动作。类似下面一个ZFS报错消息,其中REC-ACTION就是建议采取的动作:


SUNW-MSG-ID: ZFS-8000-D3, TYPE: Fault, VER: 1, SEVERITY: Major
EVENT-TIME: Fri Mar 10 11:09:06 MST 2006
PLATFORM: SUNW,Ultra-60, CSN: -, HOSTNAME: neo
SOURCE: zfs-diagnosis, REV: 1.0
EVENT-ID: b55ee13b-cd74-4dff-8aff-ad575c372ef8
DESC: A ZFS device failed. Refer to Http://sun.com/msg/ZFS-8000-D3 for more information.
AUTO-RESPONSE: No automated response will occur.
IMPACT: Fault tolerance of the pool maybe compromised.
REC-ACTION: Run 'zpool status -x' and replace the bad device.

7. 安全

安全上,ZFS支持类似NT风格NFSv4版的ACL(读取控制列表)。而且前面所提到的256位验证码,用户可选择多种验证方式,包括SHA-256验证算法,从而在物理存储单元级别上保证数据的安全性。

8. 超强功能

ZFS作为“最后一个文件系统”,涵盖了基本的文件系统和Volume管理的功能,同时 一并提供许多企业级别的超强功能:Quota(配额),Reservation(预留), Compression(压 缩), Snapshot(快照),Clone(克隆)。并且速度非常快。有了这个文件系统,大家再也不需要任何Volume Manager了。

9.兼容性

ZFS是一个完全兼容POSIX规范的文件系统,所以处于上层的应用程序是完全不受影响。ZFS也提供一个Emulated Volume模块,可以把任何一个ZFS文件系统作为普通的块设备使用。同时ZFS也可以使用基于Volume Manager构建的Volume作为存储设备单 元。这样在不需要修改应用程序,不修改已有文件系统下,给了大家最大的自由度去获得ZFS提供的各种特性。

10.开源

ZFS是Sun Microsystems公 司作为OpenSolaris的一个开源项目运作并且完全免费使用,这就代表着我们不仅同时可以享受商业公司的高质量,也可以获得开源模式的优点。
虽然目前只有Solaris支持该文件系统,但是这种开源的模式必定会促进更多基于ZFS的应用。现在已经有国外开发者正在将ZFS移植到Linux和Mac OS上来。如果想要体验一下ZFS,由于目前它和Solaris 10绑定在一起,所以需要下载最新版的Solaris 10 6/06 (http://www.sun.com/software/solaris/get.jsp)。

附加说明

这篇文章论述了 ZFS 的优点。现在,让我来告诉你一个关于 ZFS 很现实的问题。使用 RAID-Z 会很贵 ,因为你需要购买大量的磁盘来增大存储空间。
你已经使用过 ZFS 了吗?你的使用经验是什么样的?

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

--结束END--

本文标题: ZFS是什么?使用ZFS的理由及特性介绍

本文链接: https://lsjlt.com/news/19859.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • ZFS是什么?使用ZFS的理由及特性介绍
    ZFS 的历史 Z 文件系统(Z File System)(ZFS)是由 Matthew Ahrens 和 Jeff Bonwick 在 2001 年开发的。ZFS 是作为 太阳微系统(Sun MicroSystem)...
    99+
    2022-06-04
    zfs是什么 为什么使用zfs zfs特性介绍
  • C#11新特性预览及使用介绍
    目录C# 11 预览:允许在内插字符串的“插值表达式”中换行C# 11 预览:列表模式C# 11 预览:新的参数空值检查如何尝试预览特性.NET 首席项目经理...
    99+
    2024-04-02
  • Discuz是什么?功能及特点介绍
    首先我们来解释一下什么是Discuz。 Discuz(原名Discuz!)是一款由中国开发者开发的开源论坛软件,适用于建立在线社区或论坛。它提供了丰富的功能和灵活的定制选项,让网站管理...
    99+
    2024-03-03
    功能介绍 特点详解 论坛软件 用户权限管理 用户注册
  • win8中的SkyDriver是什么及其使用介绍
      Windows Live SkyDrive 是一款有密码保护的 25G 超大网络硬盘,您可以随时随地存取文件。同时,也可以让您与您的朋友、同事或家人一起在共享文件夹中添加或更新文件,轻松共享生活信息。 ...
    99+
    2022-06-04
    SkyDriver
  • Three.js PBR物理渲染属性及使用介绍
    目录详解 Three.js PBR 物理渲染什么是 PBR?如何启用 PBR?PBR 的属性颜色(color)金属度(metalness)粗糙度(roughness)折射率(refr...
    99+
    2023-05-17
    Three.js PBR 物理渲染 PBR 物理渲染属性
  • Java NIO的的介绍及工作原理是什么
    这篇文章主要讲解了“Java NIO的的介绍及工作原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java NIO的的介绍及工作原理是什么”吧!针对传统I/O 工作模式的不足,NIO...
    99+
    2023-06-17
  • python的介绍及优势是什么
    这篇文章主要讲解了“python的介绍及优势是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python的介绍及优势是什么”吧!有人说问学python会不会过时,我问你人工智能什么时间过...
    99+
    2023-06-19
  • HTML5的新特性整理与Canvas的常用属性介绍
    本篇内容介绍了“HTML5的新特性整理与Canvas的常用属性介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有...
    99+
    2024-04-02
  • 云服务器的介绍和特点是什么
    云服务器(Cloud Server)是一种通过互联网提供云服务的服务器,它通常由多个服务器组成,每个服务器运行一个虚拟计算机集群,提供计算、存储、网络和其他服务,用户通过浏览器访问这些服务,并可以与其他用户共享这些资源。 云服务器的特点是...
    99+
    2023-10-26
    服务器
  • ChatGPT介绍及Java API调用的方法是什么
    本篇内容介绍了“ChatGPT介绍及Java API调用的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ChatGPT的...
    99+
    2023-07-05
  • es6新加的特性是什么及怎么用
    这篇文章主要介绍“es6新加的特性是什么及怎么用”,在日常操作中,相信很多人在es6新加的特性是什么及怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”es6新加的特性是什...
    99+
    2024-04-02
  • 云服务器的介绍和特点是什么呢
    云服务器(Cloud Docker)是一种基于容器技术的服务器,它可以被部署在云基础设施上,可以通过网络连接访问。云服务器的介绍如下: 云服务器的定义:云服务器是一种服务器,它由多个容器组成,这些容器被托管在一个公共云平台上。这些容器可...
    99+
    2023-10-26
    什么呢 服务器 特点是
  • Python中关于集合的介绍及用法是什么
    这期内容当中小编将会给大家带来有关Python中关于集合的介绍及用法是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  一、集合的含义及创建方法  集合(s...
    99+
    2024-04-02
  • CSS Sprites的介绍以及优缺点是什么
    本篇内容介绍了“CSS Sprites的介绍以及优缺点是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2024-04-02
  • 云服务器的介绍和特点是什么意思
    云服务器(Cloud Storage)是一种用于在云端托管和管理应用程序和数据的服务。通常,云服务器提供了虚拟化、弹性存储、高可扩展性和高度安全等功能,以帮助企业轻松地进行应用程序的快速部署和管理,同时还能够实现业务创新和灵活性。 云服务...
    99+
    2023-10-26
    服务器
  • 阿里云服务器的介绍与特点是什么
    阿里云服务器是阿里云的一项重要服务,它具有以下特点: 稳定可靠性:阿里云服务器具有全球性的网络和节点资源,支持稳定可靠的网络连接。 高性能计算能力:阿里云服务器具有高性能计算能力,可为用户提供更高质量的计算服务。 智能管理服务:阿里云服...
    99+
    2023-10-26
    阿里 服务器
  • 阿里云服务器的介绍和特点是什么
    阿里云服务器是阿里云旗下的云计算服务,其主要特点包括以下几点: 稳定可靠:阿里云是国内领先的云计算服务提供商,采用多层防御机制和多重备份的云服务器为用户提供高可用性和稳定性保障。 快速部署:阿里云提供云服务器和云存储服务,用户可以直接使...
    99+
    2023-10-26
    阿里 服务器
  • block的原理及特点是什么
    这期内容当中小编将会给大家带来有关block的原理及特点是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。block是什么意思BLOCK是数据库中的最小存储和处理单位,...
    99+
    2024-04-02
  • 云服务器的介绍和特点是什么意思呀
    云服务器是一种基于云计算技术的虚拟服务器,它可以通过互联网进行访问和管理。与传统的物理服务器相比,云服务器具有以下几个特点: 1.弹性扩展:云服务器可以根据业务需求进行弹性扩展,可以随时增加或减少计算、存储和带宽等资源,以满足不同业务的需...
    99+
    2023-10-27
    服务器
  • 云服务器的介绍和特点是什么意思啊
    云服务器的特点有很多,其中最重要的就是它的可靠性。传统的服务器往往需要依赖于单一的硬件平台和网络连接来提供服务,而云服务器则采用了多种硬件和网络技术来保证服务的可靠性。云服务器的服务器管理员可以通过远程控制台来管理和维护服务器的运行状态,而...
    99+
    2023-10-28
    服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作