前言
使用ZFS已经有两年多了,一直很好奇ZFS的不同阵列之间的读写性能差别到底有多大?普通的Raid阵列中,不同的阵列等级的性能基本上都可以直接换算出来,但是ZFS的性能因为多了内存缓存等因素,实际使用中的差异到底有多大就需要实测一下了。
直接划到文末看结果!
Raid等级概述
RAID0或stripe条带化阵列
没有冗余,但是可提供最佳性能和附加存储。任何驱动器故障都会破坏整个阵列,因此RAID 0根本不安全。如果您需要非常快的暂存空间来进行视频编辑,那么RAID0会很好。
RAID1或mirror镜像
只是在阵列中的每个驱动器上镜像相同的数据。这是极好的冗余,因为您可能会丢失除一个驱动器之外的所有驱动器,并且仍然可以访问数据。肯定的是,阵列中添加的每个驱动器都会提高RAID读取速度。最大的缺点是容量低和写入速度慢。无论团队中有多少驱动器,您都可以使用单个驱动器的总容量。由于每个驱动器都会获得相同文件的完整副本,因此速度会降低。镜像通常用于两个驱动器,而不是像我们的测试中那样用于12和24的驱动器,因为存在大量的浪费空间。
RAID 2,RAID 3和RAID 4
未经过测试,因为IT行业不再使用它们。 Raid2使用相同数量的磁盘作为专用ECC驱动器。团队3和团队4使用单个专用的奇偶校验驱动器。由于可怕的随机读取和写入性能,这些袭击都不再用于生产。
RAID5或RAIDZ
会与数据一起分发奇偶校验,并且在RAID失败之前可能会丢失一个物理驱动器。因为需要计算奇偶校验,所以RAID 5比RAID0慢,但是RAID 5更安全。 RAID 5至少需要三个硬盘,其中一个完整磁盘空间用于奇偶校验。
RAID6或RAIDZ2
会与数据一起分配奇偶校验,并且可能会丢失两个物理驱动器,而不是像RAID 5那样仅丢失一个物理驱动器。因为需要计算更多的奇偶校验,所以RAID6比RAID5慢,但是RAID6更安全。 RAIDz2至少需要四个磁盘,并且将使用两个磁盘空间进行奇偶校验。
RAID7或RAIDZ3
就像RAID 5和6一样分配奇偶校验,但是RAID7会丢失三个物理驱动器。由于需要计算三重奇偶校验,因此RAID 7比RAID5和RAID 6慢,但是RAID 7是三个中最安全的。 RAIDz3至少需要四个磁盘,但应与至少五个磁盘一起使用,其中三个磁盘空间用于奇偶校验。
RAID10或RAID1 0
是数据的镜像和条带化。最简单的RAID10阵列有四个磁盘,由两对镜像组成。磁盘1和2是镜像,磁盘3和4分别是另一个镜像。然后,在两个镜像之间对数据进行条带化(考虑RAID0)。您可以在每个镜像中丢失一个驱动器,并且数据仍然安全。您不能丢失组成一个镜像的两个驱动器,例如,驱动器1和2不能同时丢失。突袭10的优点是读取数据的速度很快。缺点是写入速度慢(多个镜像)并且容量低。
RAID60或RAID6 0
是两个或更多RAID6卷的条带。您将获得RAID6安全性(每个RAID6阵列丢失两个驱动器)和RAID0条带化读取速度的优势。底片与RAID10相同。
RAID70或RAID7 0
是两个或更多RAID7卷的条带。就像RAID6一样,您可以利用RAID7安全性和RAID0条带化读取速度,但会失去容量。
实测情况
ZFS不同阵列等级磁盘容量和读写速度跑分 (这里的速度单位均是MB每秒) 1x 4TB, single drive, 3.7 TB, w=108MB/s , rw=50MB/s , r=204MB/s 2x 4TB, mirror (raid1), 3.7 TB, w=106MB/s , rw=50MB/s , r=488MB/s 2x 4TB, stripe (raid0), 7.5 TB, w=237MB/s , rw=73MB/s , r=434MB/s 3x 4TB, mirror (raid1), 3.7 TB, w=106MB/s , rw=49MB/s , r=589MB/s 3x 4TB, stripe (raid0), 11.3 TB, w=392MB/s , rw=86MB/s , r=474MB/s 3x 4TB, raidz1 (raid5), 7.5 TB, w=225MB/s , rw=56MB/s , r=619MB/s 4x 4TB, 2 striped mirrors, 7.5 TB, w=226MB/s , rw=53MB/s , r=644MB/s 4x 4TB, raidz2 (raid6), 7.5 TB, w=204MB/s , rw=54MB/s , r=183MB/s 5x 4TB, raidz1 (raid5), 15.0 TB, w=469MB/s , rw=79MB/s , r=598MB/s 5x 4TB, raidz3 (raid7), 7.5 TB, w=116MB/s , rw=45MB/s , r=493MB/s 6x 4TB, 3 striped mirrors, 11.3 TB, w=389MB/s , rw=60MB/s , r=655MB/s 6x 4TB, raidz2 (raid6), 15.0 TB, w=429MB/s , rw=71MB/s , r=488MB/s 10x 4TB, 2 striped 5x raidz, 30.1 TB, w=675MB/s , rw=109MB/s , r=1012MB/s 11x 4TB, raidz3 (raid7), 30.2 TB, w=552MB/s , rw=103MB/s , r=963MB/s 12x 4TB, 6 striped mirrors, 22.6 TB, w=643MB/s , rw=83MB/s , r=962MB/s 12x 4TB, 2 striped 6x raidz2, 30.1 TB, w=638MB/s , rw=105MB/s , r=990MB/s 12x 4TB, raidz (raid5), 41.3 TB, w=689MB/s , rw=118MB/s , r=993MB/s 12x 4TB, raidz2 (raid6), 37.4 TB, w=317MB/s , rw=98MB/s , r=1065MB/s 12x 4TB, raidz3 (raid7), 33.6 TB, w=452MB/s , rw=105MB/s , r=840MB/s 22x 4TB, 2 striped 11x raidz3, 60.4 TB, w=567MB/s , rw=162MB/s , r=1139MB/s 23x 4TB, raidz3 (raid7), 74.9 TB, w=440MB/s , rw=157MB/s , r=1146MB/s 24x 4TB, 12 striped mirrors, 45.2 TB, w=696MB/s , rw=144MB/s , r=898MB/s 24x 4TB, raidz (raid5), 86.4 TB, w=567MB/s , rw=198MB/s , r=1304MB/s 24x 4TB, raidz2 (raid6), 82.0 TB, w=434MB/s , rw=189MB/s , r=1063MB/s 24x 4TB, raidz3 (raid7), 78.1 TB, w=405MB/s , rw=180MB/s , r=1117MB/s 24x 4TB, striped raid0, 90.4 TB, w=692MB/s , rw=260MB/s , r=1377MB/s