前面討論過(guò)的三種基本SAN拓?fù)浣Y(jié)構(gòu)主要來(lái)源于底層的光纖路徑技術(shù)。目前該技術(shù)是用于建立SAN的主要方法。然而,這些并不是可用于建設(shè)SAN的主要的拓?fù)浣Y(jié)構(gòu)。本節(jié)將介紹其他目前使用的拓?fù)浣Y(jié)構(gòu),以及那些源于仍在研究的新技術(shù)所部署的結(jié)構(gòu)。
1.SAN中的高可用性集群
SAN最重要的特征之一在于多個(gè)服務(wù)器訪問(wèn)所有SAN上的設(shè)備或子系統(tǒng)的能力。該特征的一個(gè)應(yīng)用是高可用性或HA存儲(chǔ)在集群系統(tǒng)中的應(yīng)用。有許多關(guān)于集群是什么,以及該如何被實(shí)現(xiàn)的說(shuō)法。當(dāng)一個(gè)服務(wù)器失效時(shí),如何將應(yīng)用程序由一個(gè)服務(wù)器轉(zhuǎn)移到另外一個(gè)服務(wù)器上?許多圍繞集群進(jìn)行的討論都必須面臨這樣一個(gè)問(wèn)題。接下來(lái)的問(wèn)題是,高可用的集群如何增強(qiáng)其存儲(chǔ)的高可用性。
和昂貴的大型機(jī)或其他特殊的冗余系統(tǒng)(如由Tandem計(jì)算機(jī)公司建造的系統(tǒng))相比,集群的特點(diǎn)在于使用相對(duì)便宜的冗余系統(tǒng)獲得相對(duì)較高的系統(tǒng)和數(shù)據(jù)可用性。最基本的集群有兩個(gè)系統(tǒng),其中一個(gè)被設(shè)置為運(yùn)行所有應(yīng)用程序的主系統(tǒng),而另外一個(gè)被設(shè)計(jì)成為從系統(tǒng)。當(dāng)主系統(tǒng)失效時(shí),從系統(tǒng)將停止等待,并接管主系統(tǒng)的應(yīng)用。SAN技術(shù)允許服務(wù)器共享一個(gè)極其簡(jiǎn)單的交叉連接中的相同存儲(chǔ)設(shè)備或子系統(tǒng),如圖所示。
在圖中,有一點(diǎn)必須注意的是,此處沒有使用網(wǎng)絡(luò)交換機(jī)或集線器。這種SAN可以使用或不使用集線器和交換機(jī)。這里,所有服務(wù)器都具有雙重主機(jī)控制器,而且所有子系統(tǒng)具有雙重子系統(tǒng)控制器。因此該系統(tǒng)可以提供SAN上所有4個(gè)節(jié)點(diǎn)之間的連接。設(shè)備級(jí)冗余由子系統(tǒng)控制器來(lái)管理,它能使用奇偶RAID或鏡像設(shè)備來(lái)防止發(fā)生設(shè)備丟失的情況。
主服務(wù)器使用子系統(tǒng)中的可用存儲(chǔ)器。如果它失效,則從服務(wù)器將開始訪問(wèn)所有的子系統(tǒng)。然而需要注意的是,主機(jī)I/O控制器、子系統(tǒng)或線纜上的失效將導(dǎo)致一個(gè)有趣的問(wèn)題。例如,如果主服務(wù)器上的主機(jī)I/O控制器A失效,它將無(wú)法連接到存儲(chǔ)子系統(tǒng)1。在這種情況下,會(huì)發(fā)生兩種情況:所有的服務(wù)都被轉(zhuǎn)交給從服務(wù)器,或者從服務(wù)器拾起子系統(tǒng)1上的工作。試圖使用I/O路徑來(lái)標(biāo)識(shí)受影響的應(yīng)用是不容易的,因此更常見的情況是,集群會(huì)將其所有的工作移交給從服務(wù)器。
一旦從服務(wù)器開始運(yùn)行,它到任意一個(gè)子系統(tǒng)的數(shù)據(jù)通路的失效將會(huì)導(dǎo)致數(shù)據(jù)的不可訪問(wèn)。這種失效可能發(fā)生在主機(jī)I/O控制器、SAN節(jié)點(diǎn)或子系統(tǒng)控制器中。有一種方法能避免這種可能出現(xiàn)的失效,即使用和多端口存儲(chǔ)子系統(tǒng)相連接的雙端口主機(jī)I/O控制器(如果它們可用的話)。這些多端口存儲(chǔ)子系統(tǒng)能在任何主機(jī)I/O控制器和任何系控制器之間提供通路。圖中對(duì)此進(jìn)行了說(shuō)明。對(duì)在1999年可使用的產(chǎn)品而言,這種方案并不十分現(xiàn)實(shí)。因?yàn)樵谶@種SAN失效解決方案中,所需的多端口主機(jī)I/O控制器和設(shè)備驅(qū)動(dòng)器還沒有出現(xiàn)。