傳統RAID是基於一塊塊硬盤來做RAID,現在的硬盤存儲空間多則10T,這要是壞了一塊,重構10T的數據耗時不說,還影響同RAID組中其他硬盤的工作效率。這時RAID2.0誕生了。
RAID2.0不再以硬盤為單位做RAID,而是先將同RAID組中的所有硬盤切塊,基於塊來構建RAID組。
RAID2.0+
RAID2.0+底層是RAID2.0,但是上層(LUN層)又做了精細化分。原理如下
大致可以看到,底層先對硬盤切條形成CK,把各個硬盤(必須是同一類型的硬盤)的條放在一起形成CKG。再對CKG橫向切割(為了讓數據分散到每一塊硬盤中,縱向是相同硬盤,橫向是不同硬盤)。再把切割完的數據塊組成Extent,把多個Extent組成LUN,最后映射給主機使用。
同時可以看到熱備盤也由原來的一塊實體盤改成了由多個不同硬盤組成的塊來充當熱備盤。
進一步詳細了解以上的名詞

LD(邏輯磁盤):即現時中看得見摸得着的實際磁盤,可以是SSD、SAS硬盤、SATA硬盤。但是這些硬盤混用的時候需要把類型相同的硬盤組成組,然后組中進行對硬盤的縱向切割形成CK
CK(邏輯塊):是磁盤中按照固定大小切分的物理空間,是組成RAID的基本單位。需要注意的是,邏輯塊大小是固定值不能改變。通常SSD/SAS切分成64MB,SATA/NL-SAS切成256MB
CKG(邏輯塊組):是指在同一個磁盤組內的不同磁盤划分出來的邏輯塊(CK),然后按照RAID組算法組成的邏輯存儲單元。注意此時已經構建完RAID組。一個邏輯塊組中的所有邏輯塊都來自於同一個硬盤組(磁盤類型相同的組)
Extent:在邏輯塊組CKG的基礎上划分的,固定大小的邏輯存儲空間。一個邏輯塊組CKG可以切分成多個Extent,一個Extent歸屬與一個卷或者一個LUN,多個Extent可以組成一個LUN然后映射給主機使用。當LUN的空間不夠的時候,可以通過給LUN增加Extent來擴容Extent,動態調整LUN大小
Grain:是一種更細粒度的Extent。以Extent構成的LUN被稱為傳統非精簡LUN(Thick LUN 或者FAT LUN),以Grain構成的LUN稱為精簡LUN(Thin LUN)。除了組成單位有差異,Thick LUN和Thin LUN在儲存空間分配、存儲空間回收以及性能上有很大區別。(目前不了解區別在哪,后續遇到在補充)
Volume和LUN:Volume就是卷組,LVM已經介紹過。LUN就相當於PV。最后用戶看到的PV就是可用的虛擬磁盤。
Thick LUN和Thin LUN對比

可以看到Thick LUN直接由Extent組成LUN,然后映射給主機使用。Extent塊大小是512KB~64MB之間可以手動調節。
Thin LUN則是將Extent再次切割成更小的單位Grain,然后利用Grain組成LUN映射給主機使用。Grian的顆粒大小是64KB
補充幾個專業名詞
硬盤域(Disk Domain 簡稱DD)
是一堆磁盤的集合。因為此時RAID尚未建成,所以磁盤域中可以包含多種類型的磁盤,(SSD、SAS等)。在大型存儲中,磁盤的數量非常多,可以用磁盤域將多組物理磁盤分開,組成多個和磁盤域,實現磁盤域之間故障、性能、存儲資源完全隔離,有效避免系統中一塊物理磁盤故障影響整個系統的工作效率。
磁盤域中不同類型的磁盤對應不同的存儲層級。
Tier0(高性能層):SSD
Tier1(性能層):SAS
Tier2(容量層):NL-SAS、SATA
存儲池(Storage Pool 簡稱SP)
下屬於磁盤域,一個磁盤域中可以划分多個存儲池。不同存儲池中可以實現故障隔離、管理分離,分別服務不同的應用。
創建存儲池先指定存儲層級(Tier0/1/2),然后指定容量,最后指定RAID組策略。
磁盤組(Disk Group 簡稱DG)
指硬盤域中相同類型磁盤的集合。
小結
由於沒有實際操作過,我推測在真機上先划分硬盤域,之后指定存儲池參數(選擇層級、指定容量、指定RAID策略)。什么CK\CKG\EXTENT\GRAIN都在指定存儲池參數后系統幫你自動規划好了,不需要手動規划。然后你最終看到的就是已經創建成功的LUN,之后直接映射就OK了。此文未完結,實際操作是否與推測一致待后續補充。