[转帖]浅谈RAID写惩罚(Write Penalty)与IOPS计算_文字版

浅谈,raid,惩罚,write,penalty,iops,计算,文字版 · 浏览次数 : 0

小编点评

**RAID Write Penalty (写惩罚)** **原理** Write penalty是RAID保护级别计算中的一种技术,它用于计算存储器在写操作中需要进行的步骤数量。不同的RAID级别具有不同的写惩罚值,影响了数据写入的效率。 **RAID 5 Write Penalty** * RAID 5 中,由于需要计算校验位,写入过程比 RAID 1 和 10 更复杂。 * 每个磁盘上的数据需要进行两次写入:读取校验位和写入数据。 * RAID 5 的写惩罚值是 4,这意味着在写入过程中,存储器需要进行 4 次读取和 4 次写入操作。 **其他 RAID 级别 Write Penalty** | RAID级别 | Write Penalty | |---|---| | RAID-0 | 无 | | RAID-1 | 1 | | RAID-5 | 4 | | RAID-6 | 6 | **计算 IOPS** IOPS (iops) 是每秒可以处理的 IOPS(input/output per second)数量。 可用的 IOPS 计算公式如下: ``` 可用 IOPS = 总 IOPS × 可用率 × 写惩罚 ``` 其中: * **总 IOPS** 是物理磁盘的总 IOPS。 * **可用率** 是可用的 IOPS divided by 总 IOPS。 * **写惩罚** 是每个写入操作所需的步骤数量。 **示例** 假设一个 RAID-5 的物理磁盘提供 500 IOPS,可用率为 50%,写入操作所需的步骤数为 4。 可用 IOPS = 500 × 0.5 × 4 = 200 IOPS。 因此,实际可用的 IOPS 为 200 IOPS。

正文

https://www.cnblogs.com/IvanChen/p/4491984.html

 

介绍

   

     通常在讨论不同RAID保护类型的性能的时候,结论都会是RAID-1提供比较好的读写性能,RAID-5读性能不错,但是写入性能就不如RAID-1,RAID-6保护级别更高,但写性能相对更加差,RAID10是提供最好的性能和数据保护,不过成本最高等等。其实决定这些性能考虑的因素很简单,它就是RAID Write Penalty(写惩罚)。本文从原理上解释了不同RAID保护级别的写惩罚,以及通过写惩罚计算可用IOPS的方法。

更多信息

   

RAID-5 Write Penalty的例子:

   

     存储方案规划的过程中,最基本的考虑因素有两个,性能和容量。性能上的计算看可以分为IOPS和带宽需求。计算IOPS,抛开存储阵列的缓存和前端口不谈。计算后端物理磁盘的IOPS不能简单的把物理磁盘的最大IOPS相加而获得。原因是,对于不同的RAID级别,为了保证当有物理磁盘损坏的情况下可以恢复数据,数据写入的过程中都需要有一些特别的计算。比如对于RAID-5,条带上的任意磁盘上的数据改变,都会重新计算校验位。如下图所示,一个7+1的RAID-5的条带中,七个磁盘存储数据,最后一个磁盘存储校验位。

   

   

     对于一个数据的写入,我们假设在第五个磁盘上写入的数据为1111,如下图所示。那么整个RAID-5需要完成写入的过程分为以下几步:

   

   

  1. 读取原数据0110,然后与新的数据1111做XOR操作: 0110 XOR 1111 = 1001
  2. 读取原有的校验位0010
  3. 用第一步算出的数值与原校验位再做一次XOR操作: 0010 XOR 1001 = 1011
  4. 然后将1111新数据写入到数据磁盘,将第三步计算出来的新的校验位写入校验盘。

 

     由上述几个步骤可见,对于任何一次写入,在存储端,需要分别进行两次读+两次写,所以说RAID-5的Write Penalty的值是4。

 

   

不同RAID级别的Write Penalty:

   

下表列出了各种RAID级别的Write Penalty值:

   

RAID

Write Penalty

0

1

1

2

5

4

6

6

10

2

   

 

RAID-0直接的条带,数据每次写入对应物理磁盘上的一次写入

RAID-1和10:RAID-1 和RAID-10的写惩罚很简单理解,因为数据的镜像存在的,所以一次写入会有两次。

RAID-5RAID-5由于要计算校验位的机制存在,需要读数据、读校验位、写数据、写校验位四个步骤,所以RAID-5的写惩罚值是4。

RAID-6RAID-6由于有两个校验位的存在,与RAID-5相比,需要读取两次校验位和写入两次校验位,所以RAID-6的写惩罚值是6。

   

   

计算IOPS:

   

     根据上文的描述,在实际存储方案设计的过程中,计算实际可用IOPS的过程中必须纳入RAID的写惩罚计算。计算的公式如下:

 

物理磁盘总的IOPS = 物理磁盘的IOPS × 磁盘数目

   

可用的IOPS = (物理磁盘总的IOPS × 写百分比 ÷ RAID写惩罚) + (物理磁盘总的IOPS × 读百分比)

 

     假设组成RAID-5的物理磁盘总共可以提供500 IOPS,使用该存储的应用程序读写比例是50%/50%,那么对于前端主机而言,实际可用的IOPS是:

 

(500 ×50% ÷ 4)+ ( 500 * 50%) = 312.5 IOPS

 

具体不同应用程序的读写比例,可以参考:关于不同应用程序存储IO类型的描述

与[转帖]浅谈RAID写惩罚(Write Penalty)与IOPS计算_文字版相似的内容:

[转帖]浅谈RAID写惩罚(Write Penalty)与IOPS计算

介绍 通常在讨论不同RAID保护类型的性能的时候,结论都会是RAID-1提供比较好的读写性能,RAID-5读性能不错,但是写入性能就不如RAID-1,RAID-6保护级别更高,但写性能相对更加差,RAID10是提供最好的性能和数据保护,不过成本最高等等。其实决定这些性能考虑的因素很简单,它就是RAI

[转帖]浅谈RAID写惩罚(Write Penalty)与IOPS计算_文字版

https://www.cnblogs.com/IvanChen/p/4491984.html 介绍 通常在讨论不同RAID保护类型的性能的时候,结论都会是RAID-1提供比较好的读写性能,RAID-5读性能不错,但是写入性能就不如RAID-1,RAID-6保护级别更高,但写性能相对更加差,RAID

[转帖]浅谈RAID写惩罚(Write Penalty)与IOPS计算

https://www.dell.com/community/%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%E5%92%8C%E4%BF%9D%E6%8A%A4-%E8%B5%84%E6%96%99%E6%96%87%E6%A1%A3/%E6%B5%85%E8%B0%88

[转帖]10GB/s 存储方案设计测试:用PCIe 5.0单盘还是SSD RAID?

https://zhuanlan.zhihu.com/p/558884542 - 测试平台介绍 - M.2 NVMe SSD散热方案浅析 - Intel RST RAID的Write Back写缓存适用于SSD吗? - RAID 0、10读写带宽线性提升 - 选择软RAID还是硬RAID? - SL

[转帖]浅谈系统稳定性与高可用保障的几种思路

https://segmentfault.com/u/dewujishu 一、前言 高并发、高可用、高性能被称为互联网三高架构,这三者都是工程师和架构师在系统架构设计中必须考虑的因素之一。今天我们就来聊一聊三H中的高可用,也是我们常说的系统稳定性。 本篇文章只聊思路,没有太多的深入细节。阅读全文大概

[转帖]浅谈Armv8-A处理器

https://www.elecfans.com/emb/dsp/202208291886182.html 众所周知,ARM是一家设计并授权处理器和相应IP(比如互连总线,中断处理器,图像处理器等等)的公司,目前其处理器产品分为三类: Cortex-A系列:这个系列主要是应用(Application

[转帖]浅谈Redis大Key与热Key

https://www.cnblogs.com/jelly12345/p/16424080.html 如何定义大 Key 和 热 Key 如何定义大 Key 如何定义热 Key 大 Key 和 热 Key 产生的原因 大 Key 和 热 Key 有哪些危害 大 Key 的危害 热 Key 的危害 如

[转帖]浅谈redis采用不同内存分配器tcmalloc和jemalloc

http://www.kaotop.com/it/173669.html 我们知道Redis并没有自己实现内存池,没有在标准的系统内存分配器上再加上自己的东西。所以系统内存分配器的性能及碎片率会对Redis造成一些性能上的影响。 在Redis的 zmalloc.c 源码中,我们可以看到如下代码: ?

[转帖]张磊:浅谈容器网络

https://zhuanlan.zhihu.com/p/595014129 你好,我是张磊。今天我和你分享的主题是:浅谈容器网络。 在前面讲解容器基础时,我曾经提到过一个Linux容器能看见的“网络栈”,实际上是被隔离在它自己的Network Namespace当中的。 而所谓“网络栈”,就包括了

[转帖]tracert命令追踪IP地址浅谈

http://www.hkt4.com/news/922.html 摘要: 最近在知乎上看到一个问题:tracert国外的一些IP为什么明明很近却要绕地球好几圈?用tracert命令追踪路由,出现了相同的IP地址,是什么原因呢?很久以前,互联数据运维也接到过类似的问题。 最近在知乎上看到一个问题:t