全球主机交流论坛

标题: [硬核]ZFS阵列全等级性能对比 [打印本页]

作者: CloudRaft    时间: 2020-5-4 16:53
标题: [硬核]ZFS阵列全等级性能对比
本帖最后由 CloudRaft 于 2020-5-4 16:58 编辑

其实想整理这篇文章已经很久了,但是一直懒的动笔,今天终于下定决心来写一下了,整理了网上一些比较权威的实测数据,帮助各位mjj选择ZFS的阵列等级。

原文:https://www.liujason.com/article/743.html

实测数据太长了,有兴趣的mjj到原文里展开折叠即可看到各种实测数据,包含HDD SSD x 2~24盘位的阵列情况,以及开启压缩前后的数据
这边也直接放结论吧:
  1. #数据是否完全不重要(如游戏文件丢了重新下载即可)
  2. 完全不重要: 啥都别说直接Striped(RAID0)
  3. 重要: 继续下一个问题

  4. #有多少块磁盘?
  5. 1:      1块没有组阵列的意义
  6. 2:      ZFS Mirror (RAID1)
  7. 3-5:    RAIDZ1 (RAID5)
  8. 6-10:   推荐RAIDZ1 x 2 (RAID50)或 在阵列总容量较小的条件下使用RAIDZ2(RAID6)
  9. 10-15:  推荐RAIDZ1 x 3(RAID50)或 在阵列总容量较小的条件下使用RAIDZ3(RAID7)
  10. 16-20:  推荐RAIDZ1 x 4(RAID50)
复制代码


前言
ZFS被称为是世界上最后一个存储系统(emm),还有人说”完全填充ZFS的128位存储池所需的能量,实际上比煮沸海洋需要的更多”。不论是从扩展性还是从性能上讲ZFS都有着独特的优势,在用了几年ZFS之后,现在已经离不开这个文件系统了。
其实想整理这篇文章已经很久了,但是一直懒的动笔,今天终于下定决心来写一下了,整理了网上一些比较权威的实测数据,同时也从原理上来讲讲到底如何选择ZFS的阵列等级。

ZFS简介
以下内容直接摘抄自维基百科

ZFS是一个拥有逻辑卷管理功能的文件系统,最早源自于Oracle为Solaris操作系统开发的文件系统。ZFS具有可扩展性,并且包括大量保护措施防止数据损坏,支持高存储容量、高效数据压缩、集成文件系统、卷管理、快照和写时复制、连续完整性检查与自动修复、RAID-Z、原生NFSv4 ACL等功能,并且能被精确配置。ZFS有两个主要实现,分别来自Oracle和OpenZFS,它们之间极度相似,这使得ZFS在类Unix系统中广泛可用。


ZFS的特性


点击展开详情

不同等级Level的ZFS阵列
在谈论RAID阵列的时候,最常被问到的问题是:“哪个等级的阵列是最好的?”实际上没有最好的选择,如何选择完全取决于想要实现的特性和愿意放弃的特性。 实际上我们最应该问自己的问题是:“我们的数据有多重要?”
不管是ZFS阵列还是常规的RAID阵列,都有三个非常重要的指标:性能、容量以及数据完整性(Performance, capacity and data integrity),脱离了任何一个指标的阵列都是无意义的。

但是对于不同盘位下的推荐ZFS等级,可以参考一下这个:
点击展开

ZFS与RAID阵列等级划分
我们经常把ZFS阵列和RAID阵列的各个等级划等号,这里给尚不了解RAID阵列的同学补个课
点击展开

ZFS不同磁盘数量 x 阵列等级下的性能对比
这里我们会给出性能实测,并在测试结果前面列出磁盘数量,RAID类型,容量和性能指标,以便于比较。速度显示“ w”表示写入,“ rw”表示重写,“ r”表示读取,吞吐量以兆字节/秒为单位。
下表是不同ZFS阵列等级在未压缩的条件下测速结果。 数据来源CALOMEL
机械硬盘阵列 点击展开
固态硬盘阵列 点击展开

题外话-关于压缩
ZFS使用最大为1024 KB的可变大小的块。如果启用了数据压缩(LZJB或LZ4),则使用可变块大小。如果可以压缩一个块以使其适合较小的块大小,则可以在磁盘上使用较小的大小以使用较少的存储并提高IO吞吐量,但代价是增加了用于压缩和解压缩操作的CPU使用量。

未压缩与启用压缩的性能比较
根据上面的数据可以看到随着物理磁盘数量的增加,压缩对性能的影响较小。 实际上,通过lz4压缩算法,在RAIDZ(等价RAID5)中使用三个磁盘就可以最大程度地提高读写速度。 因此建议是对所有阵列启用压缩,因为开启后节省的IO性能远远超过增加的一点点CPU使用率,并且可以压缩数据以节省空间。
作者: b66667777    时间: 2020-5-4 16:54
路过帮顶  
作者: 快乐风男    时间: 2020-5-4 17:03
点击展开?
作者: CloudRaft    时间: 2020-5-4 17:20
快乐风男 发表于 2020-5-4 17:03
点击展开?

太长了,有兴趣可以回源站看看,没兴趣的话就忽略好了
主要是给有需求的mjj选择阵列等级用的
作者: 无神通    时间: 2020-5-4 17:22
随机性能没有测啊
作者: inkedus    时间: 2020-5-4 17:23
路过帮顶,紫薯布丁


作者: kuk    时间: 2020-5-4 17:27
ZFS还有去重实用功能,不过重复文件越多内存占用也多
作者: vayne    时间: 2020-5-4 17:29
楼主辛苦了
作者: ddc998    时间: 2020-5-4 18:07
那么哪里能够买到尼?



/**
* 一少妇给情人打电话,你过来时,把车子停在我老公车位上,留个电话在上面,写上挪车请打电话。两个小时后,情人的电话果然响了:你好,你的车子停在我的车位上,麻烦你挪一下。又学一招,段友们! 很多东西是活到老,学到老的,而且这些知识都是书本上没有,老师不教的。
* */
作者: 012    时间: 2020-5-4 18:09
MJJ论坛这里你的展开看不来,我去来源学习一下~
作者: CloudRaft    时间: 2020-5-4 20:25
ddc998 发表于 2020-5-4 18:07
那么哪里能够买到尼?

现在各大发行版都支持ZFS了,所以直接装就行了,网上搜索一堆教程
比如这个 https://www.liujason.com/article/474.html
作者: ddc998    时间: 2020-5-4 20:39
CloudRaft 发表于 2020-5-4 20:25
现在各大发行版都支持ZFS了,所以直接装就行了,网上搜索一堆教程
比如这个 https://www.liujason.com/ar ...

装?软阵列?阵列卡比不上他吗
作者: CloudRaft    时间: 2020-5-4 20:52
ddc998 发表于 2020-5-4 20:39
装?软阵列?阵列卡比不上他吗

是软阵列,和硬件卡其实各有优劣,主要还是看实际应用。
阵列卡通常缓存是512M或者是1G的,高端卡可能会更多一些。但是ZFS的缓存可以没有上限的加,比如我们的存储节点就是96G内存做缓存。配合LZ4压缩算法后,缓存内随机写可以稳定在10万IOPS,96G的缓存对于随机写来说完全足够了。而阵列卡的缓存有限,这种情况下性能远不及ZFS。
作者: mean    时间: 2020-5-4 21:06
吃内存....
作者: 蓝色幽影    时间: 2020-5-4 21:10
点了半天展不开,引流石锤
作者: CloudRaft    时间: 2020-5-5 16:08
蓝色幽影 发表于 2020-5-4 21:10
点了半天展不开,引流石锤

展开实在太长了,loc这边帖子也不知道如何能折叠...




欢迎光临 全球主机交流论坛 (https://443502.xyz/) Powered by Discuz! X3.4