小心誤區(qū)
假設(shè)你為一家中小企業(yè)工作,想把幾臺(tái)Windows服務(wù)器連接到iSCSI SAN上。這些服務(wù)器很新,每臺(tái)配有四塊板載千兆網(wǎng)卡,但是僅有一塊網(wǎng)卡連接到一臺(tái)交換機(jī)上,且是一臺(tái)不易管理的低端千兆交換機(jī)。
乍一看,你似乎可以將SAN插入到交換機(jī)中,為其分配IP地址,在服務(wù)器上安裝微軟iSCSI啟動(dòng)器(initiator),并配置iSCSI啟動(dòng)器,以便連接到SAN,就可以上路了。這確實(shí)可行,你能夠從服務(wù)器上加載SAN存儲(chǔ)系統(tǒng),很可能可以湊合著運(yùn)行,只要你對(duì)它沒有過高的要求。不過,如果把龐大的生產(chǎn)負(fù)載加到SAN卷上,這種設(shè)計(jì)的不足之處很快就會(huì)暴露出來。
以這種方式連接到iSCSI存儲(chǔ)系統(tǒng)存在幾個(gè)問題:沒有交換機(jī)或網(wǎng)卡的冗余性,SAN上沒有負(fù)載均衡機(jī)制,沒有對(duì)通過交換機(jī)的iSCSI流量進(jìn)行優(yōu)化所需的任何功能;而且可能最糟糕的是,存儲(chǔ)流量將與前端客戶端流量爭奪帶寬。
正確構(gòu)建iSCSI
以上情形中缺少的部件很明顯:一臺(tái)還不錯(cuò)的交換機(jī)。一臺(tái)好的交換機(jī)是iSCSI SAN的一個(gè)關(guān)鍵部分。雖然任何千兆交換機(jī)都可與iSCSI協(xié)同運(yùn)行,但是如果選用價(jià)格低廉的、不易管理的交換機(jī),將會(huì)錯(cuò)失一些很重要的功能。
首先,交換機(jī)不能堵塞。也就是說,它需要能夠在其所有端口上同時(shí)處理全速的輸入輸出,而并非所有交換機(jī)都有這項(xiàng)功能。
其次,要能夠支持流量控制。流量控制是一種第二層以太網(wǎng)協(xié)議,允許接收端的主機(jī)可以要求發(fā)送端的主機(jī)減緩發(fā)送數(shù)據(jù)量。這可以防止出現(xiàn)服務(wù)器或SAN發(fā)送的數(shù)據(jù)量超過接收方的接收能力的情況,否則會(huì)導(dǎo)致大量低效率的TCP重發(fā),結(jié)果導(dǎo)致總體性能差強(qiáng)人意。
第三,交換機(jī)能支持巨型幀。典型的以太網(wǎng)數(shù)據(jù)包局限于1500字節(jié)以內(nèi),巨型幀可以擴(kuò)大到9000字節(jié)。這很重要,因?yàn)榭梢詼p少需要通過線路傳輸?shù)臄?shù)據(jù)包數(shù)量,從而帶來高的鏈路效率和低延遲。
最后,能支持虛擬局域網(wǎng)。通常希望把iSCSI流量隔離到它自己的虛擬局域網(wǎng)上,這一方面是為了提高性能,但最主要還是作為一種快捷的方式來確保未授權(quán)的主機(jī)無法連接到SAN。
一旦選擇了一款很好的交換機(jī),在條件允許時(shí)可購買兩臺(tái),作為冗余。雙核心網(wǎng)絡(luò)架構(gòu)一直是個(gè)好辦法,當(dāng)塊級(jí)存儲(chǔ)系統(tǒng)在網(wǎng)絡(luò)上運(yùn)行時(shí),這種架構(gòu)顯得更重要。因?yàn)槿绻岩慌_(tái)普通服務(wù)器從普通網(wǎng)絡(luò)上斷開,那么在大多數(shù)情況下,最糟糕的事情就是所有用戶都斷開連接,直到服務(wù)器重新連上。但是當(dāng)在網(wǎng)絡(luò)上運(yùn)行塊級(jí)存儲(chǔ)系統(tǒng)時(shí),斷開對(duì)存儲(chǔ)系統(tǒng)的訪問可能會(huì)引起不穩(wěn)定,并導(dǎo)致服務(wù)崩潰。雖然幾乎總是可以從這種事件中恢復(fù)過來,數(shù)據(jù)也不會(huì)損失,但是最好能夠避免。部署兩臺(tái)交換機(jī)對(duì)實(shí)現(xiàn)這個(gè)目標(biāo)就大有幫助。
選好交換機(jī)后,就可以把服務(wù)器和SAN連接到交換機(jī)上了。在服務(wù)器端,使用每臺(tái)服務(wù)器上四塊網(wǎng)卡中的兩塊連接到兩臺(tái)交換機(jī)中的每一臺(tái)。同樣,在SAN上,將SAN的接口劃分給兩臺(tái)交換機(jī)。這樣你就有了一條完全冗余、專用的路徑通向存儲(chǔ)系統(tǒng)。服務(wù)器的前端客戶端流量就沒必要與后端存儲(chǔ)流量爭奪帶寬了,反之亦然。
下一步是配置服務(wù)器,讓它連接到SAN上。這一步稍微有點(diǎn)復(fù)雜。微軟iSCSI啟動(dòng)器在很大程度上簡化了配置iSCSI入口(SAN)、連接到iSCSI目標(biāo)(一個(gè)卷或一組卷)的工作。不過,還需要研究一下多路徑輸入輸出(MPIO)是如何工作的,那樣才能正確配置。
在理想情況下,對(duì)于專門用來訪問存儲(chǔ)系統(tǒng)的每塊網(wǎng)卡而言,至少會(huì)有一路連接通向每個(gè)iSCSI目標(biāo)。這不但提供了路徑冗余(以防其中一個(gè)網(wǎng)卡或交換機(jī)出現(xiàn)故障),還允許SAN在不同的SAN接口之間對(duì)那兩路入站連接進(jìn)行負(fù)載均衡。不是所有SAN平臺(tái)都能這么做,但是對(duì)能這么做的SAN來說,這項(xiàng)操作很有意義。
許多SAN廠商發(fā)布的軟件包可以安裝iSCSI啟動(dòng)器和路徑管理設(shè)備特定模塊(DSM),后者會(huì)以最適合SAN的方式,智能化地建立MPIO連接,戴爾EqualLogic的Host Integration Toolkit 就是這方面的一個(gè)例子。如果廠商提供了這樣一款軟件包,務(wù)必要充分利用起來,因?yàn)檫@一般會(huì)帶來更好的性能,配置及維護(hù)起來將容易得多。
獲得順暢運(yùn)行的架構(gòu)
以這種方式配置了iSCSI網(wǎng)絡(luò)后,實(shí)際的iSCSI互連將很少或從來不會(huì)成為影響性能或可靠性問題的一個(gè)因素。在大多數(shù)入門級(jí)SAN環(huán)境中,iSCSI互連還沒有成為限制因素,每臺(tái)有兩條千兆鏈路的服務(wù)器就已經(jīng)讓SAN的磁盤保持良好狀態(tài)的機(jī)械能力完全達(dá)到最大值。
如果是運(yùn)行大得多的服務(wù)器或SAN環(huán)境,所設(shè)計(jì)的具體細(xì)節(jié)可能會(huì)有所變化,可能是在服務(wù)器中使用萬兆以太網(wǎng)和iSCSI主機(jī)總線適配器/融合網(wǎng)絡(luò)適配器(HBA/CNA),以卸載發(fā)送iSCSI數(shù)據(jù)包的部分工作量。然而,由高質(zhì)量的交換機(jī)和正確實(shí)施的MPIO組成雙核心網(wǎng)絡(luò)這個(gè)基本概念仍然適用。
雖然部署iSCSI似乎很容易,但實(shí)際上卻相當(dāng)復(fù)雜,因?yàn)橛泻枚嗖煌姆绞絹砼渲盟H绻闶莍SCSI方面的新手,就要確保認(rèn)真規(guī)劃,并測試配置,之后再推廣到生產(chǎn)環(huán)境中。