ZFS存储池速度以及RAID说明
ZFS RAID介绍以及理论性能计算
·
文章目录
前言
RAID存储主要考虑以下6个指标:
- 读取IOPS
- 写入IOPS
- 连续读取速度
- 连续写入速度
- 存储空间效率(冗余校验后的可用容量与总原始容量之比)
- 容错能力(在数据丢失之前可以容忍的最大故障驱动器数量)
假设使用12个硬盘,每个硬盘的大小为6TB,100MB/s的连续读写速度,并且可以进行250次读写IOPS,来看不同RAID的理论性能。
1. STRIPED VDEV(RAID 0)
坏一个盘整个存储池就废掉。
性能示例:
属性 | N-wide striped | 12-wide striped |
---|---|---|
Read IOPS | N * 单个驱动器的读取IOPS | 3000 |
Write IOPS | N * 单个驱动器的写入IOPS | 3000 |
Streaming read speed | N * 单个驱动器的连续读取速度 | 1200 MB/s |
Streaming write speed | N * 单个驱动器的连续写入速度 | 1200 MB/s |
Storage space efficiency | 100% | 72 TB |
Fault tolerance | None | None |
2. MIRRORED VDEV (RAID 1)
1x 12-way mirror:
相当于12个硬盘组RAID1
6x 2-way mirror:
相当于 每2个硬盘组RAID1,然后再6个组RAID0。
每个VDEV可坏一个
但是一个VDEV坏2个就废掉
4x 3-way mirro:
相当于 每3个硬盘组RAID1,然后再4个组RAID0。
每个VDEV可坏2个
但是一个VDEV坏3个就废掉
性能示例:
属性 | N-way mirror | 1x 12-way mirror | 6x 2-way mirror | 4x 3-way mirror |
---|---|---|---|---|
Read IOPS | N * 单个驱动器的读取IOPS | 3000 | 3000 | 3000 |
Write IOPS | 单个驱动器的写入IOPS | 250 | 1500 | 1000 |
Streaming read speed | N * 单个驱动器的连续读取速度 | 1200 MB/s | 3000 MB/s | 3000 MB/s |
Streaming write speed | 单个驱动器的连续写入速度 | 100 MB/s | 1500 MB/s | 400 MB/s |
Storage space efficiency | 50% for 2-way, 33% for 3-way, 25% for 4-way, etc. [(N-1)/N] | 8.3% (6 TB) | 50% (36 TB) | 33% (24 TB) |
Fault tolerance | 1 disk per vdev for 2-way, 2 for 3-way, 3 for 4-way, etc. [N-1] | 11 | 每个vdev1个,总计6个 | 每个vdev2个,总计8个 |
3. RAIDZ VDEV
RAIDZ3:
每个VDEV可坏3个硬盘
RAIDZ2(RAID6):
每个VDEV可坏2个硬盘
RAIDZ1 (RAID5):
每个VDEV可坏1个硬盘
性能示例:
属性 | N-wide RAIDZ, parity level p | 1x 12-wide Z3 | 2x 6-wide Z2 | 4x 3-wide Z1 |
---|---|---|---|---|
Read IOPS | 单个驱动器的读取IOPS | 250 | 500 | 1000 |
Write IOPS | 单个驱动器的写入IOPS | 250 | 500 | 1000 |
Streaming read speed | (N - p) * 单个驱动器的连续读取速度 | 900 MB/s | 800 MB/s | 800 MB/s |
Streaming write speed | (N - p) * 单个驱动器的写入读取速度 | 900 MB/s | 800 MB/s | 800 MB/s |
Storage space efficiency | (N - p)/N | 75% (54 TB) | 66.7% (48 TB) | 66.7% (48 TB) |
Fault tolerance | 1 disk per vdev for Z1, 2 for Z2, 3 for Z3 [p] | 3 | 每个vdev2个,总计4个 | 每个vdev1个,总计4个 |
总结
只有RAID0这种可提升写IOPS!
参考
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献3条内容
所有评论(0)