<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.huihoo.com/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-cn">
		<id>http://wiki.huihoo.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=60.217.249.11&amp;*</id>
		<title>开放百科 - 灰狐 - 用户贡献 [zh-cn]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.huihoo.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=60.217.249.11&amp;*"/>
		<link rel="alternate" type="text/html" href="http://wiki.huihoo.com/wiki/%E7%89%B9%E6%AE%8A:%E7%94%A8%E6%88%B7%E8%B4%A1%E7%8C%AE/60.217.249.11"/>
		<updated>2026-04-09T14:25:03Z</updated>
		<subtitle>用户贡献</subtitle>
		<generator>MediaWiki 1.19.2</generator>

	<entry>
		<id>http://wiki.huihoo.com/wiki/OpenZFS</id>
		<title>OpenZFS</title>
		<link rel="alternate" type="text/html" href="http://wiki.huihoo.com/wiki/OpenZFS"/>
				<updated>2010-08-15T04:18:14Z</updated>
		
		<summary type="html">&lt;p&gt;60.217.249.11：/* ç¸å³é¾æ¥ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Solaris ZFS—The Most Advanced File System on the Planet&lt;br /&gt;
&lt;br /&gt;
源码下载: http://download.huihoo.com/zfs/&lt;br /&gt;
&lt;br /&gt;
[[Image:solaris_zfs.gif|thumb|right]]&lt;br /&gt;
对于任何机器，从台式机到数据中心，ZFS 都能满足其文件系统的要求。由于设计时就是以管理员为出发点，因此 ZFS 也是唯一一款能自我修复，自我管理的操作系统文件系统。通过ZFS，我们虚拟化了卷管理，同时，还能将所有的存储形成一个大的共享池，让你能够自动地增减。有人运行着多PB级的阵列。ZFS让你能够虚拟一切，这样卷管理就不必作为核心技术，这简化了管理。它提供了如下优势：&lt;br /&gt;
&lt;br /&gt;
* 简单管理&lt;br /&gt;
ZFS 结合了复杂的存储管理理念并可进行自动化管理，从而将管理费用降低了 80%。&lt;br /&gt;
* 可验证的数据完整性&lt;br /&gt;
ZFS 使用了 64 位的校验和来保护所有数据，可探测并挽救无记载数据崩溃。&lt;br /&gt;
* 无限制的伸缩性&lt;br /&gt;
作为世界上首款 128 位文件系统，ZFS 提供的性能高达 32 位或 64 位系统的 160 亿平方倍。&lt;br /&gt;
* 极高的性能&lt;br /&gt;
其事务模式摆脱了在 I/O 发布顺序上的诸多传统限制，从而大大提高了性能。 &lt;br /&gt;
&lt;br /&gt;
由于 ZFS 是基于虚拟存储池的顶层构建的（不像传统的文件系统，还需单独的容量管理器），它大大降低了创建和删除文件系统的复杂程度。这不仅免除了容量管理器的许可证费用和签定单独支持合同的麻烦，还降低了管理费用并提高了存储利用率。&lt;br /&gt;
&lt;br /&gt;
ZFS 对应用程序来说就是一个标准的 POSIX 文件系统 – 无需移植。但对管理员来说，它就是一种汇集存储模式，它摒弃了过时的容量理念，同时也避免了相关的分区管理、分区分配和文件系统容量调整等问题。成千甚至上万的文件系统都可同时使用 ZFS 的共用存储池，并且每个文件系统都可根据需要恰到好处地占用一定空间。存储池中所有设备的 I/O 带宽组合对任一文件系统都始终可用。 &lt;br /&gt;
&lt;br /&gt;
ZFS 也是唯一一个对所有数据都执行端对端 64 位校验和以防止无记载数据崩溃的文件系统。它在读取任何数据时都将检验其校验和，从而保证了应用程序更新的数据就是返回的数据。&lt;br /&gt;
&lt;br /&gt;
==使用ZFS的十条理由==&lt;br /&gt;
1. 再也不需要fsck, scandisk&lt;br /&gt;
&lt;br /&gt;
不管你是在用Linux，UNIX还是Windows，相信大家都有过类似的体会：当系统意外断电或者非法关机，系统重起后发现文件系统有inconsistent的问题，这时 候就需要fsck或者scandisk 来修复，这段时间是非常耗时而且最后不一定能够修复成功。更糟糕的是，如果这是一台服务器需要做fsck的时候，只能offline（下线），而且现有应用往往都是大硬盘，相应fsck修 复时间也很长，这对许多使用该服务器的用户来说几乎不能忍受的。而使用ZFS后大家可以彻底抛弃fsck这种工具，因为ZFS是一个基于COW（Copy on Write）机制的文件系统。COW是不会对硬盘上现有的文件进行重写，保证所有硬盘上的文件都是有效的。所以不会有这种inconsistent的概念，自然就不需要这种工具了。&lt;br /&gt;
&lt;br /&gt;
2. 管理简单&lt;br /&gt;
&lt;br /&gt;
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加入新的硬盘就可以了：&lt;br /&gt;
&lt;br /&gt;
zpool add zfs_pool mirror c4t0d0 c5t0d0&lt;br /&gt;
&lt;br /&gt;
基于这个动态调节的ZFS Pool之上的所有的文件系统就可以立即使用到这个新的硬盘，并且会自动的选择最优化的参数。&lt;br /&gt;
&lt;br /&gt;
而且ZFS同时也提供图形化的管理界面，下面是一个ZFS图形化管理的一个截屏：&lt;br /&gt;
&lt;br /&gt;
3. 没有任何容量限制&lt;br /&gt;
&lt;br /&gt;
ZFS（Zettabyte File System）文件系统就如其名字所预示，可以提供真正的海量存储，在现实中几乎不可能遇到容量问题。在现有的64位kernel（内 核）下，它可以容纳达到16 Exabytes(264)大小的单个文件，可以使用264个存储设备，可以创建264个文件系统。&lt;br /&gt;
&lt;br /&gt;
4. 完全保证 数据 的正确和完整&lt;br /&gt;
&lt;br /&gt;
由于ZFS所有的数据操作都是基 于Transaction（事务），一组相应的操作会被ZFS解 析为一个事务操作，事务的操作就代表着一组操作要么一起失败，要么一起成功。而且如前所说，ZFS对 所有的操作是基于COW（Copy on Write）， 从而保证设备上的数 据始终都是有效的，再也不会因为系统崩溃或者意外掉电导致数据文件的inconsistent。&lt;br /&gt;
&lt;br /&gt;
还有一种潜在威胁 数据的可能是来自于硬件设备的问题，比如磁 盘，RAID卡的硬件问题或者驱动bug。现有文件系统通常遇到这个问题，往往只是简单的把错误数据直接交给上层应用，通常我们把这个问题称作Silent Data Corruption。而在ZFS中，对所有数据不管是用户数据还是文件系统自身的metadata数 据都进行256位的Checksum（校 验），当ZFS在提交数据时会进行校验，彻底杜绝这种Silent Data Corruption情况。&lt;br /&gt;
&lt;br /&gt;
5. 提供优异 性能和扩展性&lt;br /&gt;
&lt;br /&gt;
和传统File System + Volume Manager + Storage架构不同，ZFS则是直接基于存储设备提供所有的功能，因此有自己独有的创新特性，性能自然非比寻常。&lt;br /&gt;
&lt;br /&gt;
* Dynamic Striping vs. Static Striping &lt;br /&gt;
&lt;br /&gt;
由于ZFS是基于COW和一个全局动态的ZFS Pool，任何一次写 操作，都是对一块新数据块（Block）的一次写操作。ZFS从ZFS Pool中动态挑选出一个最优的设备，并且以一个transaction（事 务）线性写入，充分有效地利用了现有设备的带宽，我们把这个特性称为Dynamic Striping。而相对应的Static Striping则是传统文件系统所使用的方式，Static Striping需要管理员预先对这组Stripe进行正确地计算人为 设置，而且如果加入新的设备则需要再次人为的计算和设置，更为严重的是如果人为计算错误，则会直接影响系统的性能。而在使用Dynamic Striping这种特性之后，我们根本不需要人为介入，ZFS会自动调整，智能的为你 提供最佳的设备，最快的操作方式。&lt;br /&gt;
&lt;br /&gt;
* 支持多种 大小的数据块（Multiple Block Size） &lt;br /&gt;
&lt;br /&gt;
ZFS支持多种大小的数据块定义，从512字节到1M字节。和传统文件系统往往都是固定大小数据块不同，ZFS则是可以动态的根据不同 大小的文件进行计算，动态的选择最佳的数据块。&lt;br /&gt;
&lt;br /&gt;
因为不同大小数据 块，直接影响到实际使用硬盘容量和读取速度。如果使用较小的数据块，存储文件所导致的碎片则较少，读写小文件更快一些，但是会导致需要创建更多的metadata，读写大文件则会更费时。如果使用较大的数据块，使用的metadata较少，更利于读写大文件，但是会导致更多的碎片。ZFS根据实际调查现有文件使 用的情况，分析出一个选择数据块大小的算法，动态的根据实际文件大小确定最佳的数据块。所以ZFS是 非常智能的，在不需要系统管理员介入，就可以得到一个自我调优的结果。当然ZFS也支持用户对单个文件或者整个文件系统 所使用的数据块大小的自定义设置。&lt;br /&gt;
&lt;br /&gt;
* 智能预读取（Intelligent Prefetch） &lt;br /&gt;
&lt;br /&gt;
多数的操作系统都 有这种将数据预先读取的功能，而ZFS则是建立在文件系统上直接提供的一种更加智能的数据预读取功能。它不仅可以智能地识别出多种读取模式， 进 行提前读取数据，而且可以对每个读取数据流进行这种预读取智能识别，这个对许多流媒体提供者来说是件非常好的事情。&lt;br /&gt;
&lt;br /&gt;
在扩展性上，和现有文件系统多是基于一个受限的静态模型不同，ZFS是采用ZFS Pool这个动态概念，它的metadata也是动态，并且读写操作都是可并行的，并且具有优先级概念，所以即使在大数据量，多设备的情况下仍可以保证性能的线性增长。&lt;br /&gt;
&lt;br /&gt;
6. 自我修复功能&lt;br /&gt;
&lt;br /&gt;
* ZFS Mirror 和 RAID-Z &lt;br /&gt;
&lt;br /&gt;
传统的硬盘Mirror及RAID 4，RAID 5阵列方式都会遇到前面提到过的问题：Silent Data Corruption。如果发生了某块硬盘物理问题导致数据错误，现有的Mirror，包括RAID 4，RAID 5阵列会默默地把这个错误数据提交给上层应用。如果这个错误发生在Metadata中，则会直接导致系统的Panic。 而且还有一种更为严重的情况是：在RAID 4和RAID 5阵列中，如果系统正在计算Parity数值，并再次写入新数据和新Parity值的时候发生断电，那么整个阵列的所有存储的数据都毫无意义了。&lt;br /&gt;
&lt;br /&gt;
在ZFS中则提出了相对应的ZFS Mirror和RAID-Z方式，它在负责读取数据的时候会自动和256位校验码进行校验，会主动发现这种Silent Data Corruption，然后通过相应的Mirror硬 盘或者通过RAID-Z阵列中其他硬盘得到正确的数据返回给上层应用，并且同时自动修复原硬盘的Data Corruption 。&lt;br /&gt;
&lt;br /&gt;
* Fault Manager&lt;br /&gt;
&lt;br /&gt;
在Solaris 10中，包含 一个ZFS诊断引擎和Solaris的 Fault Manager（这也是Solaris 10的 另一个新特性）交互，可以实时地诊断分析并且报告ZFS Pool和存储设备的错误，用户可以通过Fault Manager及时得到一个非常友善的消息。这个诊断引擎虽然不会采取主动的行为去修复或者解决 问题，但是会在消息中提示系统管理员可采取的动作。类似下面一个ZFS报错消息，其中REC-ACTION就是建议采取的动作：&lt;br /&gt;
&lt;br /&gt;
SUNW-MSG-ID: ZFS-8000-D3, TYPE: Fault, VER: 1, SEVERITY: Major&lt;br /&gt;
&lt;br /&gt;
EVENT-TIME: Fri Mar 10 11:09:06 MST 2006&lt;br /&gt;
&lt;br /&gt;
PLATFORM: SUNW,Ultra-60, CSN: -, HOSTNAME: neo&lt;br /&gt;
&lt;br /&gt;
SOURCE: zfs-diagnosis, REV: 1.0&lt;br /&gt;
&lt;br /&gt;
EVENT-ID: b55ee13b-cd74-4dff-8aff-ad575c372ef8&lt;br /&gt;
&lt;br /&gt;
DESC: A ZFS device failed. Refer to http://sun.com/msg/ZFS-8000-D3 for more information.&lt;br /&gt;
&lt;br /&gt;
AUTO-RESPONSE: No automated response will occur.&lt;br /&gt;
&lt;br /&gt;
IMPACT: Fault tolerance of the pool maybe compromised.&lt;br /&gt;
&lt;br /&gt;
REC-ACTION: Run ’zpool status -x’ and replace the bad device.&lt;br /&gt;
&lt;br /&gt;
7. 安全&lt;br /&gt;
&lt;br /&gt;
在安全上，ZFS支持类似NT风格NFSv4版的ACL（读取控制列表）。而且前面所提到的256位验证码，用户可选择多种验证方式，包括SHA-256验证算法，从而在物理存储单元级别上保证数据的安全性。&lt;br /&gt;
&lt;br /&gt;
8. 超强功能&lt;br /&gt;
&lt;br /&gt;
ZFS作为“最后一个文件系统”，涵盖了基本的文件系统和Volume管理的功能，同时 一并提供许多企业级别的超强功能：Quota(配额)，Reservation(预留), Compression(压 缩)， Snapshot(快照)，Clone（克隆）。并且速度非常快。有了这个文件系统，大家再也不需要任何Volume Manager了。&lt;br /&gt;
&lt;br /&gt;
9. 兼容性&lt;br /&gt;
&lt;br /&gt;
ZFS是一个完全兼容POSIX规范的文件系统，所以处于上层的应用程序是完全不受影响。ZFS也提供一个Emulated Volume模块，可以把任何一个ZFS文件系统作为普通的块设备使用。同时ZFS也可以使用基于Volume Manager构建的Volume作为存储设备单 元。这样在不需要修改应用程序，不修改已有文件系统下，给了大家最大的自由度去获得ZFS提供的各 种特性。&lt;br /&gt;
&lt;br /&gt;
10. 开源&lt;br /&gt;
&lt;br /&gt;
ZFS是Sun Microsystems公 司作为OpenSolaris的一个开源项目运作并且完全免费使用，点击这里(http://www.opensolaris.org/os/community/zfs/source/) 可以直接浏览到ZFS的代码。 这就代表着我们不仅同时可以享受商业公司的高质量，也可以获得开源模式的优点。&lt;br /&gt;
&lt;br /&gt;
(来源: [http://blog.gceclub.sun.com.cn/index.php?op=ViewArticle&amp;amp;articleId=1320&amp;amp;blogId=503 老饿鱼的地盘])&lt;br /&gt;
&lt;br /&gt;
虽然目前只有Solaris支持该文件系统，但是这种开源的模式必定会促进更多基于ZFS的应用。现在已经有国外开发者正在将ZFS移植到Linux和Mac OS上来。如果想要体验一下ZFS，由于目前它和Solaris 10绑定在一起，所以需要下载最新版的[http://www.sun.com/software/solaris/get.jsp Solaris 10 6/06] 。&lt;br /&gt;
Em416r  &amp;lt;a href=&amp;quot;http://cskabqnldrtf.com/&amp;quot;&amp;gt;cskabqnldrtf&amp;lt;/a&amp;gt;, [url=http://oapfaphmivdc.com/]oapfaphmivdc[/url], [link=http://zcmjeqglqivf.com/]zcmjeqglqivf[/link], http://oxpmfwqbjmfl.com/&lt;br /&gt;
&lt;br /&gt;
==应用==&lt;br /&gt;
[[Nexenta]] Systems - ZFS-based software storage solutions&lt;br /&gt;
q4taDA  &amp;lt;a href=&amp;quot;http://amrqvxtgcswf.com/&amp;quot;&amp;gt;amrqvxtgcswf&amp;lt;/a&amp;gt;, [url=http://loaovpdjbhap.com/]loaovpdjbhap[/url], [link=http://ygaewplghevk.com/]ygaewplghevk[/link], http://azxtoghuoaxx.com/&lt;/div&gt;</summary>
		<author><name>60.217.249.11</name></author>	</entry>

	</feed>