Sun发布Solaris ZFS-全球最先进的文档系统
Solaris 10 OS最新升级版包括Solaris ZFS 1.0文档系统
提供了端到端的数据完整性,重新定义缩放能力,大大降低数据管理成本
(2006年5月25日讯) Sun Microsystems公司发布了一个具有革命性的新的文档系统Solaris ZFS
1.0,它提供了多项突破性的功能,包括公共管理任务的自动化、保护数据免受非法行为的侵害,以及提供实际上无限的缩放能力。Solaris ZFS
1.0将作为我们这个星球上最先进的操作系统Solaris 10
OS的下一个商业版本的一个组成部分在今年6月份对外正式提供。此外,Solaris 10 OS的最新版本Solaris 10
6/06将先进的前摄性自愈技术和联网技术,与对PostgreSQL开源数据库的全面支持结合起来,进一步强化了Solaris 10
OS作为宿主高性能的关键数据库解决方案的首选平台的地位。
作为世界上最先进的文档系统,Solaris ZFS可以自动检测和修改细小的数据错误或遭遇意外侵害的数据,以提供信息的完整性。Solaris
ZFS还因为不需要卷宗管理器而大大简化了数据的管理,而卷宗管理器是今天数据管理事务中最耗时、最费钱的部分。例如,今天,一项典型的系统管理任务可能
需要40多分钟来完成,但是采用Solaris
ZFS,仅仅需要几秒钟的时间,且没有系统宕机的危险,从而大大降低了数据管理的成本费用。此外,Solaris
ZFS还是世界上第一个128位的文档系统,这使系统具有了实际上无限的数据容量。Solaris
ZFS提供的先进的缩放能力和管理能力,使它成为许许多多传统UNIX?文档系统的理想替代品。
Solaris是宿主高性能数据库的杰出平台。最近,Oracle指名Solaris 10
OS作为其开源64位开发和部署环境的理想平台。现在,Sun还将开源PostgreSQL数据库集成在Solaris 10
OS的最新版本内,对PostgreSQL数据库提供全面支持。Sun与PostgreSQL社团开展合作,让他们采用Solaris 10
OS提供的各种先进技术,如前摄性自愈技术、Solaris分区特性和Solaris动态跟踪能力(DTrace)等。
“面对不断增长的依顺性要求,今天的数据量每9~12个月就要翻番,但今天的文档系统还植根在上世纪70年代的技术之中,”Sun公司主管系统软件部的
副总裁Tom Goguen说,“Solaris
ZFS从设计之初就是要迎接今天数据管理的挑战,它的预期寿命是20~30年。这一128位的文档系统所能存储的自愈数据是今天已有文档系统的160亿
倍,同时还大大简化了卷宗的管理。Solaris ZFS将是今年内发布的最重要的创新技术之一。”
Solaris
10是我们这个星球上最先进的操作系统,它可在650多款SPARC和x64/x86平台上运行,获得来自独立软件厂商的2,200多种应用程序的支持。
其无与伦比的功能性和硬件平台的支持,加上它所提供的行业唯一的应用兼容性保证,加快了Solaris 10
OS在全球的应用步伐,目前Solaris 10 OS的注册许可数已超过450万。
具有革命性的新的文档系统技术
Solaris ZFS 1.0具有任何其他商用文档系统技术所无法匹敌的优异性能。客户可以从Solaris ZFS技术中享用到先进的数据完整性技术、使用和管理的简易性、难以置信的高性能,以及实际上无限的缩放能力。
-
端到端的数据完整性――
基于校验和与事务性写入复制(copy-on-write)机制的突破性的结合,Solaris
ZFS可提供满足CIO和系统管理员要求的数据准确性。Solaris
ZFS拥有先进的错误检测机制,能识别被损坏的数据,并将之在运行中修改过来。例如,镜像的一侧被意外地重写,ZFS可以对之检测、修补和恢复,且完全不
干扰服务的进行。
-
简化的管理――Solaris
ZFS提供了一种基于共享的架构模式,使所有的共享数据和功能纳入虚拟内存管理。Solaris
ZFS文档系统可以自动地增长或收缩,而无需占据额外存储空间的卷宗管理器。Solaris
ZFS还提供了在任何时间点上对文档系统进行瞬间快照的能力,这就大大节约了一般系统管理员手工恢复文档所花费的时间和资源。
-
性能的巨大提升――Solaris
ZFS的架构设计有助于提高速度。写入复制的设计可将随意写入转变为快速连续写入。其输入/输出(I/O)带宽在有数据存储时可自动加大。无论工作量如
何,多种字区尺寸会自动做出最佳配合。智能化的预取感式读取可加快运行速度。而且,它的高级的、可扩展的I/O子系统设计采用了记分板式的流水线操作和依
赖性时序安排,同样提供了极大的性能提升。
-
无限的数据容量――Solaris ZFS是世界上第一个128位文档系统,具有实际上无限的数据容量。
Solaris 10 OS是Solaris Enterprise System的组成部分。Solaris Enterprise
System还包括Sun Java Enterprise System (Java ES)、Sun N1 System
Manager软件和Sun Studio Software
Developer工具,这些软件都可免费提供用于开发和部署。正是具有这么多软件,使Solaris Enterprise
System成为今天可采用的唯一的综合性开放架构的软件平台。欲了解更多的相关信息或得到相关新闻稿件,请访问http:
//www.sun.com/aboutsun/media/presskits/networkcomputing06q2。
Sun公司简介
一个独具特色的理念――“网络就是计算机”,指引着Sun各项技术的发展,为全球各个重要的市场增添活力。Sun共享创新和创建社团的思想体系处于新
一代网络计算-参与时代-的最前沿。Sun的足迹遍及全球100多个国家和地区,其互联网的网址为http://www.sun.com。Sun公司的中
文网址为http://www.sun.com.cn。
ZFS是第一个128位的文件系统,同时ZFS又被Sun
Microsystems称作史上最后一个文件系统。因为这个文件系统含有多项创新技术,不仅成功地解决现有文件系统的问题和陋习,而且前瞻性地考量了未
来对存储空间的需求,单个文件系统可以达到256 quadrillion(264) Zettabytes(221)。
ZFS不仅符合POSIX文件系统的标准,而且提供了许多高级功能比如:Quota(配额),Reservation(预留),
Compression(压缩),
Snapshot(快照),Clone(克隆)等。如果你还在坚持使用现有32位或者64位的文件系统,如果你还在“痛并不快乐着”地用着各式各样的
Volume Manager,那就很值得看看这里列出的使用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同时也提供图形化的管理界面,下面是一个ZFS图形化管理的一个截屏:
[attachment=2119]
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的一个开源项目运作并且完全免费使用,点击这里(http://www.opensolaris.org/os/community/zfs/source/) 可以直接浏览到ZFS的代码。 这就代表着我们不仅同时可以享受商业公司的高质量,也可以获得开源模式的优点。
虽然目前只有Solaris支持该文件系统,但是这种开源的模式必定会促进更多基于ZFS的应用。现在已经有国外开发者正在将ZFS移植到Linux和
Mac OS上来。如果想要体验一下ZFS,由于目前它和Solaris 10绑定在一起,所以需要下载最新版的Solaris 10 6/06 (http://www.sun.com/software/solaris/get.jsp)。
参考:
Solaris ZFS Administration Guide: http://docs.sun.com/app/docs/doc/819-5461?l=zh&q=ZFS
Solaris 10 Zone FAQ: http://www.sun.com/software/solaris/faqs/zfs.xml
Automatic Performance Tuning in the Zettabyte File System: http://tesla.hpl.hp.com/self-manage03/Finals/henson-self-tune.pdf
posted on 2006-10-30 10:19
wqwqwqwqwq 阅读(1494)
评论(0) 编辑 收藏 所属分类:
SUN Tech