条带化问题

[复制链接]
查看11 | 回复9 | 2007-9-26 18:42:10 | 显示全部楼层 |阅读模式
1。条带化大小,对OLTP来说,有没有经验值?
在OS层和存储层分别是多少?
2。头疼,听说HP的MCSG里面的VG在创建LV时不能条带化,是真的吗?
man lvcreate:
lvcreate cannot be performed if the volume group is activated in shared
mode.
Logical volumes that were created using the striped option are not
supported in shared mode.
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
条带容量(Stripe Size)是指在每个磁盘上连续写入数据的总量,也称作"条带深度"。你可以指定每个逻辑驱动器的条带容量从2KB,4KB,8KB一直到128KB。为了获得更高的性能,要选择条带的容量等于或小于操作系统的簇的大小。大容量的条带会产生更高的读取性能,尤其在读取连续数据的时候。而读取随机数据的时候,最好设定条带的容量小一点。如果指定128KB的条带将需要8MB内存。
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
最初由 benny80818 发布
[B]1。条带化大小,对OLTP来说,有没有经验值?
在OS层和存储层分别是多少?
2。头疼,听说HP的MCSG里面的VG在创建LV时不能条带化,是真的吗?
man lvcreate:
lvcreate cannot be performed if the volume group is activated in shared
mode.
Logical volumes that were created using the striped option are not
supported in shared mode. [/B]

说实话,没明白为什么在创建lv的时候条带化,我以前的概念是这样的:
1.阵列上的若干块盘做加入一个raid group,做raid,这个时候条带化;
2.raid group 划分成lun
3.lun对系统来说就是硬盘,将若干个lun加入一个vg
4.vg中创建lv
5.lv可以做成文件系统或裸设备
6.当然,对mcsg,通常是将lv做成raw device,
这是我的理解,不知道在vg中创建lv条带化是什么意思?望高人指点。帮顶
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
关注!
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
最初由 lenovosnb 发布
[B]
说实话,没明白为什么在创建lv的时候条带化,我以前的概念是这样的:
1.阵列上的若干块盘做加入一个raid group,做raid,这个时候条带化;
2.raid group 划分成lun
3.lun对系统来说就是硬盘,将若干个lun加入一个vg
4.vg中创建lv
5.lv可以做成文件系统或裸设备
6.当然,对mcsg,通常是将lv做成raw device,
这是我的理解,不知道在vg中创建lv条带化是什么意思?望高人指点。帮顶 [/B]

合到一块回答吧


1、对于使用raw device做为数据文件的系统,除aio要开的话,另外一个提升性能的方式就是作条带了。lenovosnb你用的可能是小阵列居多吧,所以你提到了lun。不管怎样要理解stripe的目的就是要使IO尽量分带在所有的磁盘上从而减少单个磁盘过忙这种情况的发生。
2、先不用考虑阵列在做raid及划pv时的优化,假定这方面已经做做好,在pv组成的vg中(假定包含8个pv)划分lv时如果不做stripe的话,就会出个一个lv只在一个pv(假定为pv1)上的状况,如果这个lv做的数据文件恰恰又最特别繁忙的lv那么pv1就会成为io的瓶颈,此时如果阵列层做的不好的话效果更糟。
3、stripe的大小我习惯用32k,oracle认为对于oltp系统越接近db_block_size越好一些,hp认为这样使LE数目过多影响性能,我认为差别不大,32k、64k是可以的,hp支持的大小最大可以到32M的,一般在做文件系统时可以取1M的stripe。
4、听说HP的MCSG里面的VG在创建LV时不能条带化这是不对的,我的系统就在用,不过对于以shared方式激活的vg手动调整cX是不生效的,建议配置autopath软件。
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
man lvcreate 是这样写的,不支持共享模式下条带化,
问了HP的工程师说也是这样的。
但实际上是有些这样做的案例。
可能有些HP的工程师没有注意过这个东西。
也不知道是否有什么其它的意思。
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
DS8000的存储,在存储层的IO分散情况不是太好,
一个array只能夸一部分物理磁盘(array site),
所以现在需要在OS层条带化LV。
HP的man lvcreate又是这样写的,搞不清了。
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
经过在aix上实际测试:
若使用 rawdevice ,在vg 中划分lv,应尽量分散在尽量多的pv 为适宜
若使用blockdevice(filesystem),应该合理划分lv(fs)的pv 分布,不同lv 分布在相同的pv 会造成读写阻塞严重影响性能。 这不是来自存储的极限,而是os 上读磁盘的访问导致。

当然,在linux上测试和aix 表现略有不同.

BTW:hrb_qiuyb 提到lun的概念就说小存储,不同存储的名词可能不一样,但都说的同一个东西罢了。 我们已经习惯了用lun来表达存储输出的设备单元,即使是 EMCDMX 3/HDS 9970/HDS USP 系列也混合在表述,大家明白就行了吧


回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
老大 又回来了 好久没有看到了
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
最初由 benny80818 发布
[B]man lvcreate 是这样写的,不支持共享模式下条带化,
问了HP的工程师说也是这样的。
但实际上是有些这样做的案例。
可能有些HP的工程师没有注意过这个东西。
也不知道是否有什么其它的意思。 [/B]

按如下的流程操作就可以了。
eg:
1、改vg为nocluster,noshared方式
vgchange -c n -S n /dev/vgdata1
2、以exclusive方式激活vg
vgchange -a y /dev/vgdata1
3、创建带stripe的lv
lvcreate -n ... -i 8 -I 32 -L 4096 /dev/vgdata1
....
4、变更vg回为cluster、shared
vgchange -a n /dev/vgdata1
vgchange -c y -S y /dev/vgdata1
5、export、import vg
vgexport...
在另外的node做vgimport
6、以shared方式激活
node1:
vgchange -a s /dev/vgdata1
node2:
vgchange -a s /dev/vgdata1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行