《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 深入了解iSCSI的2種多路徑訪問機(jī)制
深入了解iSCSI的2種多路徑訪問機(jī)制
IT168
摘要: 經(jīng)過數(shù)年的發(fā)展后,iSCSI已成為IP SAN的代名詞,大幅促進(jìn)了存儲局域網(wǎng)絡(luò)(SAN)的普及應(yīng)用。但相較于FC SAN,iSCSI雖然有建置價格低的優(yōu)點(diǎn),但也被認(rèn)為存在著許多不足,包括易受攻擊、可用帶寬低,且缺乏高可用性的冗余訪問機(jī)制等。
關(guān)鍵詞: 路徑 MC/S MPIO iSCSI
Abstract:
Key words :

經(jīng)過數(shù)年的發(fā)展后,iSCSI已成為IP SAN的代名詞,大幅促進(jìn)了存儲局域網(wǎng)絡(luò)(SAN)的普及應(yīng)用。但相較于FC SAN,iSCSI雖然有建置價格低的優(yōu)點(diǎn),但也被認(rèn)為存在著許多不足,包括易受攻擊、可用帶寬低,且缺乏高可用性的冗余訪問機(jī)制等。

事實(shí)上,若有適當(dāng)?shù)沫h(huán)境配合,iSCSI也能實(shí)現(xiàn)多路徑I/O(Multi-Path Input/Output,MPIO,多路徑輸入輸出)與多重連結(jié)(Multiple Connections per Session,MC/S)兩種多重路徑存取的機(jī)制,可建立負(fù)載平衡、故障失效切換等帶寬聚合應(yīng)用,提供更可靠的存儲網(wǎng)絡(luò)環(huán)境。
MPIO與MC/S都是利用多條實(shí)體存取通道,在服務(wù)器(iSCSI Initiator段)與存儲設(shè)備(iSCSI Target端)之間建立邏輯通道,可透過輪替的存取動作,避免單一實(shí)體通道中斷時,連帶導(dǎo)致存取中斷;或是平衡多個實(shí)體通道間的傳輸負(fù)載,避免傳輸負(fù)荷集中在單一實(shí)體通道上。但2種機(jī)制間又有所不同:
  多重路徑MPIO
  MPIO可允許1個iSCSI Initiator透過多個Session連入同1個iSCSI Target設(shè)備,以便利用多網(wǎng)卡或iSCSI HBA啟用負(fù)載平衡與故障失效切換機(jī)制,也可稱作Multiple Sessions per Initiator。
  多重連接MC/S
  MC/S可允許在同一個Session中,在iSCSI Initiator與iSCSI Target間建立多個TCP/IP連接,同樣也能讓用戶利用多張網(wǎng)卡或iSCSI HBA啟用負(fù)載平衡與故障失效切換機(jī)制。
簡而言之,MPIO是在更高的網(wǎng)絡(luò)堆棧層上運(yùn)作(即在iSCSI層上的SCSI指令層),且多條存取路徑間的負(fù)載平衡機(jī)制,是針對1個指定的獨(dú)立邏輯驅(qū)動器(LUN)運(yùn)作;而MC/S則是iSCSI RFC中所定義的方法,是在iSCSI層上運(yùn)作,具有更好的傳輸驗(yàn)證能力(Error Recovery Levels),另外MC/S的負(fù)載平衡是“同時”針對所有的邏輯驅(qū)動器運(yùn)作,這點(diǎn)也與MPIO不同。
實(shí)現(xiàn)多路徑存取的3種方式
iSCSI的底層是IP與以太網(wǎng),理論上可直接從網(wǎng)卡實(shí)施,利用Port Trunking/Teaming/Link Aggregation的方式,將主機(jī)上的多張網(wǎng)卡捆綁在1個IP下,再連接到iSCSI存儲設(shè)備上,搭配iSCSI存儲設(shè)備傳輸埠上的對應(yīng)設(shè)定,從而實(shí)現(xiàn)實(shí)體多路徑連接。但問題在于,不是所有網(wǎng)卡都能支持這種方式。
另外,有一些存儲廠商提供的SAN路徑管理軟件,也能協(xié)助用戶建立iSCSI多路徑存取環(huán)境,如EMC PowerPath、HDS的Hitachi Dynamic Link Manager、NetApp SnapDrive、Infortrend EonPath等,但這些軟件通常都只支持特定廠牌型號的iSCSI設(shè)備。
不過我們也可跳過網(wǎng)卡這一層,亦無須使用路徑管理軟件,直接利用iSCSI Initiator軟件配合iSCSI設(shè)備建立多路徑存取。要利用這種方式建立MPIO還是MC/S,都必須滿足一定條件:
 ?。?) iSCSI Initiator端需有多張網(wǎng)卡或網(wǎng)絡(luò)端口連接到Target端。
 ?。?) iSCSI Initiator軟件需支持MPIO或MC/S。
  (3)iSCSI Target設(shè)備需支持MPIO或MC/S。
其中第1項(xiàng)是最基本的條件,主機(jī)若沒有2個以上的網(wǎng)絡(luò)端口(或2張以上網(wǎng)卡/iSCSI HBA)可用,自然談不上多路徑存取,不過目前多數(shù)服務(wù)器都內(nèi)建了至少2組GbE網(wǎng)絡(luò)端口,這點(diǎn)通常不會成為太大問題。
第2項(xiàng)條件則視不同環(huán)境而定,目前各主要操作系統(tǒng)廠商提供的iSCSI Initiator軟件中,目前以Windows的支持較為齊全,如微軟的iSCSI Initiator 2.06版以后就能支持MPIO與MC/S;Sun則有OpenSolaris MPxIO程序可支持Solaris環(huán)境的MPIO;Linux環(huán)境同樣也能支持MPIO。
而就第3點(diǎn)來說,目前MPIO遠(yuǎn)比MC/S普及,大多數(shù)iSCSI存儲設(shè)備都能支持MPIO,只要能允許同一個iqn建立的session即可。
但能支持MC/S的產(chǎn)品就少了許多,在軟件式的iSCSI Target方面,目前能支持的也不多,如微軟的iSCSI Target、Sun的Solaris iSCSI Target都不支持。
 
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。