ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 关于硬件及软件实现条带化的问题

关于硬件及软件实现条带化的问题

原创 Linux操作系统 作者:tolywang 时间:2010-07-12 18:09:09 0 删除 编辑
-----------------------------------------------------------------------------------------------------------------------

条带化(Striping):是把连续的数据分割成相同大小的数据块,把每段数据分别写入到阵列中的不同磁盘
上的方法,比单个磁盘所能提供的速度要快很多,由于现在存储技术成熟,大多数系统都采用条带化来实
现系统的I/O负载分担,如果OS有LVM软件或者硬件条带设备,决定因素是条带深度(stripe depth)和条带
宽度(stripe width):
条带深度: 指的是条带的大小,也叫做条带单元。
条带宽度: 指的是条带深度的产量或者一个条带几种的驱动数。


系统对IO的要求及IO的并发不同,条带大小的设置也不一样。例如在高并发度且IO请求的大小都比较小的
情况下(如OLTP), 需要考虑比较大的条带深度,使条带深度大于IO大小就称为粗粒度条带,在高并发度
系统中,条带深度为 n*db_block_size, 其中n为大于1的整数。粗粒度条带能实现最大的吞吐量(一次物
理IO可以响应多个并发的逻辑IO),大的条带深度(大小)能够使像全表扫描那样的多数据块操作由一个磁盘
驱动来响应,提高多数据块读操作的性能。  

在并发度低的DSS系统中,IO请求相对序列化,为避免出现热点磁盘,需要避免逻辑IO只由一块磁盘处理。
这时候粗粒度条带就不适合了。这时需要选择小的条带大小(深度),使一个逻辑IO分布在多个磁盘上,实现
IO负载均衡,这就是细粒度条带,大小 n*db_block_size , n为小于多数据块读参数db_file_multiblock_
read_count 大小的整数 。

在OLTP系统中,为了避免一个逻辑IO请求由多个物理IO操作完成,条带宽度需要设置为2倍或以上Oracle
数据块的大小。 不过,无论如何,我们需要保证:  条带宽度 >= IO请求的大小/条带深度 。

-----------------------------------------------------------------------------------------------------------------------


问题

1.  大多数情况下,硬件条带设备是否是指RAID ?    LVM 逻辑卷管理也可以单独实现硬件条带化之外的条带化 ?
还是说必须要有硬件条带化的协助 。

2.  让系统管理员在我们的EMC CX-480 设备中查找条带大小设置的参数,他说是默认的,然后找出一个值
element size ,   128 ,  是否代表的是条带深度(大小)  ?  其他硬件设备比如HP EVA4000等是否参数名称又
不一样 ?  

3.  在并发度高且IO请求小的情况下,需要考虑比较大的条带深度(大小),使条带深度大于IO大小(粗粒度条带),
粗粒度条带能实现最大的吞吐量(一次物理IO可以响应多个并发的逻辑IO),大的条带深度(大小)能够使像全表扫描
那样的多数据块操作由一个磁盘驱动来响应,提高多数据块读操作的性能。   不太理解红色部分的意思。  一个磁盘
驱动指的是“一个物理的磁盘驱动器”?   条带深度大于IO大小,一次物理IO可以响应多个并发的逻辑IO 如何理解
?

并发的不同的IO请求分布在不同磁盘驱动器上应该会更快吧  ?




原文参考  http://www.docin.com/p-61309597.html

[ 本帖最后由 tolywang 于 2010-7-12 18:08 编辑 ]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/35489/viewspace-667835/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    14695548