分类: 服务器与存储
2011-10-05 18:05:19
ZFS文件系统介绍和挂载
作者:文子 撰写日期:2011-09-28
博客链接:http://biwenjuan.blog.163.com/blog
一、ZFS文件系统介绍
1.1 简介
ZFS文件系统的英文名称为Zettabyte File System,也叫动态文件系统(Dynamic File System),是第一个128位文件系统。最初是由Sun公司为Solaris 10操作系统开发的文件系统。作为OpenSolaris开源计划的一部分,ZFS于2005年11月发布,被Sun称为是终极文件系统。2010年ZFS已经能成功移植到linux平台下,内核版本高的linux系统能支持zfs文件系统。
1.2 ZFS特点
存储池:ZFS 用“存储池”的概念来管理物理存储空间。ZFS 完全抛弃了“卷管理”,不再创建虚拟的卷,而是把所有设备集中到一个存储池中来进行管理!存储池描述了存储的物理特征(设备的布局,数据的冗余等等),并扮演一个能够创建文件系统的专门存储空间。从此,文件系统不再局限于单独的物理设备,而且文件系统还允许物理设备把他们自带的那些文件系统共享到这个池中。你也不再需要预先规划好文件系统的大小,因为文件系统可以在池的空间内自动的增大。当增加新的存贮介质时,所有池中的所有文件系统能立即使用新增的空间,而不需要而外的操作。在很多情况下,存储池扮演了一个虚拟内存。
图一、图二显示了传统文件系统和ZFS的区别,传统文件系统采用卷管理的方式,磁盘管理比较受限制。ZFS采用虚拟池的概念来管理,一个虚拟池可跨越多个磁盘并且对用户透明,这样使得容量可以得到扩增,数据共享更为方便,并且可以跨磁盘访问。
大容量:一般的文件系统设计使用64bit,能够支持16EB的数据,随着数据量的急剧膨胀这个容量已经不能满足当前需求。ZFS构造了一个128bit的文件系统,这就意味着存储1800亿倍于当前64bit文件系统的数据。如果每秒钟能创建1000个新文件,达到ZFS文件系统极限需要大约9000年。
写时复制:ZFS采用写时复制模型来进行快照,当写入数据时,含有活动数据的块从不被覆盖,而是分配一个新块,并把修改过的数据写在新块上。所有与该块相关的数据都被重新读分配和写。
二、挂载ZFS系统步骤
2.1 软件和硬件要求及建议
Solaris 10 6/06 发行版或更高版本的 SPARCTM 或 x86 系统。
最小磁盘空间为 128 MB。用于存储池所需的最小磁盘空间量约为 64 MB。
目前,建议用于安装 Solaris 系统的最小内存量为 512 MB,建议至少使用 1 GB 或更多内存。如果创建镜像磁盘配置,建议使用多个控制器。
2.2 创建基本ZFS文件系统
以下示例说明如何通过一个命令同时创建名为 tank 的非冗余存储池和名为 tank 的 ZFS 文件系统。假定整个磁盘 /dev/dsk/c1t0d0 可供使用。
# zpool create tank c1t0d0
注:此命令将创建一个非冗余池。新 ZFS 文件系统 tank 可根据需要使用 c1t0d0 中任意大小的磁盘空间,并会自动挂载在 /tank 中。
# mkfile 100m /tank/foo
# df -h /tank
以下示例说明如何在存储池 tank 中创建名为 fs 的文件系统。假定整个磁盘 /dev/dsk/c1t0d0 可供使用。
# zpool create tank mirror c1t0d0 c2t0d0
# zfs create tank/fs
新 ZFS 文件系统 tank/fs 可根据需要使用 c1t0d0 中任意大小的磁盘空间,并会自动挂载在 /tank/fs 中。
# mkfile 100m /tank/fs/foo
# df -h /tank/fs
# zpool create tank mirror c1t0d0 c1t1d0
创建池。例如,创建名为 tank 的镜像池。
# zpool list
使用 zpool list 命令可以确定是否已成功创建池
# zfs create tank/home
在池 tank 中的 home 文件系统下对各文件系统进行分组。
# zfs set mountpoint=/export/zfs tank/home
# zfs set sharenfs=on tank/home
# zfs set compression=on tank/home
# zfs get compression tank/home
ZFS文件系统挂载图
zfs on opensolaris
三、总结
ZFS是全新的文件系统给,以其大容量,高效管理等诸多特点得到了越来越多人的关注,由最初的solaris平台扩展到多个平台,得到了越来越好的发展,但其一致性和碎片仍是影响其性能的因素需要更多的研究完善其性能。
参考文献:The Zettabyte File system,Jeff Bonwick,Matt Ahrens