风中岁月存储专栏:EMC存储最佳实践R22(9)

前文再叙,书接上一回

MetaLUN的类型

一般来说,尽可能的使用stripe方式的metaLUN,因为他们能体现出我们能预知的更好的性能。Concatenat一个单独的LUN给一个metaLUN,会更加方便;这可能在扩展一个对性能并不敏感的卷会更加合适。


Hybrid metaLUN使用stripe的方式捆绑concatenate的LUN。这个方式被用来克服stipe扩展的成本(这样会比较低)。一个采用stripe方式的metaLUN可以通过concatenate另一个stripe component的方式来扩展。这样保持了stripe component可预计的性能,也允许用户用来扩展一个stripe的metaLUN而不用队已经出线的数据的重组(性能将会受到影响,当重新条带化操作进行的时候)。图四展示了这一点。



图四 hybrid-striped metaLUN


在理想的情况下,在扩展stripe设置的LUN将会分布在同样RAID类型的不同的RAID组里面,也会表现得更原始的stripe component一致。大部分最直接的方式是使用同一个RAID组作为基础的component。这个RAID组是被最先扩展的,以便使空间变的可用。这个方式在“metaLUN 扩展方法”里会演示。


RAID组的扩展是更加有效率的,对比metaLUN restripe(把这个重分条过程设置成中等优先级别),也会对主机性能有更小的影响。


MetaLUN stripe multiplier

stripe multiplier决定了metaLUN的stripe element size:


     Stripe multiplier * base LUN stripe size = metaLUN stripe segment size


MetaLUN stripe segment size是任何component LUN能收到的最大的I/O。


所有的高带宽性能和随机分布都要求metaLUN stripe element 的大小为1MB左右。而且,在下面的RAID组还可能被扩充。我们需要确保metaLUN stripe element是足够大,大到跟写的完全的stripe一样,用来扩展component LUN(图表1)。


使用以下规则来设置stripe multiplier


  • 除非使用RAID 0,使用最少四个磁盘的磁盘组,来组成作为component LUN主机的RAID组。
  • 为磁盘组的大小来测定选择有效的磁盘个数。例如,六个磁盘的RAID 1/0是3(3+3)。五个磁盘的RAID5是4(4+1)
  • 通过图表1,为有效磁盘的个数而选择multiplier



如果有疑问,使用4作为metaLUN的stripe multiplier。对大部分情形来说,这是一个默认的,也是一个好的选择。


MetaLUN对齐的位移

如果你计划通过metaLUN来使用SnapView或者MirrorView,把metaLUN对齐位移值设为0。使用磁盘分区工具来调整分区的位移。


MetaLUN和ATA磁盘

在这个时候,ATA并不适合繁忙的随机I/O访问的方案。这个章节集中在使用ATA磁盘作为高带宽的应用。


保持RAID组的足够小,是metaLUN策略的一部分。这会使ATA硬盘更加合理,因为小的磁盘组比大的会有更小的重组时间。但是,必须意识到的时,metaLUN会被一个单一的磁盘组的rebuild所影响,而ATA磁盘的rebulid时间是冗长的。基于数据可用性的考量,在非常多的环境里,我们最好避免使用ATA硬盘来做metaLUN除非动态扩展或者需要非常大的一个容量。


CLI例子:建立一个metaLUN

在接下来的例子的代码,我们建立一个stripe方式的使用base LUN30的metaLUN。没有建立metaLUN的命令;你需要扩展一个已经出现的FLARE LUN来建立一个metaLUN。在命令中设计而成的LUN,都是相同RAID的类型和容量的FLARE LUN。LUN 30会变成基本的?新的metaLUN会把30作为他的identifier。


Matalun -expand -base 30 -lus 31 32 33 -name P1H00 -elszm 4 -type S


——————————————————————————–
    扩展的类型被设置成S,作为stripe方式,而选择element size(4)是因为LUN是建立在5块硬盘的RAID5组里面。
——————————————————————————–


<未完待续>