天天看點

光纖通道協定網絡拓撲結構簡介

光纖通道網絡中有三種不同的拓撲結構:點對點拓撲結構,仲裁環路拓撲結構,交換式光纖網絡拓撲結構:

<a href="http://download.csdn.net/detail/changyanmanman/5305062">http://download.csdn.net/detail/changyanmanman/5305062</a>

問:

  大多數磁盤陣列都是通過兩個控制器後端的端口,組成1/2/4條FC-AL環,來連接配接所有磁盤。

  FC-AL仲裁環的協定規定,同一時刻隻有兩個裝置能傳送資料,也就是說,在一條FC-AL環裡面,控制器的一個後端端口充當了發起者的角色,環上的一個硬碟充當了目的地的角色,在一個時刻裡,後端端口發出資料讀寫指令,隻有一個硬碟能響應這個指令并傳輸資料。

  那是否就意味着,一條FC-AL環的總體性能,取決于一個硬碟的讀寫性能?15K轉速的硬碟,持續讀寫帶寬不到70MB/S,IOPS不到400。那像IBM DS4800、EMC CX-80之類的,總共4條環,後端的性能豈不是隻有280MB/S、1600 IOPS?除了以陣列裡CACHE來提高速度,我不知道有沒有别的辦法,或者,磁盤陣列内部采用的不是工業标準的FC-AL?

答:

  這個問題非常好,而且也非常經典。要解釋這個問題,需要明白三點:

  1.FCAL的傳輸通道的确同一時刻隻允許兩點間獨占通道帶寬來傳輸資料。

  2.控制器在有足夠IO請求的情況下絕對不會讓通道閑着,會充分利用帶寬。

  3.磁盤的外部傳輸率和内部傳輸率。FCAL環路上存在多個裝置的時候,由于控制器的輪詢政策充分利用帶寬,整個系統在外展現為一個永遠都在讀寫資料狀态而不是尋道狀态的大虛拟裝置(《大話存儲》第53頁也有描述),一旦某個裝置需要尋道,那麼就讓其他裝置來傳輸資料來彌補所浪費的時隙,是以整體系統可以發揮出一個單一裝置的内部傳輸率。

  下面是詳細總結:

  當FCAL環路上存在多個裝置的時候,控制器向謀裝置發起IO之後,該裝置需要一定的尋道時間,而此期間内AL環出于被釋放的狀态,此時控制器依然可以向另外的裝置發起IO,也就類似于先把該做的指令全部下發,待某個裝置尋道完成請求将資料傳回給控制器的時候,往往是多個裝置都出于積攢狀态,也就是他們都幹完活了,準備交差了,而此時隻能排隊一個一個來,大家都鼓着勁呢。明白了這一點,我們就往下看。

  關于IOPS數值的沖突:

  IOPS與吞吐量是一對沖突關系。在關注IOPS的環境下,IO SIZE往往比較小,因為隻要較小的SIZE才不至于充滿帶寬達到瓶頸,是以,要達到較高的IOPS,IO SIZE需要比較小。而這種情況下控制器将IO請求發送給裝置之後,多個裝置出于積攢狀态,他們會仲裁進而一個一個的分别得到傳輸資料的機會,由于IO SIZE很小,是以每次傳輸資料很快就結束,這樣,一個IO就飛快的完成了,而上一個裝置的IO完成之後,下一個裝置接着也會很快完成,因為他已經出于積攢态,待傳回的資料早已在cache中準備發送。

這樣的話,這個整體系統對外就表現為一個永遠在完成IO而不需要尋道的虛拟裝置。而如果AL環上除了控制器之外隻有一個裝置,那麼環路就必須等待它尋道,因為尋道的時隙内,AL環上已經沒有其他裝置可工作了。

然而,AL環的這種彌補尋道時隙的效果也不是裝置越多就越好,不同的設計和産品都有自己不同的最佳裝置數量,目前的經驗值為64個,也就是環路總容量的一半,超過這個值,性能不會再有提高,甚至有所下降。

我們可以推論出另外一個結論,也就是,慢速裝置,比如尋道時間長的裝置,越是慢速裝置,組成AL環路之後其帶來的整體提升越大,越是快速裝置,高規格的裝置,組成AL環路之後,提升的性能越有限。這就是AL環或者其他共享總線/環方式彌補裝置自身處理産生的時隙的效果。

  關于吞吐量/帶寬值的沖突:

  經過上面的描述,我們已經對共享總線/環傳輸方式的底層機制以及其效用有了一個很好的了解了。在重視和追求高吞吐量,也就是充分利用帶寬的環境下,IO SIZE往往非常大,以至于在較低的IOPS值下就已經可以吃滿通道帶寬了。

往往這種情況下,上層所發出的IO都是連續大塊的IO,以至于AL環之上的裝置尋道時間可以大大降低,這就使得裝置更快的出于積攢态,準備向外發送資料。我們知道磁盤外部傳輸率由于磁盤内部不斷換道被打斷,緻使其數值較内部傳輸率降低了大約20倍。而AL環的效用就是彌補尋道所浪費的時隙,是以整體系統的外部吞吐量,就被提升了上來,進而解決了這個沖突。