VNX Virtual Provisioning系列(三):配置Virtual Provisioning

VNX Virtual Provisioning系列(三):配置Virtual Provisioning

 

     前两轮我们基本上知道了什么是Virtual Provisioning、其设计目标以及几个重要的逻辑对象。本文将介绍如何创建Pool以及Pool LUN,这个其实并不难,点几下鼠标就能完成。比较令人困惑的是解读PoolPool LUN的属性含义以及其值是如何计算的。


更多信息

 

 

创建Storage Pool


1.    1.  登录Unisphere并导航至Storage Pools页面

       201205071722.jpg                

2.     2. 点击Create,出现如下选项:

201205071723.jpg

 

3.     3. 简单地介绍一下General选项卡

RAID Type:目前Pool支持RAID5/6/10,根据实际环境或设计指导进行选择。这一步通常在方案设计阶段就已经确定,设计者会针对应用的性能,可用性,容量等因素进行考量,从而最终确定一个RAID类型。截图是R31的,从R32开始支持为Pool中的每一个分层选择不同的RAID类型。

 

Number of Disk:可以看到有三个层级,分别为Extreme PerformanceSSD盘),PerformanceSAS盘)以及CapacityNL-SAS盘)。数量一般根据EMC所推荐的值进行配置,RAID5使用5的倍数块盘,RAID6使用8的倍数块盘,RAID10使用8的倍数块盘。当然也可以手动选择磁盘加入Pool

4.  

     4. 最后点击Apply就会开始创建Pool,创建过程涉及初始化等后台动作,但总的来说还是比较快的。

 

创建Pool LUN

1.     1. 右击之前创建的Pool –> Create LUN,界面如下:

201205071724.jpg

 

Storage Pool Type:选择Pool从而在Pool上创建LUNRAID Group就是我们熟知的传统LUN

RAID Type:可以用来过滤某些RAID类型的Pool,例子中我们选则了RAID5,那么“Storage Pool for new LUN”只会列出RAID5类型的Pool,方便创建者选择。

Thin:勾选Thin,表示创建ThinLUN,否则默认创建ThickLUN。从R33开始,默认ThinLUN是被勾选的。


其他的选项很容易理解,我就不解释了。

 

4. 点击Apply就成功创建了Pool LUN

 

 

PoolPool LUN属性

PoolPool LUN的属性存在一些术语相对让人费解,那就让我们来解读一下。首先以一个SAS4+1R5 Pool为例,已知每块盘的raw capacity = 536.808GB,属性如下图:

201205071725.jpg

 

Physical Capacity:顾名思义,这里呈现的是【实际物理空间】的使用情况

  • Percent Full:当前已经消耗的物理空间百分比(=Consumed Capacity/ User Capacity*100%
  • Consumed Capacity:当前已经消耗的物理空间
  • User Capacity:可用于创建Pool LUN的总物理空间,也称为“可用空间”。它是这样计算的,【raw disk capacity * 数据盘个数 - 开销(RAID以及Mapping开销)】,在我们的例子中就是:536.808 * 4 = 2147.232 GB(减去公式中提到的开销,就差不多是如图所示的2143.178GB

 

 

Virtual Capacity:这里呈现的是虚拟空间的使用情况,什么意思?举个例子,假设Pool的物理空间有1TB,但你所创建的Pool LUN总共需要1.5TB,超了,但对于VP来说,这种情况是允许的。所以,Virtual Capacity是一个“虚“值,未必等于实际已经消耗的物理空间。

  • Percent SubscribedSubscribed解释为“预定的”,使用“预定“二字是因为ThinLUN不会立马消耗指定的所有物理空间,比如创建一个10GBThinLUN,这10GB只能说是你预定的,因为可能Pool中根本就没有那么多剩余空间。这里Percent Subscribed是指所有Pool LUN目前所预定的空间(=Total Subscribed Capacity/User Capacity】)
  • Total Subscribed Capacity:这个其实和Percent Subscribed是一个意思,只不过不是以百分比的形式呈现。
  • Oversubscribed By:之前提到过【Pool LUN的容量需求总和】可以大于【Pool本身所能提供的实际物理空间】,而Oversubscribed By属性就是超出【可用物理空间】的那部分空间。图中是灰色的,说明我们并没有超。

 

     看完是否感觉有些许混乱?总结一句话就是,Physical Capacity是实实在在摆在那的物理空间,不多不少;Virtual Capacity是你的需求容量,“先提需求,有没有再说!”,我们拒绝需求受限于Physical Capacity,这也是VP的设计目标之一。我再给出些FAQ帮助你理解

 

Q1:我创建创建了两个ThinLUN,一个10GB,一个15GB,为什么Total Subscribed Capacity = 29.057GB,而不是25GB,多出4GB,此时的Consumed Capacity = 6.012GB

A1:还记得之前的文章提到过初次创建ThinLUN时系统会首先分配3GBPool LUN吗?(EMC白皮书提到对于VNX系统,ThinLUN初始化会分配3GB空间,ThickLUN初始化会分配2GB空间,但个人测试结果两者都是3GB)这3GB中有1G多是用于元数据,剩余部分可用于写I/O。从这一点可以看出,系统把那剩余部分也算在了“预定空间“内,两个LUN就是2GB * 2 =4 GB。但如果你去查看ThinLUN属性,其User Capacity必然等于你创建该LUN时指定的大小。

 

Q2Total Subscribed Capacity 为什么会小于Consumed Capacity

A2:这是由于Pool LUN的开销导致的。如果你创建1GBPool LUN,就会发现,Consumed Capacity初始会等于3GB,这是设计使然。对于这个例子,由于创建者创建了太多的1GB Pool LUN,所以开销反而比LUN本身需求的空间更大。但在生产环境中,我们往往不会创建那么小的LUN,所以一般不会看到这种情况发生。这里之所以拿这张图作为例子,是希望大家能够理解Pool LUN的开销。关于这个问题,可以参考emc217176

 

介绍完Pool属性,我们再来看一下Pool LUN的属性

201205071726.jpg图1201205071727.jpg图2

User Capacity:这是在创建Pool LUN时所指定的大小,也是主机所能看到的大小。诶!上图1就是一个实际的User Capacity < Consumed Capacity的例子,4GB是你创建是指定的大小,而另外3GB是系统初始化该LUN时所分配的。另外,我们还能从图中判断出,它是一个ThickLUN,如果是ThinLUN,会在Current State旁边有一个“Thin“的选项,并且打了勾且不能修改(上图2)。

Consumed Capacity:这是实际占用的物理空间,【4GBUser Capacity + 3GB的初始预留空间】 = 7GB

 

 

扩展以及收缩Pool LUN


     Pool LUN的大小是可以在线扩展的,只需要右击LUN,选择Expand,填入新的大小就行了,而且新增空间立刻就能使用。对于ThickLUN,假设你计划扩容 100GB,那么Pool中这100GB必须是实打实存在的,而对于ThinLUN,这就不是必须的了。有一点要注意,如果一个LUN使用了某些数据保护功能或正在执行迁移,那么是不允许Expand的。Pool本身的扩展也十分简单,右击Pool -> 选择Expand -> 选择需要增加的磁盘即可,整个过程是不会中断I/O的。


     收缩Pool LUN是另一个功能,但仅可用于Windows Server 2008的环境,具体操作步骤可以参考emc202388(登录support.emc.com,注册一个帐号,然后直接搜索emc202388

 

     可以看出,Pool的配置简单易用,灵活高效。由于作者实力有限,文章内容难免有理解错误之处,如有发现,还请指出予以修正。


参考

 

EMC VNX Virtual Provisioning – Applied Technology

EMC CLARiiON Virtual Provisioning – Applied Technology


应用于

 

VNX, CLARiiON