首先是流程,
不同種類的磁盤(sata,fc,flah)->disk group->raid->DATA volume->thin pool->TDEV and BCVDEV (lun)
然后細看:
1) 不同種類的磁盤叫做disk,這是可見的物理硬盤,見下圖:
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,如下圖:
能夠看到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。
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。
轉移可以看下圖:
這是一塊盤的信息,最初bond進一個pool,但是other pool里的信息有三個,可以看到lun的名字沒有變,但是13.5G的數據被分散到三個pool(fast policy的三個tier),可見lun只是一個名字類似inode,靠同一個inode指向三個不同的pool。
? ? 本文轉自UVN2015 ?51CTO博客,原文鏈接:http://blog.51cto.com/10851095/1870702,如需轉載請自行聯系原作者