光纖磁碟陣列介紹
隨著信息技術的發展,磁碟陣列被越來越多地使用到各種套用系統中。開始只是簡單地作為某台主機或伺服器的附加外置存儲設備,主要用於擴展單台主機或伺服器的永久存儲空間,一般通過SCSI或其他接口與主機直接相連;後來隨著存儲網路技術,尤其是光纖通道Fibre Channel技術的發展,磁碟陣列通過光纖通道FC接口接入到存儲區域網SAN中,為多台主機提供共享的存儲空間。目前人們一方面正在致力於開發更多的接口技術(如iSCSI、InfiniBand等)讓磁碟陣列接入到成本更低的存儲網路(如IP網路)、或性能更高、功能更全的存儲網路(如InfiniBand網路)中,一方面致力於通過存儲虛擬化技術、全局檔案系統技術提高磁碟陣列的利用率。本文我們主要想討論目前使用最為廣泛的光纖磁碟陣列。之前我們先來看什麼是光纖磁碟陣列,或者說討論一下光纖磁碟陣列的定義。
首先我們做一下名詞分解,先說說磁碟陣列。實際上我們日常所說的磁碟陣列一詞的定義並不準確,根據SNIA(存儲網路國際協會)的定義解釋,磁碟陣列(disk array)就是通過一套控制軟體結合在一起的、在一個或多個可訪問磁碟子系統上的一系列磁碟;該控制軟體將這些磁碟的存儲空間以一個或多個虛擬磁碟的形式提供給主機;運行在控制器上的控制軟體一般稱為固件(firmware)或微碼(microcode);運行在主機上的通常稱為卷管理器。而磁碟陣列子系統(disk array subsystem)才是我們通常所稱的磁碟陣列,即具有可將其磁碟組織起來的控制軟體的磁碟子系統。為了不引起誤解,在此我們只是告訴大家要注意區分磁碟陣列disk array和磁碟陣列子系統disk array subsystem的細微區別,在後面的討論中我們還是使用大夥熟悉的磁碟陣列這個辭彙來代替較為晦澀的磁碟陣列子系統一詞。
而為什麼又稱為光纖磁碟陣列呢?這是指這種磁碟陣列採用光纖通道技術。採用光纖通道技術有兩層含義,一層是指其對外--即對主機--使用光纖通道接口連線方式,一層是指其內部採用光纖通道技術來連線其內部的各個磁碟。通常意義來說,光纖磁碟陣列指的是後一種含義。但在最初光纖磁碟陣列上市的時候,內部往往採用SCSI、SSA等存儲接口,對外才是光纖通道接口。現在越來越多的光纖磁碟陣列逐漸向內外俱是光纖通道接口的方向發展,這裡我們想討論的就是這種磁碟陣列。至於內部使用IDE、SCSI、SSA等接口技術、外部使用光纖通道技術,或者內部使用光纖通道技術,外部使用SCSI等其他接口技術的磁碟陣列(儘管這有些違背常識,但這種磁碟陣列的確存在),雖然也是光纖磁碟陣列,但不在我們的討論範圍內。
從光纖磁碟陣列的名詞解釋我們可以看出,從硬體構成來說它應當是由一堆磁碟和控制器及內外接口組成。一般的中、低端光纖磁碟陣列也正是這種結構:由一個或多個供大量磁碟放置的磁碟櫃、兩個陣列控制器、陣列背板、若干電源、風扇等硬體部件組成。
其中最為主要的部件就是陣列控制器和磁碟櫃。控制器通過其內置的控制軟體,實現整個陣列的管理。一般陣列對主機的接口就在陣列控制器上,一般每控制器至少有一個主機接口,有些控制器提供更多的主機接口;這些主機接口可以直接或通過光纖交換機與主機連線。此外各種管理接口(串口、乙太網口等)也在控制器上。
而一般之所以採用兩個控制器,主要是從高可用性、提高性能和負載均衡的角度考慮的。很多陣列都可以通過這兩個控制器間的切換,防止控制器、連線線纜、網路設備(如光纖通道交換機和集線器)、主機HBA的單點故障。某些陣列則可以通過主機或陣列軟體實現多通道的數據訪問和通道間的負載均衡。
可以說陣列控制器是中低端磁碟陣列的核心,相當於PC的主機板、記憶體和CPU;而放置硬碟的磁碟櫃是陣列實際存儲數據的地方,相當於PC的硬碟。光纖磁碟陣列磁碟櫃的主要特點是內部一般至少採用冗餘的雙FC-AL仲裁環環路結構,內部硬碟實際上同時接在兩條仲裁環上。而中端磁碟陣列支持的環路數更多,可以達到4、8、16條之多。這種多冗餘仲裁環結構最主要的目的就是為了高可用性,它可以防止單個線路、接口的故障導致整個陣列的失效。而且每個環路採用旁路技術來防止無硬碟接入和硬碟故障對環路通信的影響。