ZFS存储池类型.docx

上传人:b****3 文档编号:5454385 上传时间:2022-12-16 格式:DOCX 页数:11 大小:369.74KB
下载 相关 举报
ZFS存储池类型.docx_第1页
第1页 / 共11页
ZFS存储池类型.docx_第2页
第2页 / 共11页
ZFS存储池类型.docx_第3页
第3页 / 共11页
ZFS存储池类型.docx_第4页
第4页 / 共11页
ZFS存储池类型.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

ZFS存储池类型.docx

《ZFS存储池类型.docx》由会员分享,可在线阅读,更多相关《ZFS存储池类型.docx(11页珍藏版)》请在冰豆网上搜索。

ZFS存储池类型.docx

ZFS存储池类型

ZFS存储池类型:

Stripe、Mirror、RAIDZ

使用ZFS卷管理器创建ZFS存储池时,可以指定存储池的结构(类型),更具体的说就是可以指定存储池所采用的软磁盘阵列的类型。

不同类型的磁盘阵列,面向不同的使用场景,性能和可靠性亦是各不相同。

下面列出了FreeNAS系统中可以设置的所有ZFS存储池类型,以及设置每一种磁盘阵列所要求的最少硬盘数。

∙Stripe:

与RAID0类似,传说中的带条,需要至少一块硬盘。

∙Mirror:

与RAID1类似,磁盘镜像,需要至少两块硬盘。

∙RAIDZ1:

与RAID5类似,一重奇偶校验,需要至少三块硬盘。

∙RAIDZ2:

与RAID6类似,双重奇偶校验,需要至少四块硬盘。

∙RAIDZ3:

三重奇偶校验,独门秘籍,需要至少五块硬盘。

∙logdevice(ZIL):

高速写缓存设备,需要至少一个专用的存储设备,推荐使用SSD固态硬盘。

∙cachedevice(L2ARC):

高速读缓存设备,需要至少一个专用的存储设备,推荐使用SSD固态硬盘。

除去logdevice(ZIL)和cachedevice(L2ARC)这两种专用高速缓存设备不谈,在这里列举一下其余类型的性能和可靠性对比。

性能对比

Stripe>Mirror

Stripe>RAIDZ1>RAIDZ2>RAIDZ3

数据可靠性

Mirror>Stripe

RAIDZ3>RAIDZ2>RAIDZ1>Stripe

SolarisZFS快照和克隆使用指南

zfs快照概述:

快照是文件系统或卷的只读副本。

快照几乎可以即时创建,而且最初不占用池中的其他磁盘空间。

但是,当活动数据集中的数据发生更改时,快照通过继续引用旧数据占用磁盘空间,从而阻止释放该空间。

ZFS快照具有以下特征:

■可在系统重新引导后存留下来。

■理论最大快照数是264。

■不使用单独的后备存储。

快照直接占用存储池(从中创建这些快照的文件系统所在的存储池)中的磁盘空间。

■递归快照可作为一个原子操作快速创建。

要么一起创建快照(一次创建所有快照),要么不创建任何快照。

原子快照操作的优点是始终在一个一致的时间捕获快照数据,即使跨后代文件系统也是如此。

无法直接访问卷的快照,但是可以对它们执行克隆、备份、回滚等操作。

创建快照:

这里系统默认使用的文件系统是ZFS而不是UFS:

创建一个文件系统:

向/u01下面写入一些数据:

以上将/platform下的所有文件复制到/u01下。

创建u01的快照:

快照创建成功。

使用快照进行恢复:

下面将/u01下的所有内容删除,然后使用快照恢复:

恢复成功。

创建ZFS克隆:

       要创建克隆,请使用zfsclone命令,指定从中创建克隆的快照以及新文件系统或卷的名称。

新文件系统或卷可以位于ZFS分层结构中的任意位置。

新数据集的类型(例如,文件系统或卷)与从中创建克隆的快照的类型相同。

不能在原始文件系统快照所在池以外的池中创建该文件系统的克隆。

创建u01的克隆:

迁移ZFS快照至其他主机:

这里要用到zfssend和zfsreceive命令。

zfssend命令创建写入标准输出的快照流表示。

缺省情况下,生成完整的流。

可以将输出重定向到文件或其他系统。

zfsreceive命令创建其内容在标准输入提供的流中指定的快照。

如果接收了完整的流,那么同时会创建一个新文件系统。

可通过这些命令来发送ZFS快照数据并接收ZFS快照数据和文件系统。

接收文件系统快照时,请牢记以下要点:

■将接收快照和文件系统。

■将取消挂载文件系统和所有后代文件系统。

■文件系统在接收期间不可访问。

■要接收的原始文件系统在传输期间必须不存在。

■如果文件系统名称存在冲突,可以使用zfsrename重命名文件系统。

发送和接受都成功。

删除快照以及zfs文件系统:

删除u01的快照时,系统提示rpool/u02是其快照的克隆版,所以加-R参数连同u02一起删除。

ZFS高速缓存:

L2ARC和ZIL

ZFS采用高速缓存来加速读写操作。

理想状态下,所有的缓存数据都应该存入内存中,但这样做太奢侈了。

因此,数据会自动的缓存在不同硬件上,以平衡性能和成本。

需要频繁访问的数据缓存在内存中,访问频繁程度略低的数据可以缓存在稍微慢一些的设备上,比如SSD固态硬盘。

不需要经常访问的数据则不做缓存,仍让它呆在硬盘中。

如果突发大量读旧数据,ZFS将自动将这些数据移动到SSD固态硬盘或内存中。

内存是采用ARC算法的第一级磁盘缓存,类似于CPU的一级缓存。

因为内存总是被用做缓存,所以这个第一级缓存是始终存在的。

常有说法认为必须为ZFS安装大量的内存,但这种说法并不准确,是对ARC高速缓存的一种误解。

ARC算法智能且高效,提供充足的内存用于ARC高速缓存,只是意味着几乎不需要直接访问硬盘。

举个最糟糕的例子,比如系统只安装了1GB内存,几乎就不会有ARC级别的缓存了,在这种情况下,ZFS则需要直接访问硬盘读取数据。

这也只是代表系统的读性能降低到与硬盘同速,但不会影响ZFS的正常使用。

SSD固态硬盘是第二级磁盘缓存,是可选的缓存,可以随时为运行中系统存储池添加这种类型的高速缓存,也可以随时移除。

第二级磁盘缓存共有两种类型,一种用于读缓存,另一种用于写缓存。

为读操作而生的高速缓存L2ARC

用SSD固态硬盘实现的读缓存被称为L2ARC,它类似于CPU的二级缓存。

如果整个Dedup表可以被缓存在L2ARC中,则 L2ARC也能大大加快重复数据删除。

数据完全充满L2ARC设备需要几个小时时间。

使用过程中,如果L2ARC设备被移除或损坏,读操作将会跳过L2ARC设备直接访问硬盘,虽然这时候读取的性能会下降,但不会造成数据损失。

为写操作而生的高速缓存ZIL

用SSD固态硬盘实现的读缓存被称为LogDevice(日志设备),主要用于ZIL(ZFSintentlog)缓存。

ZIL设备主要作用是切换同步写为异步写,一般用于NFS或数据库。

所有的数据像日志记录一样被写入到ZIL设备中,只有在读取后才会释放。

因此,ZIL中的数据通常不会被读取。

有时,ZIL会刷新ZFS存储池中的数据,这种操作被称为TransactionGroupCommit(事务组提交)。

如果没有为ZFS存储池提供独立的日志设备,系统将会使用ZFS存储池中的一部分空间用作ZIL写缓存,因此,每个ZFS存储池中都总是存在一个ZIL缓存。

需要特别注意的是,应该选择低延迟的硬件用作日志设备。

为了提升性能,应该选用由battery-backed内存组成的硬盘。

因为日志设备需要经常进行写操作,固态硬盘会随着写入操作的增多变得越来越慢,内存型磁盘就不会出现这种情况。

如果日志设备被移除或损坏,最近写入NAS服务器的数据都有可能丢失,因此,应该先对SSD固态硬盘做RAID镜像后再用于日志设备。

L2ARC和ZIL只是ZFS文件系统所支持功能中的一小部分,想要更好的挖掘FreeNAS系统的潜力,首先要了解ZFS文件系统,欢迎阅读我们编写的另外一篇文章《玩转FreeNAS你需要了解ZFS文件系统》。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1