一般 SAN 包含透過交換器網路連線到一系列儲存區系統的電腦集合。多台電腦通常會存取同一儲存區。
下圖顯示了多個透過乙太網路交換器連線到儲存區系統的電腦系統。在此組態中,每個系統都透過單一乙太網路連結連線到交換器。交換器透過單一乙太網路連結連線到儲存區系統。
系統從儲存區讀取資料時,儲存區透過傳送足夠的資料以填滿儲存區系統與乙太網路交換器之間的連結來回應。任何單一系統或虛擬機器不太可能充分利用網路速度。但是,當許多系統共用一個儲存裝置時,可以預期這種情況。
將資料寫入儲存區時,多個系統或虛擬機器可能會嘗試填滿其連結。因此,在系統與儲存區系統之間的交換器可能會捨棄網路封包。由於交換器傳送到儲存區系統的流量超過單一連結可以承載的流量,可能會發生資料捨棄。交換器可傳輸的資料量受到其與儲存區系統之間的連結速度限制。
從捨棄的網路封包復原會導致效能明顯降低。除了花費時間判定資料是否已捨棄之外,重新傳輸還會使用網路頻寬,否則網路頻寬將用於目前交易。
iSCSI 流量透過傳輸控制通訊協定 (TCP) 進行網路傳輸。TCP 是一個可靠的傳輸通訊協定,可確保重試捨棄的封包並使其最終到達目的地。TCP 旨在從捨棄的封包復原並快速、順暢地將其重新傳輸。但是,如果交換器定期捨棄封包,則網路輸送量會降低。網路會塞滿重新傳送資料的要求以及已重新傳送的封包。傳輸的資料少於網路未壅塞時的資料。
大多數乙太網路交換器可緩衝或儲存資料。此技術可為每個嘗試傳送資料的裝置提供到達目的地的同等機會。這種緩衝部分傳輸資料,與許多限制未完成命令數目的系統組合使用的功能可減少小型高載的傳輸。多個系統的高載可以依序傳送到儲存區系統。
如果交易較大,且多個伺服器透過單一交換器連接埠傳送資料,可能會超過緩衝能力。在此案例中,交換器會捨棄無法傳送的資料,且儲存區系統必須要求重新傳輸已捨棄的封包。例如,如果乙太網路交換器可緩衝 32 KB,但伺服器傳送 256 KB 至儲存裝置,則會捨棄部分資料。
大多數受管理交換器都會提供所捨棄封包的相關資訊,類似於下列形式:
*: interface is up IHQ: pkts in input hold queue IQD: pkts dropped from input queue OHQ: pkts in output hold queue OQD: pkts dropped from output queue RXBS: rx rate (bits/sec) RXPS: rx rate (pkts/sec) TXBS: tx rate (bits/sec) TXPS: tx rate (pkts/sec) TRTL: throttle count
介面 | IHQ | IQD | OHQ | OQD | RXBS | RXPS | TXBS | TXPS | TRTL |
---|---|---|---|---|---|---|---|---|---|
* GigabitEthernet0/1 | 3 | 9922 | 0 | 0 | 476303000 | 62273 | 477840000 | 63677 | 0 |
在此 Cisco 交換器範例中,使用的頻寬為 476303000 位元/秒,低於連線速度的一半。連接埠將緩衝傳入封包,但已捨棄數個封包。此介面摘要最後一行的 IQD 資料行指示此連接埠已捨棄近 10,000 個輸入封包。
為避免此問題而對組態進行變更時需確保多個輸入乙太網路連結不縮減為一個輸出連結,否則會導致連結超額訂閱。如果在幾乎滿載時進行傳輸的多個連結切換為較小數目的連結,則可能發生超額訂閱的情況。
一般而言,向儲存區寫入大量資料的應用程式或系統必須避免共用儲存裝置的乙太網路連結。透過與儲存裝置的多個連線,這些類型的應用程式可實現最佳效能。
[交換器與儲存區的多個連線] 顯示了交換器與儲存區的多個連線。
使用 VLAN 或 VPN 不能針對共用組態中的連結超額訂閱問題提供合適的解決方案。VLAN 和網路的其他虛擬磁碟分割可提供邏輯設計網路的方式。但是不會變更交換器之間連結和主幹的實體功能。當儲存區流量和其他網路流量共用實體連線時,可能會出現超額訂閱和遺失封包的情況。此情況也適用於共用交換器間主幹的 VLAN。設計 SAN 的效能時,必須考慮網路的實體限制,而不是邏輯配置。