| 
       咨詢電話:010-51727811/12/13
      當前位置: 首頁 > 新聞中心 > 業內新聞 >
      熱門存儲技術分析之SAS簡介篇(三)
      時間:2013-10-17 09:21  來源:飛客數據恢復   作者:飛客數據恢復工程師
          SAS磁盤上的端口也與并行SCSI有很大區別,倒是跟SATA磁盤的端口外觀非常像。接腳最多的一組是電源接口,接腳較少的一組是SAS磁盤主端口,位置都與SATA磁盤電源和通訊端口完全一致。SAS磁盤與SATA磁盤接口的唯一區別是SAS磁盤還有第二個冗余端口,而SATA磁盤則只有一個端口。
       
          說到這里,細心的讀者會發現一個問題。既然SAS磁盤與SATA磁盤的端口數量都不一致,SAS背板又如何完整的兼容SATA磁盤呢?
          不錯,如果將SATA磁盤直接插入SAS背板,那么背板上的冗余端口將會懸空,也就是說SATA磁盤只連接在一個控制器上。這樣雖然陣列控制器或主機可以使用這些SATA磁盤,但從結構上將無法實現冗余。
          為此,一些提供SAS磁盤陣列的廠商,在兼容SATA磁盤時都在SATA磁盤托架上附加一個小小的電路板,我們姑且稱之為"端口選擇器"。其作用就是將SATA磁盤上的單端口與兩路SAS同時連接,從而保證前端控制器或主機故障切換時,SATA磁盤仍然能保持連接。
          當然物理連接的一致,只是SAS兼容SATA的必要條件。實際上,在整個SAS協議棧中從物理層到應用層,都貫穿著一套用來兼容SATA的協議。這套協議被稱為STP(Serial ATA Tunneling Protocol)即"SATA隧道協議"。從這個命名就可以看出,SAS兼容SATA的方式其實就是在從磁盤端到主機端整條鏈路上,為SATA磁盤特地開辟出一條隧道。 
       
          前面只是簡單的羅列出設備、端口和phy各自的大致含義,很多問題還需要進一步說明一下。
          前面我們已經提到,每顆SAS磁盤可以提供兩個SAS連接。那么這兩路SAS連接是同一個端口的兩個phy,還是兩個獨立的窄端口呢?答案是后者。每顆SAS磁盤上有兩個phy,這兩個phy相互獨立,被兩個不同的端口使用。再明確點說,每顆SAS磁盤有兩個地址,而不是一個。記住!每個地址,就對應一個端口。
          地址和端口的對應關系,還能幫我們辨清SAS有效連接。Phy之間連通,并不等于端口之間能夠正常通訊。只有當一個端口中所有phy都與對方端口中的phy連通后,兩個寬端口的通訊才能正常進行。目前寬端口中最常見的,就是前面提到過的四路寬端口,不過一些SAS適配器廠商正在設計八路寬端口,未來可能會出現單根線纜2.4GBps甚至4.8GBps的SAS連接。
          說到SAS適配器,還有個有趣的問題。目前主流SAS適配器一般支持8個phy,那么大家猜猜一般適配器支持多少端口地址呢?答案是可以動態設定。當適配器用來連接外部SAS設備時,需要用外部寬端口,這時適配器將8個phy劃分成兩個寬端口,支持兩個端口地址。而當適配器連接內部SAS磁盤時,每個phy各自屬于自己的端口,適配器將支持8個端口地址。
       
          至此,我們雖然明確了一些關于SAS的技術概念,但是還不能說對SAS技術有所了解。SAS技術的重點部分--Expander及其工作原理,才是熟悉SAS技術的關鍵。 
          一些接觸過SAS存儲產品的讀者,可能此時會心存疑惑。為什么SAS單域就可以支持如此眾多設備,但實際應用中卻經常看到多域模式的產品呢?這其實跟目前SAS芯片的制造工藝有關。如果想制造出一個"扇出Expander"來支持128個"邊緣Expander"的連接,那這款"扇出Expander"至少要支持128個phy(每端口至少一個phy)。而Expander之間的互聯一般應采用至少四路寬端口,那就需要中心的"扇出Expander"支持4 x 128 = 512個phy(每端口四個phy)。而現在的實際情況是LSI公司的首款SAS芯片只能支持12個phy,剛剛好是個零頭。雖然SAS技術支持多個Expander芯片組成一個"Expander組"(Expander Set)來模擬一個Expander,但過多的芯片無疑會在制造工藝和成本方面帶來麻煩。正是基于目前SAS芯片工藝水平,一些磁盤陣列廠商在設計陣列擴展時,大多采用多域結構。雖然在軟件設計上費力多些,但卻可以避開單芯片phy數量有限的問題。
          所謂多域模式,在大多數情況下,其實也只不過是兩個域而已,即每個陣列控制器各自屬于自己的SAS域。因為目前的SAS交換技術還不支持域之間的路由,所以要想保證每個陣列控制器都能訪問到所有磁盤,最多只能引入兩個SAS域。
       
          SAS技術借鑒了很多光纖通道技術的工作原理,對比光纖通道技術可以幫助我們更好的了解SAS技術優勢。
          前面已經提到,SAS端口地址與光纖通道中的WWN格式幾乎完全一樣,但其使用方式還是略有區別。SAS域中,端口地址直接作為交換路由表的內容,沒有任何轉換過程,而光纖通道的Fabric交換中并不直接采用WWN地址,而是要經過一個轉換過程,由名字服務器對每個設備二次分發路由地址。光纖通道之所以這樣設計原因很明顯,因為在Fabric交換中要支持環路設備,所以不得不兼顧各種編址。實際上在光纖通道交換域中,每個設備要經過三層登陸(FLOGI、PLOGI/LOGO、PRLI/PRLO)才能接入域中。這頗像一個臃腫的官僚機構,雖然體系龐大,卻效率低下。而SAS技術舍棄了光纖通道中的仲裁環機制,從而大大簡化了交換與地址的關系。在SAS域中,再也不需要關心那些惱人的繁文縟節了。 
          由于交換模式的簡化,SAS設備與Expander之間不需要通過復雜的磋商,簡單的握手之后就開始正常工作了,這就需要雙方事前就很多方面必須達成一致共識。"服務級別"就是共識之一。我們知道光纖通道可以支持五種不同級別的交換服務,分別是Class 1、2、3、4和6。這其中最常用到的是Class 3,即無確認的幀交換。這種模式好比不負責任的郵遞員,反正有收信人和發信人互相確認,他自己根本不操心包裹是否完好。由于光纖通道技術中沒有phy這個層次的設計,Class 3是效率最高的工作模式。而SAS則不然,借由phy的底層獨占式互聯機制,SAS中的服務級別更像Class 1模式,即虛擬電路全帶寬連接。這種模式最能夠充分保證每一組SAS設備之間的通訊帶寬,同時數據的誤傳輸概率也降到最低。
       
          由于光纖通道技術中層次臃腫的通訊機制,主機端光纖適配器很難直接察覺到磁盤端設備狀態的變化。就好比一個高高在上的官僚,很難知道底層普通市民的住址變遷。為此,光纖通道交換設計了"注冊狀態變更通知"(RSCN,Registered State Change Notification)機制。就是讓每個普通市民在搬家之后,都要主動向政府匯報新地址,政府再將地址簿匯總更新,送交各位領導案頭,而官僚們就依據案頭的記錄信息定位每個市民。遺憾的是,這個RSCN會打斷領導們正在進行的溝通,迫使領導們的工作重新開始,因此嚴重影響整個政府的辦公效率。而在SAS域中,由于沒有了復雜的溝通層次,每位領導都可以直接掌握市民的住址信息,辦公效率自然就提高許多。
          SAS與光纖通道相比,最明顯的技術優勢在于連接帶寬。簡單從數字上看,3Gb的SAS似乎不及4Gb的光纖通道,但光纖通道技術中端口已經是最基本的邏輯單元,也就是說,兩個物理端口間的連接就只可能是4Gb帶寬。而SAS則巧妙的在端口中引入phy這個新的邏輯單元,兩個phy之間的互聯帶寬為3Gb,每端口可以包含4個或8個phy之多,這樣兩個SAS端口之間的連接很容易達到12Gb甚至24Gb超高帶寬。
          總之,SAS在借鑒光纖通道技術特點的同時,一方面大刀闊斧簡化交換機制,從而提升了交換效率和可靠性,另一方面增加了phy虛擬電路單元,大大增加了性能擴展空間。