首先是流程,

不同种类的磁盘(sata,fc,flah)->disk group->raid->DATA volume->thin pool->TDEV and BCVDEV (lun)


然后细看:


1) 不同种类的磁盘叫做disk,这是可见的物理硬盘,见下图:

wKiom1ghhBOgdGUAAAB8elJmAcg793.jpg

wKioL1ghhBOAi_10AABof4tn4Vo352.jpg

con 112 92代表disk的个数,flag的I代表disk internal to the arrary, F代表FC盘,E而且speed是0代表是EFD类型盘,也就是常说的没有机械臂的固态硬盘,EntERPrise Flash Drive (EFD),也称为 Solid State Drive (SSD)。


2)这些不同的硬盘形成disk group, disk group的成员是disk.


3) 每一个disk group 经过raid之后会形成DATA volume和two-mirror的GK盘,这些是真正的存储数据用的,DATA volume可以认为是physical disk的一部分,大小小于disk,如下图:

wKioL1ghjNbRnyyVAAD5G14RWPo433.jpg

能够看到279140MB分出了4个raid5的data/hpyer volume.


data volume可以认为是CDEdriver,disk是物理磁盘,disk(physical) ->data volume(logical) ->

poo


为什么不能直接把data volume分给host?

因为如果直接把data vlume分给host,host那边的写操作相当于直接写进disk,如果是sata disk的话,大量的读写可以会导致fail,所以需要pool这一层。


4)Data volume会组成pool,pool的成员是volume。

pool里面的data volume都是同类型的disk,给server分lun是用了同一个pool,避免多种类型盘出问题。


如果创建成thin pool,lun就是虚拟化的具有thin provisoning的lun,只是一个pointer,在客户端看到是13.5G,但是实际并没有分出去13.5G, 简单说如果pool有100G,分出去10G,但是host只写了1G,pool的剩余空间其实是99G。


如果创建成thick pool,那13.5G就是真的从pool里reduce了13.5G。


5)创建lun。


wKiom1hToQjQaOtAAACR9dR0OXo308.jpg

lun是创建完成后再bind到pool里。并不是从pool里分出去的,lun只是一个号码,默认是bind到fc pool。EFD pool是专门为fast policy 准备的。


EMC在换盘时,其实是换的spare disk,spare disk顶上去以后,坏盘的数据会通过raid原理复制到新盘,data volume会指向新的位置。


***********************以上就是从disk到lun形成的过程**********************************


关于fast policy:


fast policy是一个算法是bound在SG上面的, FP有多个teir, 例如fc teir和efd teir,每个teir都会定义simulation(FBA/CKD), 可以理解为他们就是定义了怎样储存data, 和 disk technology (efd,fc), efd意味着这个teir支持efd protocol, fc支持fc protocal, 然后每个teir实际都会包含一个pool,fc teir包含fc pool, efd teir包含efd pool,所以总结一下就是:


如果一个SG拥有了一个fast policy,意味着这个sg里的lun里的data可以在各层teir的pool中转移。


转移的根据是:


1)例如有10个lun,分配给server端两个vg, 各5个lun,vg1是为某个应用用的数据,需要更多的IO,当fast policy检测到这个IO读写后就会把这个lun转移到EFD pool,EFD pool是由EFD disk组成的。


下图可以看到有例如0936这个lun,以前是在01_00 pool里,有一部分数据被转移到EFD pool。


wKiom1hTphPRZgXkAADthAszPdc962.jpg

wKioL1hTphSSKUODAADHgZ8YDg0345.jpg


转移可以看下图:


wKiom1k_lMWh1jv9AABcVYMMFCo375.png

这是一块盘的信息,最初bond进一个pool,但是other pool里的信息有三个,可以看到lun的名字没有变,但是13.5G的数据被分散到三个pool(fast policy的三个tier),可见lun只是一个名字类似inode,靠同一个inode指向三个不同的pool。