- 1、本文档共112页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
ZFS源代码剖析
作者 :casualfish
主页 :/causalfish
新浪微博 :@casualfish
(转载请保留此部分内容)
1. ZFS简介
1.1 ZFS发展史
ZFS是由SUN公司的Jeff Bonwick和Matthew Ahrens大神于2001年领导设计开发 ,并
在2004年2月14日发布的集合了文件系统处理逻辑和卷管理器功能的文件系统。ZFS的全
70
拼是Zettabyte File System ,Zetta是一个数量单位 ,1ZB 2 字节 ,而1ZB 1024EB
1048576 PB ,而facebook目前最大的单个HDFS集群中存储了100PB的log数据。当然单台服务
器不可能也不会存储这么多数据 ,这从一个侧面说明了zfs的存储容量从实际使用中来说是没有
上限的。zfs不是类似于hdfs的分布式文件系统或者lustre之类的集群文件系统 ,通常可以用来作
HDFS和lustre的后端存储文件系统使用。
SUN公司从2008年开始组织并支持开源open solaris项目,ZFS是其中一个重要的组成部分 ,
随着oracle公司收购了sun ,并于2010年停止了open solaris的开发工作 ,原先的ZFS核心开发者
们也逐步的离开了oracle ,他们中的一部份人继续着ZFS的开发 ,参与或者组成了Joyent、
Nexenta、Delphix等以opensolaris或ZFS为蓝本的公司 ,他们的oracle个人blog也随着离开
oracle停止更新或者无法访问 ,而open solaris的社区也将在2013年3月24日关闭 ,届时我们将
失去学习一个学习目前最为先进的商业操作系统的途径 ,这也是促使我完成 《zfs源代码剖析》
系列的原因,作为软件设计中的一项杰作 ,ZFS值得我们深入的学习,包括它斟酌权衡的设计
,令人赞叹的细节实现和追求完美的态度 ,在接下来的文章中将为各位读者一一说明和展现。
1.2 ZFS特性
ZFS作为一个划时代的文件系统 ,被移植到了多个OS平台上 ,它具有的特性主要如下 :
1. 接近于无限的存储空间 ZFS针对若干磁盘组成的集合抽象出了zpool的概念 ,而文件系统则是
活动的 ,每个文件系统实例可以从zpool中分配空间 ,zpool的大小可以动态变化 ,在空间不足
的时候可以动态添加磁盘 ,在空间充足的时候也可以通过移动数据的办法抽调出磁盘。ZFS的
48 48
一些理论极限如下 :对于任意ZFS文件系统实例 ,支持2 个快照 ,支持2 个文件 ,单个文件系
64
统实例最大16EB ,单个文件最大16EB ,单个zpool最大128ZB ,每个zpool最多支持2 个设备等
等。
2.COW事务模型 COW是Copy On Write的缩写 ,是指在对数据进行修改时并不是直接原地修改
,而是拷贝一份新的与修改的内容合并。使用COW的一个例子就是Unix的fork函数实现 ,通常
fork的过程中子进程需要拷贝父进程的页表等虚拟内存信息 ,而如果子进程对拷贝的页表修改较
少这样的拷贝工作就会带来额外的负担 ,因此fork的时候子进程不拷贝父进程的页表等信息 ,而
是与其父进程共享 ,在修改的时候拷贝出一份新的进行修改 ,在此处COW的主要功能是减少额
外的copy带来的负担。对于文件系统而言 ,COW是实现快照等功能的基础 ,通过保留每个快照
的时刻的数据而重定向新修改的数据 ,可以保证快照时刻的完整数据。对于通常的文件系统 ,
例如ext3/4 ,xfs等 ,写入是modify in place的
您可能关注的文档
- 城市轨道交通供电系统施工组织模式探讨.pdf
- 城镇居民参加企业职工基本养老保险政策宣传问答.doc
- 基于51单片机的时间温度显示系统.pdf
- 基于Cluster观测对地球磁尾电流片磁场分布的初步统计分析_戎昭金.pdf
- 基于iOS的休闲娱乐移动互联应用的设计与实现PPT.ppt
- 基于Matlab的时间序列分析和动态数据建模.pdf
- 基于SARIMA模型的我国季度GDP时间序列分析与预测.pdf
- 基于SWOT分析的电子竞技体育产业发展战略研究.pdf
- 基于_钻石_模型理论的东营石油装备制造业发展对策研究.pdf
- (第四章 第一节上课用)政治经济学(课件).ppt
- 2023年某市七里河区抗旱应急预案41模板.pptx
- 2023年某人民医院重点环节应急管理及应急预案39模板.pptx
- 2023年房地产估价师《房地产开发经营与管理》考考试历年考题专家甄选版带答案4.docx
- 2023年某石厂安全生产综合应急预案34模板.pptx
- GB 50060-2008 3~110kV高压配电装置设计规范.pdf
- 2023年某校园安全应急预案26模板.pptx
- 2023年湖南省建筑施工企业安管人员安全员C3证综合类考试历年考题专家甄选版带答案3.docx
- 2023年湖南省建筑施工企业安管人员安全员A证主要负责人考试历年考题专家甄选版带答案5.docx
- 第三章设置幻灯片背景和填充颜色.pdf
- 2023年纳米改性塑料的应用分析.pptx
文档评论(0)