开始新对话

未解决

此帖子已超过 5 年

W

3453

2013年8月20日 22:00

请问串联MetaLUN的创建过程对同一raid group的其他lun性能会有影响吗

我的设备是CX4-240,其中有4个lun,都在同一个raid group里。两个lun(lun1和lun2)分配给测试主机,另外两个lun(lun3和lun4)分配给生产主机。每天晚上,我会把生产主机lun3上的数据拷贝到lun4上作为备份。拷贝的速度大概是70mb/s,耗时约1小时45分钟

昨天晚上9点,开始执行生产主机挂接lun的拷贝数据例行操作。此时看拷贝速度正常,保持在70mb/s左右。大概在10点20的时候,由于搭建环境的需要,我对测试主机的两个lun执行了metalun的操作,采用的是expand wizard,除了在选择metalun方式那里选了串联以外,其他设置按照默认进行。metalun很快创建好了,并且也能正常被测试主机识别。但是我发现此时生产主机的lun数据拷贝的速度变慢了,只有40mb/s.

整个拷贝过程完成共耗时2小时20分钟,明显比平时长。此后没有其他大的io操作,所以没有新的准确的测试数据了,但能感觉到IO速度确实比平时慢

今天上午上班后,我对生产主机进行持续观察,生产主机上面跑的数据库和应用基本速度和平时差不多,似乎又恢复正常了

我的问题是

1。串联方式建立metalun不是对性能没有影响吗,为什么出现上面的情况?拷贝前后除了做metalun,对存储没有做其他任何操作

2.有没有这种可能,就是串联建立metalun的方式虽然不像条带化那样对性能影响明显,但其实还是有影响的,虽然在前台新的metalun已经可用了,但在后台还是在执行某些操作,需要一段时间,等这些操作完成后,存储性能就恢复正常。

3。论坛里关于metalun的文档,曾说到“Component LUN来自已划分有一般Flare LUNRAID group时,必须保证Component LUN来自不同的RAID group” 但我以前听到的说法是建立metalun的最好来自不同的raid group。这里是“必须”还是“最好?”那如果只能来自同一个raid group呢,对性能有影响吗?

4 如果我在这个metalun上作大IO读写的操作,和以前独立的两个lun相比,对同一raid group的其他lun的性能影响,有明显区别吗

40 消息

2013年8月20日 23:00

感谢回复,那第1-2个问题呢

3.2K 消息

2013年8月20日 23:00

I/O类型做个适当的规划也可以避免这样的情况出现,如果一个LUN能跨越更多的硬盘在某些性能方面应该更好。

1.8K 消息

2013年8月20日 23:00

针对第3:

MetaLUN可以由相同的RAID group组成,也可以由不同RAID类型或不同数量硬盘的RAID group组成通常不建议对不同RAID类型的LUNMetaLUN,因为不同RAID类型读写性能不同,会影响整个MetaLUN性能

第4:应该是没有明显影响的。

1.8K 消息

2013年8月21日 00:00

针对第1个问题,说在做串联的过程中,其他LUN性能下降。

我觉得是否是 新建metalun的时候新增空间的寻址位的时候有性能消耗,同时系统变更LUN信息的时候有开销?

这个有待论证。

40 消息

2013年8月21日 00:00

做串联这个动作很快就完成了,但是对其他lun的影响持续了较长时间。是不是意味着像楼上所说的那些工作依然在后台进行。即使表面上metalun已经创建完成了

4K 消息

2013年8月21日 00:00

Concatenated (串联的) MetaLUN做完后空间是当即可用的,理论上应该没有其他后台任务在工作(想像不出空间都可用了还有哪种重要任务需要跑?)。如果有条件重现问题的话,建议操作前开一下Analyzer收集一下性能日志,分析一下SP Utilization、Disk或LUN的IOPS/Bandwidth等等哪里有什么异常。

从获得最佳性能角度来讲,确实可以说"必须“,甚至所有的component LUN都来自不同的RAID Group可以获得最好的性能(没有任何"disk contention"硬盘争用的可能)。如果因为环境限制没有办法做到,或者仅仅是测试环境不需要这么严格的,base LUN和component LUN都放在一个RG也能满足某些人的需求。

如果对MetaLUN做大I/O操作,如果是Striped (条带的),那肯定有影响,但这个MetaLUN的性能提升了;如果是Concatenanted (串联),那影响不会有明显区别(甚至没区别,因为串联的MetaLUN本身不会有性能提升)。在此我们假定你的应用有能力模拟相同的workload到MetaLUN和两个独立的LUN......。

1.1K 消息

2013年8月21日 04:00

metaLUN的创建和扩展有许多建议性的准测,(此处省略一万字),其中一条是在刚创建的时候尽量把它分散到不同的RAID group去,也就是每个RG分别提供一个且只有一个component LUN和base LUN(注意他们是在不同的metaLUN里面的)。此处建议你把LUN1和LUN2放到不同的RG中。这样可以在不同的RG之间分散I/O。这种方式叫做LUN的水平条带化。

与此相反的就是叫做垂直条带化的方式,也就是你用的方式,把所有的base LUN都放在同一个RG中。这是要尽力避免的方式。通常这会导致这个RG中的某一块或几块磁盘上面出现很高的utilization。此外,当在这个RG里面有很大的I/O或者顺序读写操作进行的时候,这些操作会发送许多I/O请求到非常分散的物理磁盘区域去,每个请求都会导致很高的磁盘寻道,最终造成每个LUN的响应时间大大增加,正常的I/O请求受到影响。例如:你的LUN3和LUN4上面的复制,而且影响会一直持续下去。

如果在你拷贝慢的时候,用iostat来分析很可能会遇到这个帖子里面类似的情况:iostat 测试出存储的性能问题。建议你看看我在那个帖子里面的分析,就明白了。

至于串联扩展,其实它可以非常迅速地就把不连续的物理空间缝合到一起,而扩展后的空间是可以立即被使用的,因为根本不需要像条带扩展那样重新移动源数据到新空间中去。因此,串联扩展没有性能消耗,而条带扩展是有性能消耗的

所以你遇到的问题与扩展方式无关,而是因为你把所有的base LUN都放在同一个RG中了。

362 消息

2013年8月22日 23:00

metal不能把所有的base lun放在一个raid 里的,这样是非常不建议的

串联的方式会影响一些性能的

找不到事件!

Top