如何设置RAID条带宽度和条带深度(纯文字,不喜勿进)
在RAID中可能比较懂,但是深入一点,就RAID0而言,影响其速度的因素有哪些呢?希望这篇文章可以帮助大家!
条带(strip)是把连续的数据分割成相同大小的数据块,把每段数据分别写入到阵列中的不同磁盘上的方法。简单的说,条带是一种将多个磁盘驱动器合并为一个卷的方法。 许多情况下,这是通过硬件控制器来完成的。
当多个进程同时访问一个磁盘时,可能会出现磁盘冲突。大多数磁盘系统都对访问次数(每秒的 I/O 操作,IOPS)和数据传输率(每秒传输的数据量,TPS)有限制。当达到这些限制时,后面需要访问磁盘的进程就需要等待,这时就是所谓的磁盘冲突。避免磁盘冲突是优化 I/O 性能的一个重要目标,而 I/O 性能的优化与其他资源(如CPU和内存)的优化有着很大的区别 ,I/O 优化最有效的手段是将 I/O 最大限度的进行平衡。
条带化技术 就是一种自动的将 I/O 的负载均衡到多个物理磁盘上的技术,条带化技术就是将一块连续的数据分成很多小部分并把它们分别存储到不同磁盘上去。这就能使多个进程同时访问数据的多个不同部分而不会造成磁盘冲突,而且在需要对这种数据进行顺序访问的时候可以获得最大程度上的 I/O 并行能力,从而获得非常好的性能。由于条带化在 I/O 性能问题上的优越表现,以致于在应用系统所在的计算环境中的多个层次或平台都涉及到了条带化的技术,如操作系统和存储系统这两个层次中都可能使用条带化技术。
条带化后,条带卷所能提供的速度比单个盘所能提供的速度要快很多,由于现在存储技术成熟,大多数系统都采用条带化来实现系统的I/O负载分担,如果OS有LVM软件或者硬件条带设备,决定因素是条带深度(stripe depth)和条带宽度(stripe width)。
条带深度:指的是条带的大小,也叫条带大小。有时也被叫做block size, chunk size, stripe length 或者 granularity。 这个参数指的是写在每块磁盘上的条带数据块的大小。RAID的数据块大小一般在2KB到512KB之间(或者更大),其数值是2的次方,即2KB,4KB,8KB,16KB这样。
条带大小对性能的影响比条带宽度难以量化的多。
减小条带大小: 由于条带大小减小了,则文件被分成了更多个,更小的数据块。这些数据块会被分散到更多的硬盘上存储,因此提高了传输的性能,但是由于要多次寻找不同的数据块,磁盘定位的性能就下降了。
增加条带大小: 与减小条带大小相反,会降低传输性能,提高定位性能。
根据上边的论述,我们会发现根据不同的应用类型,不同的性能需求,不同驱动器的不同特点(如SSD硬盘),不存在一个普遍适用的"最佳条带大小"。所以这也是存储厂家,文件系统编写者允许我们自己定义条带大小的原因。
条带宽度:是指同时可以并发读或写的条带数量。 这个数量等于RAID中的物理硬盘数量。例如一个经过条带化的,具有4块物理硬盘的阵列的条带宽度就是4。增加条带宽度,可以增加阵列的读写性能。道理很明显,增加更多的硬盘,也就增加了可以同时并发读或写的条带数量。在其他条件一样的前提下,一个由8块18G硬盘组成的阵列相比一个由4块36G硬盘组成的阵列具有更高的传输性能。
在操作系统的层次中,我们可以使用软件条带(如 LVM 中 LV 的条带来实现条带化技术)或硬件条带(如各种 RAID)。在存储系统层次中,目前市场上绝大部分产品都提供了各种各样的条带技术(如各种 RAID)。
条带化的设置
当使用 LVM 或者硬件条带化时,决定条带化效果的因素是条带深度(stripe depth)和条带宽度(stripe width):
条带深度指的是条带块的大小,也叫条带单元;
条带宽度指的是条带深度的产量或者一个条带分布的驱动数;
需要根据系统的 I/O 要求来合理的选择这些设置。对于数据库系统来说,比较合理的条带深度是从 256K 到 1M 。下面分析一下条带深度和条带宽度的影响因素。
条带深度
为了提高 I/O 效率,一次逻辑 I/O 请求转化成物理 I/O 请求后,应该让这些物理 I/O 分布到最多的物理磁盘上去,也就是每个物理磁盘处理的物理 I/O 最少,最好只有一次 , 因而影响条带的一个重要因素就是一次逻辑 I/O 请求的大小。
此外,系统中 I/O 的并发度不同我们对条带的配置要求也不同。例如,在高并发度且逻辑 I/O 请求的大小都比较小的情况下,我们希望一块磁盘能同时响应多个 I/O 请求;而在那些存在大的逻辑 I/O 请求的低并发度系统中,我们可能就需要多块磁盘同时响应一个 I/O 请求。无论是一个磁盘还是多个磁盘响应 I/O 请求,我们的一个原则是让一次逻辑 I/O 能被物理设备一次处理完成。
条带宽度
正如我们前面所述,无论是一个还是多个磁盘响应一个逻辑 I/O,我们都希望物理设备只处理一次 I/O 。因而在确定了条带深度的基础上,我们需要保证条带宽度 >= I/O 请求的大小 / 条带深度。这样就能最大程度的保证 I/O 请求的并发处理能力了。
此外,考虑到以后系统容量的扩充,我们也需要规划好条带宽度。
在 DB2 中合理规划和设置条带相关参数
下面先看下影响 I/O 性能 DB2 数据库的相关参数:
页大小(page size):DB2 中的数据页大小,也决定了 DB2 一次单个 I/O 请求中的数据块的大小;
阅读大小(prefetch size):在预取读时,一次读取数据块的数量不能大于操作系统的最大 I/O 大小(oracle 中是参数 block size);
排序堆(sortheap)和排序堆阈值(sheapthres) :内存中 sort 区域的大小,也决定了并发排序操作时的 I/O 大小;
其中,前面两个是最关键的两个参数。
DB2 的数据页大小是在创建数据库的时候指定的,并且不能被动态的修改。它决定了在 DB2 中所有的表空间默认的页大小。但是我们在创建每个表空间的时候还可以根据数据存储的需要单独指定页的大小。
在 OLTP 系统中,会存在大量小的并发的 I/O 请求。这时就需要考虑选择比较大的条带深度。使条带深度大于 I/O 大小就称为粗粒度条带(Coarse Grain Striping)。在高并行度系统中,条带深度为(n * page size),其中 n 为大于 1 的整数。通过粗粒度条带能实现最大的 I/O 吞吐量(一次物理 I/O 可以同时响应多个并发的逻辑 I/O)。大的条带深度能够使像全表扫描那样的预取读操作由一个磁盘驱动来响应,并提高预取读操作的性能。在 OLTP 系统中,为了避免一个逻辑 I/O 请求被多个物理 I/O 操作完成,条带深度就需要设置为两倍或者两倍以上于 DB2 页大小。例如,如果条带深度是物理 I/O 大小的 N 倍,对于大量并发 I/O 请求,我们可以保证最少有(N-1)/ N 的请求是由一块磁盘来完成。
在低并发度的 DSS 系统中,由于 I/O 请求一般是序列化的,为了避免出现 I/O 集中的热点磁盘,我们需要避免逻辑 I/O 只有一块磁盘处理。这时粗粒度条带就不适合了。我们应该选择小的条带深度,使一个逻辑 I/O 分布到多个磁盘上,从而实现 I/O 的负载均衡。这就叫细粒度条带。条带深度的大小必须为(n * page size),其中 n 为小于预取参数(prefetch size)大小的整数。
预取大小也是对条带化有影响的一个重要参数,它决定了 DB2 异步 I/O 的基本单位。首先我们要知道 DB2 的预取(prefetching)I/O 机制,在数据库普遍存在着大量、连续的 I/O 时候,预取可以极大的提高数据库数据读取的 I/O 性能(例如 DSS 系统)。
得体的衣柜最少要多少条领带?
一个得体的衣柜最少要有多少条领带?
这个问题在一个很难注册的外国中老年同性团购交友论坛上被讨论了七页。
一开始,大家的讨论还算不偏题了,有说三到五条够用的,又有说六到十二条的;到后来,便分成了两派:
一派说自己的领带永远不够用,领带自然越多越好;
另一派则指责说你们的领带之中,喜欢且常用的只有百分之二十不到,不如将剩下的悉数捐给慈善机构。
我虽然也觉得领带似乎是越多越好,然而也不支持一蹴而就。悉知我的读者们很多都处于衣橱建设阶段,我决定讲一讲我自己对minimal tie wardrobe(最小领结衣柜) 的理解。
1
暗红色真丝领带
如果读者中有人想要一辈子只拥有一条领带 ,那我只能推荐暗红色纯色的真丝领带。
这条领带能搭配一切西服出席从面试到酒宴的一切商务场合,而且纯色领带在你是实习生的时候显得踏实稳重,在你进入管理层的时候又能显得你大气庄重。
在颜色方面,深蓝色领带能勉强胜任,但也会限制穿大部分蓝色系西服;纯黑色领带在葬礼上更稳妥,但是在其他场合却显得格格不入。由此看来,一生只拥有一条领带的话,则非暗红色领带莫属。
2
宽条领带
然而只靠一条领带未免显得过于拮据,一旦要连续两天打领带,那么一条领带显然是不够用的。我对第二条领带的首选是block stripe,宽条领带。
两种颜色交替的宽条是这种领带的主题。宽条领带:简单沉稳,可以dress up又可以dress down ,颜色的选择上还能表达出一点点审美偏好。
3
印花领带
如果再加一条的话,我的另一个选择是——ancient madder。
Ancient madder领带颜色古朴,手感特殊,图案大多是由腰果花,几何图案甚至小物件构成。
Ancient madder的颜色和花纹可以含蓄也可以比起block stripe更加休闲,用作第三条领带正好与第一条纯色领带互相补缺。
4
纱罗领带
在前三条领带的基础上,第四条领带的余裕可以给生活习惯或者审美偏好提供些许的表达空间。 所以我推荐:Grenadine(沙罗)领带
Grenadine是一种用丝质纱线纺织成的领带,既可以织成纯色,也可以织上条纹或图案。特殊的质地使grenadine的垂坠有一种特殊的魅力,而远看不张扬的近看别出心裁的特点又让grenadine能搭配西服和单上衣。
5
山东丝领带
第五条领带我会选择shantung, 山东丝。与同样质地丰富的花呢领带不同,山东丝硬挺却轻薄,大多会被织成纯色或条纹。 可以胜任oxford或麻衬衫,也能搭配高支twill,粗糙的表面配合单宁衬衫,更是别有趣味。
五条领带能够维持一周每天都打不同的领带,在颜色选择合适的前提下,也能够搭配绝大多数套装与单上衣。在交替使用的情况下,五条领带虽然也会起皱,但只要稍加休息熨烫,便能完好如初。
今天就说到这里,诸位读者想看什么关于男装的内容,都可以在公众号留言。
Until next time,
have fun and enjoy wearing your tie.
相关问答
三块硬盘可否组建RAID0?-ZOL问答RAID0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能。RAID0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就...