1. 程式人生 > >儲存-磁碟陣列物理架構【主1】

儲存-磁碟陣列物理架構【主1】




下圖所示的是一個主機上的一個磁碟控制器(如IDE控制器、SCSI卡)可以控制旗下多個磁碟:


對比磁碟陣列物理架構和該圖,我們發現磁碟陣列物理架構就是上圖的一個磁碟控制器(如IDE控制器、SCSI卡)及其控制的旗下的多個磁碟,再加上一個RAID卡(它的上一層為作業系統,它的下一層為磁碟控制器以及其控制的磁碟)。RAID卡實現的是一個RAID演算法,這個軟RAID(一種軟體)也是可以實現這個RAID演算法。相當於說,磁碟陣列物理架構就是一個RAID演算法和磁碟控制器以及其控制的磁碟這兩部分組成的。RAID演算法要實現的第一個功能就是對磁碟控制器(們)控制的旗下的多個磁碟進行條帶化,對多個磁碟進行條帶化可以使得原本相互獨立不相關的磁碟組合成一個
(整體的)虛擬磁碟。Linux下的lvm軟體(即邏輯卷管理工具)也可以實現對磁碟控制器(們)控制的旗下的多個磁碟進行條帶化。兩者所實現的功能上的區別在於,lvm還有其他功能,如可以對虛擬磁碟再劃分成多個邏輯卷,而RAID(軟體,或叫演算法)不具有此功能。Vg是一個可以跨盤的分割槽(借用磁碟層次的概念),RAID也可以分割槽(該分割槽也可以是跨物理盤的)對虛擬磁碟,所以lvm和RAID都有分割槽功能和條帶化功能,RAID不同於lvm的功能是RAID演算法。

RAID演算法
RAID1:寫入資料時要寫映象。
帶有校驗碼的RAID級別:寫入資料時要計算並寫校驗碼    |寫入資料不是一整個條帶剛好整數倍時,條帶剩下的資料要先讀取到RAID卡上和新資料一起計算出校驗碼,這個就是寫懲罰,最後再寫入資料。
具體參看本文開頭的《儲存-RAID簡介》


磁碟陣列物理架構
這個圖上可以看出,多個磁碟控制器(這裡是SATA磁碟控制器)和多個磁碟都是在一條IO匯流排(即drivers-plane)上的。一個磁碟控制器具有對多個磁碟進行通訊控制的功能,但是因為匯流排是共享的,所以一次只能有一個磁碟控制器(這裡是SATA磁碟控制器)對一個磁碟進行通訊控制。如果讓一個磁碟控制器對過多的磁碟進行通訊控制的話,那麼該磁碟控制器的負擔就會過重,即同時一下子磁碟控制器裡有很多發向不同磁碟驅動器的執行IO的指令,超過了它的每秒處理個數的話,就會導致其效能迅速下降,這樣從單個磁碟角度來講,磁碟控制器傳送給它指令的速度以及處理磁碟返回的結果的速度就慢了很多,簡而言之,就是磁碟控制器對單個
磁碟的控制速度變慢了。所以,建議有多少個磁碟接入IO匯流排,就對應有多少個磁碟控制器接入IO匯流排。這樣,磁碟控制器磁碟數量一對一,從而減少磁碟控制器的負擔。


磁碟陣列物理架構這個圖上可以看出,無論磁碟陣列儲存上的一個分割槽可以分給幾臺主機,讓他們併發讀取該分割槽的資料。他們併發讀取該分割槽的資料時的速度受到RAID卡上主體通道這個匯流排的最大傳輸速度的限制(瓶頸),即他們併發讀取該分割槽的資料時的速度最大值超不過RAID卡上主體通道這個匯流排的最大傳輸速度。磁碟陣列的儲存空間在總線上一次(時間)只能和一個主機通訊傳輸資料。

HBA卡的作用
最常用的伺服器內部I/O通道(或叫匯流排)是PCI和Sbus,它們是連線伺服器CPU和外圍裝置的通訊協議。儲存系統的I/O通道實際上就是光纖通道(或叫匯流排)。而HBA的作用就是實現內部通道(或叫匯流排)協議PCI或Sbus和FC(FC:光纖通道)協議之間的轉換[轉換指令集和資料格式]。

HBA卡種類:FC-HBA(俗稱:光纖網絡卡)iSCSI-HBA(RJ45介面)。

根據磁碟陣列對外介面不同,選擇不同種類的HBA卡。


磁碟陣列介面技術: