免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3392 | 回复: 0
打印 上一主题 下一主题

striping 条带化 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-07 10:35 |只看该作者 |倒序浏览


两种条带化方法的比较     
   
--------------------------------------------------------------------------------

传统的方法是使用lvcreate的-i/-I参数。具体的命令如:
#lvcreate –r N –i 4 –I 64 –n lvdata –L 1000 /dev/vgdata
这样就会生成一个LV,名为lvdata,大小1000M. 每隔64K数据就会跳到下一块硬盘,以4块硬盘为一循环。
每一个数据块的大小(stripe size)可以由4K到32MB. 基本上当系统的每一个IO很小时,可以选用较小的stripe size,原则是stripe size不能比单个IO的size小。 在实际使用情况中我发现不同的stripe size通常来说影响很小。
这种方法的优点是使用起来很简单,然而也存在明显的缺点。 用这种方式做了条带化之后,如果还需要扩充这个LV,如上例的情况就要求到少要有4个硬盘都有足够的剩余空间。 比如说将lvdata的容量扩充到2000M,则每个硬盘上要有250M的剩余空间。通常这可能不是一个问题。但我确实遇到过HP的工程师建立好LV后,代理又自行建了一些新的LV,没有采用条带化的参数,刚好将一块硬盘的空间完全用完。这样虽然另外三块硬盘还有很多空间,但是LV都不能再扩充了。最后只能再约停机时间将后加的LV数据备份出来重建。 即使是完全按照条带化的方式建立的LV,当这几块硬盘的空间使用完后需要加硬盘,则增加的硬盘必需是stripes的倍数。 如上例,是4的倍数,才能保证原有的LV可以扩充。
另外一种方法就是extend based striping。 不同于-i/-I的方式,这种条带化是基于PE的。即数据每写完一个PE后,跳到下一个硬盘。通常情况下一个PE大小为4MB.
这种方法在配置过程中稍麻烦一点,需要编辑/etc/lvmpvg文件。建立LV时会将数据分布在lvmpvg中列出的所有PV上。当空间用完之后,再加入两个以上的硬盘,就可以在新加的这几个硬盘上平均分布数据
如果你只能加一个PV,那么disable某个LV的extend base striping属性 (lvchange –D n),仍然可以扩充这个LV。
Extend based striping支持mirroring,而传统的-i/-I不行。在某些数据迁移的场合支持mirroring还是很有帮助的。
配置extend based striping方法如下:
1. 挑选合适的设备 (也就是对XP与VA等设备,通过哪一个控制器、IO端口来访问)
2. 编辑/etc/lvmpvg文件,对相应的VG建立一个PVG
# vi /etc/lvmpvg
VG /dev/vgdata
PVG pvganyname
/dev/dsk/c8t0d0
/dev/dsk/c10t0d1
/dev/dsk/c8t0d2
/dev/dsk/c10t0d3
3. 生成LV
# lvcreate –D y –s g –r N –L 1000 –n lvdata /dev/vgdata


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/35734/showart_376149.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP