專利名稱:用于控制對邏輯單元的訪問的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機系統(tǒng)領(lǐng)域,其中由一個或多個端口來訪問邏輯單元,所述邏輯單元是接受命令的可尋址實體以及所述一個或多個端口是發(fā)出命令的可尋址實體。具體地,本發(fā)明可以涉及存儲區(qū)域網(wǎng)絡(luò)(storagearea networkSAN)以及涉及控制對數(shù)據(jù)存儲的邏輯單元的訪問。
背景技術(shù):
在此,在由受控主計算機對存儲進行訪問的存儲區(qū)域網(wǎng)絡(luò)中的存儲系統(tǒng)的上下文中,描述本發(fā)明。然而,本發(fā)明可以應(yīng)用于非存儲體系結(jié)構(gòu)中,這種非存儲體系結(jié)構(gòu)涉及計算機系統(tǒng)中的實體之間(例如計算機與打印機之間)經(jīng)由網(wǎng)絡(luò)進行的通信。同樣,本發(fā)明可以應(yīng)用于存儲體系結(jié)構(gòu)中,這種存儲體系結(jié)構(gòu)具有兩個存儲控制器之間的通信。
發(fā)明內(nèi)容
在控制由計算機系統(tǒng)中的其他實體對連接在分布式計算機系統(tǒng)中的外圍設(shè)備進行訪問上,具有客戶端/服務(wù)器體系結(jié)構(gòu)的分布式計算機系統(tǒng)的發(fā)展產(chǎn)生了很多問題。
存儲區(qū)域網(wǎng)絡(luò)(SAN)是一種主要目的為在計算機系統(tǒng)與存儲元件之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)。在SAN中,將存儲設(shè)備集中且互連。SAN是高速網(wǎng)絡(luò),其允許在通信基礎(chǔ)設(shè)施支持的距離內(nèi)建立存儲設(shè)備與主計算機之間的直接通信。SAN可以在服務(wù)器之間共享和/或可以專用于一個服務(wù)器。SAN可以是本地的,或者可以在地理距離上擴展。
SAN使得存儲能夠處于服務(wù)器的外部,并且集中在另外的地方。這使得數(shù)據(jù)可以在多個服務(wù)器之間共享。數(shù)據(jù)共享使得能夠訪問由多個計算機平臺或服務(wù)器進行處理的公共數(shù)據(jù)。
SAN的主服務(wù)器基礎(chǔ)設(shè)施可以包括服務(wù)器平臺的混合體。存儲基礎(chǔ)設(shè)施包括直接連接到SAN網(wǎng)絡(luò)的存儲設(shè)備。SAN可以將存儲接口一起相互連接為多種網(wǎng)絡(luò)配置。
光纖信道(FC)接口是串行接口,其是用于大多數(shù)SAN的主要接口體系結(jié)構(gòu)。然而,也可以使用其他的接口,例如以太網(wǎng)接口可以用于基于以太網(wǎng)的網(wǎng)絡(luò)。
通常使用運行于FC物理層上的小型計算機系統(tǒng)接口(SCSI)協(xié)議來實現(xiàn)SAN。然而,也可以采用其他的協(xié)議,例如,TCP/IP(傳輸控制協(xié)議/網(wǎng)際協(xié)議)可以用于基于以太網(wǎng)的網(wǎng)絡(luò)。
光纖信道SAN使用架構(gòu)(fabric)來連接設(shè)備?!凹軜?gòu)”是用于描述使用諸如交換機、控制器、集線器和網(wǎng)關(guān)之類的互連實體來連接服務(wù)器和存儲設(shè)備的基礎(chǔ)設(shè)施的術(shù)語。不同類型的互連實體使得可以構(gòu)建可變規(guī)模的網(wǎng)絡(luò)。基于光纖信道的網(wǎng)絡(luò)支持三種類型的拓撲,即點對點、仲裁環(huán)路以及交換式。這些拓撲結(jié)構(gòu)都可以獨立存在或相互連接以形成架構(gòu)。
光纖信道架構(gòu)中的所有實體都具有一個分配給該實體的唯一標識。光纖信道架構(gòu)包括一組不同類型的端口,并且具有用于對架構(gòu)中的端口進行尋址的尋址系統(tǒng)。架構(gòu)中的每個端口具有其自己的唯一地址,該地址稱作全球端口名稱(WWPN)。架構(gòu)中的每個節(jié)點,諸如主總線適配器或存儲設(shè)備,也都具有其自己的唯一地址,該地址稱作全球節(jié)點名稱(WWNN)。在本文中將這些標識稱作端口或節(jié)點標識。
分區(qū)(zoning)允許架構(gòu)的精細分割。分區(qū)可以用于形成不同環(huán)境之間的屏障(barrier)。只有同一分區(qū)的成員才可以在該分區(qū)內(nèi)進行通信。
在SAN的架構(gòu)中,需要由主計算機對數(shù)據(jù)存儲區(qū)域的訪問進行管理。每個存儲設(shè)備或外圍設(shè)備由存儲控制器進行管理。為了管理對存儲設(shè)備中的存儲區(qū)域的訪問,存儲控制器通常維護一個映射,該映射標識了每個相應(yīng)的主計算機對每個存儲區(qū)域的訪問權(quán)限。每當在SAN中添加一個主機或從SAN中去除一個主機時,該主機所連接到的每個存儲控制器就需要修改其映射,以便向映射中添加或從映射中去除該主機及其相關(guān)聯(lián)的存儲區(qū)域訪問。這種復(fù)雜的映射維護需要很高的性能開銷。
在每個存儲設(shè)備中,有數(shù)百個存儲卷或邏輯單元(LU)。存儲設(shè)備中的每個分段具有其自己的邏輯單元編號(LUN)。存儲控制器響應(yīng)于來自不同主計算機的請求允許或不允許對LUN的訪問。
在本文中全文使用的術(shù)語“邏輯單元”采取寬泛的定義,意指計算機系統(tǒng)中可尋址并接受命令的任意實體。邏輯單元可以與數(shù)據(jù)存儲的區(qū)域相關(guān)聯(lián),然而這并非先決條件。邏輯單元可以位于存儲設(shè)備中、存儲控制器中或其他形式的計算機外圍設(shè)備等等中。在SCSI協(xié)議中該術(shù)語是公知的,但是在本文中該術(shù)語是在較寬泛的意義上使用并應(yīng)用于SCSI協(xié)議的。
類似地,術(shù)語“端口”用于定義計算機系統(tǒng)中可尋址并發(fā)出命令的任意實體。端口可以是主計算機的端口、存儲控制器或可以發(fā)送命令以便訪問以上定義的邏輯單元的任意其它設(shè)備。
SAN存儲邏輯單元的映射通常在端口或節(jié)點標識符(WWPN/WWNN)到邏輯單元編號(LUN)的基礎(chǔ)上進行。由于將新的映射關(guān)系添加到SAN不僅需要建立交換機端口分區(qū)以包括新的物理/邏輯的連接關(guān)系,而且必須在存儲設(shè)備上配置新的映射關(guān)系,所以這產(chǎn)生了配置開銷。
在大多數(shù)存儲設(shè)備上,當建立映射時,要將全球端口名稱(WWPN)的列表呈現(xiàn)給用戶,并且必須從該列表中選擇端口名稱。由于端口名稱通常長達32個十六進制字符,這可能是一項非常困難的任務(wù),原因是用戶必須要已知哪一個主端口具有他想要將邏輯單元映射到的WWPN。同樣,當建立到多個WWPN的映射時,必須不斷重復(fù)這一過程,因此就有更多產(chǎn)生錯誤的可能性。當由于配置故障或改變而引起SAN中的物理變化改變主適配器的WWPN或WWNN時,會發(fā)生其他問題。
在光纖信道中,提供交換機來管理主計算機對存儲控制器的訪問。然而,這不能管理對由存儲控制器控制的存儲設(shè)備內(nèi)部的存儲區(qū)域的訪問。FC交換機的配置稱為交換機端口分區(qū),其中創(chuàng)建并維護端口/主計算機映射表以管理主計算機對存儲控制器的訪問。交換SAN管理程序?qū)⒋鎯刂破髦械囊唤M可用的預(yù)定端口映射到一組預(yù)定的主計算機。利用該映射表,交換SAN管理程序?qū)⒅辉试S主計算機訪問配置為具有一個或多個端口的存儲控制器。
多個主服務(wù)器可能需要訪問存儲系統(tǒng)上的相同的邏輯單元。當這些服務(wù)器運行分布式SAN應(yīng)用、n路SAN文件系統(tǒng)或并行訪問數(shù)據(jù)庫時可能會發(fā)生這種情況。多個存儲控制器也可以向同一系統(tǒng)提供LUN,例如在IBM公司的全存儲SAN卷控制器中。
本發(fā)明的目的是使得不需要再手動地將主計算機端口標識符分配給存儲區(qū)域網(wǎng)絡(luò)中的邏輯單元。然而,本發(fā)明進一步的發(fā)展在于所提出的方法提供了一種創(chuàng)建一組端口與選定的邏輯單元之間的關(guān)系的手段,其中該關(guān)系控制對邏輯單元的訪問。
根據(jù)本發(fā)明的第一個方面,提供了一種用于控制對邏輯單元的訪問的方法,邏輯單元是接受命令的可尋址實體,其中多個邏輯單元可由一個或多個端口來訪問,端口是發(fā)送命令的可尋址實體,該方法包括在第一位置將需要訪問相同邏輯單元的一個或多個端口分組在一起作為一個命名集合;在后續(xù)位置將命名集合與選定的邏輯單元相關(guān)聯(lián);以及在所述后續(xù)位置通過參考命名集合的名稱來提取對于所述一個或者多個端口的識別信息。
在一個實施例中,邏輯單元可以位于存儲設(shè)備中并且訪問可以經(jīng)由存儲區(qū)域網(wǎng)絡(luò)進行。存儲區(qū)域網(wǎng)絡(luò)可以使用SCSI協(xié)議以及可以使用光纖信道接口。然而,也可以使用其他形式的存儲區(qū)域網(wǎng)絡(luò),例如基于以太網(wǎng)的網(wǎng)絡(luò)。邏輯單元可以在其他形式的非存儲設(shè)備中,例如諸如打印機或診斷設(shè)備或性能測試設(shè)備之類的外圍設(shè)備??梢杂眠壿媶卧幪杹順俗R邏輯單元。
將一個或多個端口分組在一起的步驟可以通過將所述端口物理地連接在一起作為一個命名集合并且為所述命名集合提供定位地址來執(zhí)行。作為替代,可以通過邏輯地將所述端口標識到一個集合中來對端口進行分組。
該方法可以包括在多個后續(xù)位置進行關(guān)聯(lián)的步驟。按照這種方式,可以一次性定義命名集合,并從后續(xù)位置通過命名集合的名稱來參考該命名集合。
可以響應(yīng)于端口配置的改變,來動態(tài)地改變在將所述命名集合與所述選定邏輯單元相關(guān)聯(lián)時對于所述端口的識別信息。
根據(jù)本發(fā)明的第二個方面,提供了一種用于控制對邏輯單元的訪問的設(shè)備,包括多個邏輯單元,邏輯單元是接受命令的可尋址實體;一個或多個端口,端口是發(fā)送命令的可尋址實體;通信裝置,其提供由所述一個或多個端口對所述多個邏輯單元的訪問;用于在第一位置將需要訪問相同邏輯單元的所述一個或多個端口分組在一起作為一個命名集合的裝置;在隨后位置的控制裝置,用于通過將命名集合與選定的邏輯單元相關(guān)聯(lián)來控制對所述邏輯單元的訪問;以及在所述隨后位置的提取裝置,用于通過參考所述命名集合的名稱來提取對于所述一個或多個端口的識別信息。
在一個實施例中,邏輯單元可以位于存儲設(shè)備中,并且通信裝置可以是存儲區(qū)域網(wǎng)絡(luò)。存儲區(qū)域網(wǎng)絡(luò)可以使用SCSI協(xié)議并且可以使用光纖信道接口。然而,也可以使用其他形式的存儲區(qū)域網(wǎng)絡(luò),例如基于以太網(wǎng)的網(wǎng)絡(luò)。邏輯單元可以在其他形式的非存儲設(shè)備中,例如諸如打印機或診斷設(shè)備或性能測試設(shè)備之類的外圍設(shè)備??梢杂眠壿媶卧幪杹順俗R邏輯單元。
用于將一個或多個端口分組在一起的裝置可以將所述端口物理地連接在一起作為命名集合并可以為所述命名集合提供定位地址。例如,用于將一個或多個端口分組在一起的裝置可以是存儲區(qū)域網(wǎng)絡(luò)中的光纖信道交換機。作為替代,用于將一個或多個端口分組在一起的裝置可以通過端口識別信息邏輯地連接所述端口。
可以提供多個后續(xù)位置。按照這種方式,可以一次性定義命名集合,并從后續(xù)位置通過命名集合的名稱來參考該命名集合。
用于將所述識別信息與所述選定的邏輯單元相關(guān)聯(lián)的裝置可以包括用于響應(yīng)于端口配置的改變而改變所述識別信息的服務(wù)裝置。服務(wù)裝置可以使控制裝置保持與集合配置的變化同步,以便事件可以觸發(fā)集合中端口的重新發(fā)現(xiàn)。按照這種方式,當添加新的端口、發(fā)生故障等等時,關(guān)聯(lián)關(guān)系的變化可以是自動的。
控制裝置可以是存儲控制器。作為替代,控制裝置可以是獨立的軟件代理。
在一個實施例中,控制裝置可以按照交換機分區(qū)的形式使用已有的集合創(chuàng)建關(guān)聯(lián)。使用交換機/架構(gòu)名稱和分區(qū)名稱來建立邏輯單元映射。然后,控制裝置可以使用適當?shù)墓ぞ邅韽慕粨Q機中提取端口識別信息并對于該分區(qū)中的所有端口建立映射。
通過對在所有命名集合中的存儲控制器的所有端口進行關(guān)聯(lián)并選擇所述邏輯單元關(guān)聯(lián)到哪個命名集合,該存儲控制器可以用作備份存儲器。
根據(jù)本發(fā)明的第三個方面,提供了一種存儲在計算機可讀存儲介質(zhì)上的計算機程序產(chǎn)品,包括用于控制對邏輯單元的訪問的計算機可讀程序代碼裝置,邏輯單元是接受命令的可尋址實體,其中多個邏輯單元可經(jīng)由網(wǎng)絡(luò)由一個或多個端口來訪問,端口是發(fā)送命令的可尋址實體,所述代碼裝置執(zhí)行下述步驟在第一位置將需要訪問相同邏輯單元的一個或多個端口分組在一起作為一個命名集合;在后續(xù)位置將命名集合與選定的邏輯單元相關(guān)聯(lián);以及在所述后續(xù)位置通過參考所述命名集合的名稱來提取對于所述一個或多個端口的識別信息。
現(xiàn)在將參考附圖來描述僅作為例子的本發(fā)明的實施例,其中圖1是示出根據(jù)本發(fā)明的示例性存儲區(qū)域網(wǎng)絡(luò)(SAN)的計算機系統(tǒng)的框圖;圖2是根據(jù)本發(fā)明的實施例的存儲區(qū)域網(wǎng)絡(luò)(SAN)的框圖;圖3是示出圖2中的存儲區(qū)域網(wǎng)絡(luò)(SAN)中的訪問分區(qū)的示意圖;圖4是示出根據(jù)本發(fā)明的創(chuàng)建關(guān)聯(lián)的方法的流程圖;以及圖5是示出根據(jù)本發(fā)明的更新關(guān)聯(lián)的方法的流程圖。
具體實施例方式
在存儲區(qū)域網(wǎng)絡(luò)(SAN)的上下文中,提供在此描述的實施例,其中至少一個主計算機經(jīng)由SAN連接到一個或多個存儲設(shè)備。然而,本發(fā)明還可以應(yīng)用于計算機系統(tǒng)的其它裝置。本發(fā)明涉及控制由計算機系統(tǒng)中的端口對邏輯單元的訪問。訪問可以經(jīng)由任意形式的網(wǎng)絡(luò)進行或通過直接訪問進行,并且訪問可以包括存儲控制器之間的訪問、外圍設(shè)備與計算機之間的訪問、管理和診斷設(shè)備與其他形式裝置之間的訪問。
參考圖1,示出了計算機系統(tǒng)100,其包括將多個服務(wù)器或主計算機104連接到多個存儲系統(tǒng)106的存儲區(qū)域網(wǎng)絡(luò)(SAN)102。多個客戶端計算機108可以經(jīng)由計算機網(wǎng)絡(luò)110連接到主計算機104。
利用在客戶端108與主計算機104之間經(jīng)由計算機網(wǎng)絡(luò)110進行的通信來實現(xiàn)分布式客戶端/服務(wù)器的計算。計算機網(wǎng)絡(luò)110可以采取局域網(wǎng)(LAN)形式、廣域網(wǎng)(WAN)形式以及可以例如通過因特網(wǎng)實現(xiàn)。按照這種方式,客戶端108和主計算機104可以在地理上分布開。連接到SAN 102的主計算機104可以包括服務(wù)器平臺的混合體。
SAN 102是使分布式主計算機104與存儲系統(tǒng)106相互連接以便可以在SAN基礎(chǔ)設(shè)施支持的距離內(nèi)進行直接通信的存儲網(wǎng)絡(luò)。SAN接口基礎(chǔ)設(shè)施可以是光纖信道(FC)接口或其他形式的接口,諸如以太網(wǎng)接口。在此描述的實施例使用的是光纖信道接口。
使用光纖信道接口的SAN 102提供了將主計算機104連接到存儲系統(tǒng)106的基礎(chǔ)設(shè)施。該基礎(chǔ)設(shè)施使用諸如交換機、控制器、集線器和網(wǎng)關(guān)之類的互連實體。不同類型的互連實體使得可以構(gòu)建可變規(guī)模的SAN。在所描述的實施例中,SAN 102使用運行于光纖信道物理層上的SCSI協(xié)議來實現(xiàn)。
交換機是光纖信道SAN中用于使大量設(shè)備相互連接的設(shè)備。當在SAN 102中實現(xiàn)交換機時,網(wǎng)絡(luò)稱作架構(gòu)或交換架構(gòu)。每個連接到交換機上的端口的設(shè)備都有可能會訪問連接到交換機上任意其他端口的任意其他設(shè)備,從而實現(xiàn)到每個連接設(shè)備的按需連接??梢允褂枚鄠€交換機,并且可以級聯(lián)(cascade)多個交換機以便進行擴展的訪問。由于交換機實現(xiàn)了“任意到任意”(any-to-any)的連接,交換機和管理軟件可以限制特定端口可以連接到的其他端口。這稱為交換機端口分區(qū)。
存儲系統(tǒng)106可以包括各種不同形式,諸如共享存儲陣列、磁帶庫、盤存儲器之類,所有這些設(shè)備通常都稱作存儲設(shè)備。在每個存儲設(shè)備內(nèi)部可以有數(shù)百個存儲卷或邏輯單元(LU)。存儲設(shè)備中的每個分段都有其自己的邏輯單元編號(LUN)。在本上下文中的邏輯單元是可尋址并可以接受命令的存儲實體。然而,術(shù)語“邏輯單元”一般應(yīng)用于其他實體,其可以是或可以不是可尋址并可接受命令的存儲實體。例如,打印機可以具有用于直接打印而不存儲數(shù)據(jù)的邏輯單元。
需要對由通常描述為端口的其他實體對邏輯單元的訪問進行管理或控制。在這一實施例中,需要對由主計算機對數(shù)據(jù)存儲區(qū)的訪問進行控制。每個存儲設(shè)備或外圍設(shè)備由可以集成到存儲設(shè)備或者可以是獨立的存儲控制器來管理。存儲控制器響應(yīng)于來自不同主計算機的請求允許或不允許對邏輯單元的訪問。單個存儲控制器可以控制多個存儲設(shè)備。
在所描述的方法和設(shè)備中,將需要訪問相同邏輯單元的多個端口一起分組在命名集合中??梢晕锢淼鼗蜻壿嫷貙崿F(xiàn)對端口的分組。集合中的端口可以包括不同形式的設(shè)備的端口,其共同之處是需要訪問相同的邏輯單元。
在一個實施例中,將在SAN中使用光纖信道交換機的交換機端口分區(qū)用于將請求訪問存儲的相同邏輯單元的所有主計算機端口按照分區(qū)形式一起分組到集合中。在另一個實施例中,可以使用端口的唯一端口名稱(例如WWPN)邏輯地定義集合來將端口分組到集合中。對集合進行命名以使得集合能夠與其他集合區(qū)分開。例如,如果有多個集合,則給分區(qū)命名并且也可以給交換機命名以便為分區(qū)提供地址。
除了將多個端口進行分組在一起之外,所描述的方法和設(shè)備還提供了命名集合到選定的邏輯單元的關(guān)聯(lián)。按照這種方式,可以在不影響集合與邏輯單元的關(guān)聯(lián)的情況下改變集合中的端口。
提供了軟件代理來定義集合與邏輯單元之間的關(guān)聯(lián)。在一個實施例中,可以在邏輯單元的控制器中提供代理。在另一實施例中,代理可以是板外(off-board)的并向邏輯單元的控制器發(fā)出命令。代理可以從集合的相關(guān)物理或邏輯源中提取與集合有關(guān)的信息??梢栽诖碇刑峁┯杉显打?qū)動的異常處理機制,以保持與集合中的變化同步。
在所描述的SAN的實施例中,建立交換機分區(qū)以將需要訪問存儲設(shè)備的相同邏輯單元的主計算機的端口分組在一起。存儲控制器具有一個映射表,其使用邏輯單元編號將分區(qū)與選定的邏輯單元相關(guān)聯(lián)。映射標識了交換機/架構(gòu)的名稱和分區(qū)的名稱。
存儲控制器可以使用適當?shù)墓ぞ邅韽慕粨Q機中提取WWPN形式的端口標識符,并且存儲控制器可以建立分區(qū)中所有標識符到LUN的映射。
以下的例子用于說明所描述的方法和設(shè)備。
參考圖2,示出了采取主機1、2和3(H1、H2、H3)形式的多個主計算機204。多個應(yīng)用208(AA、AB、AC)運行在一個或多個主計算機204上。
提供SAN 202來將主計算機204連接到存儲設(shè)備206。SAN 202是光纖信道SAN 202并且包括至少一個交換機212(SW1)。
存儲設(shè)備206具有存儲控制器210(SC1、SC2)。一個存儲控制器210(SC1)為所有應(yīng)用208提供主存儲。本例中的另一個存儲控制器210(SC2)為所有應(yīng)用208提供備份存儲,但是并不是一次全部地備份。
應(yīng)用AA需要訪問存儲設(shè)備206中的邏輯存儲區(qū)a1、a2和a3。應(yīng)用AB需要訪問存儲設(shè)備206中的邏輯存儲區(qū)b1、b2并且應(yīng)用AC需要訪問存儲設(shè)備206中的邏輯存儲區(qū)c1、c2。
交換機212建立交換機分區(qū),以將需要訪問存儲設(shè)備206中的相同邏輯單元的主計算機204的端口分組在一起。在本例中建立以下分區(qū)建立分區(qū)A,用于所有運行應(yīng)用AA的主計算機端口,即H1和H2上的端口;建立分區(qū)B,用于所有運行應(yīng)用AB的主計算機端口,即H2和H3上的端口;
建立分區(qū)C,用于所有運行應(yīng)用AC的主計算機端口,即H2上的端口。
所描述的方法提供了一種將存儲設(shè)備206中的一組邏輯單元與交換機分區(qū)相關(guān)聯(lián)并因此在給定時刻與該分區(qū)內(nèi)的所有端口相關(guān)聯(lián)的系統(tǒng)。
在存儲控制器210中提供映射表214,其將在交換機212中建立的已有分區(qū)映射到存儲設(shè)備206中的LUN??梢岳么鎯刂破?10中用于與提供映射表214的板外軟件代理進行通信的掛鉤程序(hook),將映射表214分開地提供給存儲控制器210。
映射表214可以包括能夠標識分區(qū)和相關(guān)聯(lián)的邏輯單元的用戶接口。此外,用戶接口可以可選地標識任意時刻分區(qū)中包含的端口標識符。
在本例中,分區(qū)A映射到LUN a1、a2和a3,分區(qū)B映射到LUN b1和b2,以及分區(qū)C映射到LUN c1和c2。
這允許利用單個簡單的關(guān)系來配置都需要“查看”相同的邏輯存儲以運行特定應(yīng)用(特別是分布式應(yīng)用)的主計算機204的分組。這種關(guān)系可以比較容易地改變,以便由改變所提供的到交換機分區(qū)的連通性可以正確地與邏輯單元相匹配。這實現(xiàn)了將邏輯單元與需要這些邏輯單元的應(yīng)用的位置相關(guān)聯(lián)的效果。
圖3中示例性地示出了分區(qū)301、302和303。圖3還示出了分區(qū)301、302和303與邏輯單元304之間的關(guān)聯(lián)300。
當存儲設(shè)備206由很多應(yīng)用用來進行備份、數(shù)據(jù)挖掘或像閃存復(fù)制那樣的復(fù)制服務(wù)時,該方法也提供了附加的靈活性。
在圖3中,可以將具有邏輯單元e1和e2的第二存儲控制器(SC2)用于出于備份或數(shù)據(jù)挖掘等目的進行的臨時存儲。該存儲控制器可以隨時使其邏輯單元到分區(qū)的關(guān)系被修改,以便它提供的存儲可供運行需要附加臨時存儲的應(yīng)用的主計算機使用。假定第二存儲控制器的端口已經(jīng)是3個已有分區(qū)的成員,因此物理上是可訪問的。通過改變邏輯單元關(guān)聯(lián)到的分區(qū),第二控制器(SC2)上的邏輯單元將在適當?shù)臅r間對適當?shù)闹饔嬎銠C可見,而不用改變交換機分區(qū)的定義。
例如,為了使得主機3使用SC2上的存儲,對于邏輯單元e1、e2和分區(qū)B建立一個關(guān)系。然后,這些邏輯單元只可由主機3來訪問。當主機2隨后需要該臨時存儲時,分區(qū)的名稱將改為分區(qū)C。
在新的或已有的主機上移動或運行應(yīng)用的另一例程與將該主機的端口添加到適當?shù)慕粨Q機分區(qū)一樣簡單。例如,如果存在另一主機“主機3”并且將在主機3上運行應(yīng)用AC的另一例程,就將新的主機插入該交換機,并將其端口添加到分區(qū)C中。存儲控制器了解到該情況已經(jīng)發(fā)生并將自動地提供對應(yīng)用AC所需要的邏輯單元的訪問。不需要存儲控制器的任何配置活動。
由于交換機分區(qū)的分組可以包括相同的主機端口并具有映射到這些主機端口的邏輯單元的不同集合,因此必須協(xié)調(diào)整個系統(tǒng)的邏輯單元編號以避免任何沖突。
在現(xiàn)有的系統(tǒng)中,邏輯單元的列表通常會開始于邏輯單元編號0,并遞增,主機端口的特定非重疊集合能夠看到這些邏輯單元。在所描述的方法中,可以將邏輯單元設(shè)置為具有一個邏輯單元編號。因此,簡化了存儲控制器中邏輯單元與邏輯單元編號的關(guān)系,因為這種關(guān)系不在是一種“一對多”的關(guān)系。這意味著連接到存儲控制器的主計算機操作系統(tǒng)必須能夠處理非連續(xù)的邏輯單元列表。
參考圖4,提供了一幅流程圖,其示出了創(chuàng)建用于由控制端口對邏輯單元的訪問的關(guān)聯(lián)的所描述方法。在圖4的第一步驟401中,將需要訪問相同邏輯單元的端口集合分組在一起。這種分組可以是例如通過交換機分區(qū)來物理進行的,或者其可以是通過端口標識符來邏輯進行的。在任何情況下,都存在一個集合源,從該源中可以獲得有關(guān)集合中的端口的信息。
在圖4中的下一步驟402中,在軟件代理中創(chuàng)建集合名稱與選定的邏輯單元之間的關(guān)聯(lián)。如果需要,提供集合名稱以及地址,并將該名稱和地址與邏輯單元編號相關(guān)聯(lián)。
在第三個步驟403中,軟件代理從集合源中提取端口識別信息。
在第四個步驟404中,軟件代理建立集合中所有端口標識符到該集合被允許訪問的邏輯單元編號的關(guān)聯(lián)。
參考圖5,提供了一幅流程圖,其示出了響應(yīng)于端口配置的改變而更新用于控制訪問的關(guān)聯(lián)的所描述方法。在第一個步驟501中,影響集合中端口配置的事件發(fā)生。在第二個步驟502中,在集合源處,改變集合配置。例如,可以通過增加新的端口來改變交換機的配置,其中該新的端口改變了之前定義的交換機分區(qū)。
在第三個步驟503中,將集合的改變通知給控制集合與邏輯單元的關(guān)聯(lián)的軟件代理??梢酝ㄟ^某些形式的異常處理或通過目錄服務(wù)來進行這種通知。例如,光纖信道SAN使用登記狀態(tài)改變通知(RSCN)來保持存儲設(shè)備與交換機配置的改變同步,以便導(dǎo)致配置改變的事件觸發(fā)交換機分區(qū)中的端口標識符的重新發(fā)現(xiàn)。
在第四個步驟504中,軟件代理從集合源中提取新的端口識別信息。
在第五個步驟505中,改變軟件代理中的關(guān)聯(lián)以反映集合的改變。
所描述的方法和設(shè)備使得不需要再將各個端口的標識符輸入到存儲控制器中。將需要訪問相同邏輯單元的端口分組為集合并將所述集合與選定的邏輯單元相關(guān)聯(lián)提供了一個可以在不必手動更新端口與邏輯單元之間的每個關(guān)系的情況下改變的中間分組。這提供了以下給出的優(yōu)于現(xiàn)有方法的若干優(yōu)點。
諸如主總線適配器移位之類的配置改變可以在不需要刪除并重新應(yīng)用映射的情況下實現(xiàn)。當改變物理連接時,自動的獲得WWPN/WWNN形式的新端口標識符。
將邏輯單元編號與集合相關(guān)聯(lián)比將多個端口標識符映射到邏輯單元編號更為簡單,并且因此不大容易出錯。
將新的端口添加到SAN中只需要交換機分區(qū)的改變,而這無論如何都是需要的。將新端口自動設(shè)置為具有與同一分區(qū)中的其他端口相同的關(guān)聯(lián)。不需要在存儲控制器上對于新端口建立特定的邏輯單元映射。
通過在已有分區(qū)中添加端口,例如向磁帶備份存儲或向遠程站點SAN中添加端口,可以在很短時間內(nèi)容易地將邏輯單元臨時映射到特定端口。這減少了開銷以及安全風(fēng)險。
另一個優(yōu)點是,由于不需要將映射關(guān)系保留在存儲器中,因此可以更好地利用SAN存儲資源。
作為SAN的可靠性和服務(wù)能力的重要環(huán)節(jié)的SAN存儲設(shè)備將了解主機的連接何時發(fā)生變化,并能夠保持這種事件的日志,并向用戶提供錯誤情況。
不需要太多級的重定向和配置,就能夠?qū)\行需要訪問邏輯單元的特定集合的應(yīng)用的主機進行邏輯關(guān)聯(lián)。
本發(fā)明通常實現(xiàn)為一種計算機程序產(chǎn)品,包括一組用于控制計算機或類似設(shè)備(諸如存儲控制器)的程序指令??梢酝ㄟ^預(yù)先加載到系統(tǒng)中或記錄在諸如CD-ROM之類的存儲介質(zhì)上、或使可用于通過諸如因特網(wǎng)或移動電話網(wǎng)之類的網(wǎng)絡(luò)下載來提供這些指令。
在不偏離本發(fā)明的范圍的情況下,可以對上述內(nèi)容進行改進和修改。
權(quán)利要求
1.一種用于控制對邏輯單元的訪問的方法,邏輯單元是接受命令的可尋址實體,其中多個邏輯單元可由一個或多個端口來訪問,端口是發(fā)送命令的可尋址實體,所述方法包括在第一位置將需要訪問所述相同邏輯單元的一個或多個端口分組(401)在一起作為一個命名集合(301、302、303);在后續(xù)位置將命名集合與選定的邏輯單元(304)相關(guān)聯(lián)(402);以及在所述后續(xù)位置通過參考所述命名集合的名稱來提取(403)對于所述一個或多個端口的識別信息。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述邏輯單元位于存儲設(shè)備中,并且所述訪問經(jīng)由存儲區(qū)域網(wǎng)絡(luò)(102、202)進行。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述存儲區(qū)域網(wǎng)絡(luò)(102、202)使用SCSI協(xié)議。
4.根據(jù)權(quán)利要求3所述的方法,其中,所述存儲區(qū)域網(wǎng)絡(luò)(102、202)包括光纖信道接口。
5.根據(jù)前述權(quán)利要求中任一項所述的方法,其中,將一個或多個端口分組(401)在一起的步驟是通過將所述端口物理地連接在一起作為一個命名集合并為所述命名集合提供定位地址來執(zhí)行的。
6.根據(jù)權(quán)利要求1到4中任一項所述的方法,其中,將一個或多個端口分組(401)在一起的步驟是通過邏輯地將所述端口標識到一個集合中來執(zhí)行的。
7.根據(jù)前述權(quán)利要求中任一項所述的方法,其中,所述方法包括在多個后續(xù)位置進行的關(guān)聯(lián)(402)步驟。
8.根據(jù)前述權(quán)利要求中任一項所述的方法,其中,響應(yīng)于所述端口配置的改變,來動態(tài)地改變在將所述命名集合與所述選定的邏輯單元相關(guān)聯(lián)時對于所述端口的識別信息。
9.根據(jù)前述權(quán)利要求中任一項所述的方法,其中,所述邏輯單元由邏輯單元編號來標識。
10.一種用于控制對邏輯單元的訪問的設(shè)備,包括多個邏輯單元,邏輯單元是接受命令的可尋址實體;一個或多個端口,端口是發(fā)送命令的可尋址實體;通信裝置,其提供由所述一個或多個端口對所述多個邏輯單元的訪問;在第一位置用于將需要訪問相同邏輯單元的所述一個或多個端口一起分組在一個命名集合(301、302、303)中的裝置;在后續(xù)位置的控制裝置,用于通過將命名集合(301、302、303)與選定的邏輯單元(304)相關(guān)聯(lián)(300)來控制對所述邏輯單元的訪問;以及在所述后續(xù)位置的提取裝置,用于通過參考所述命名集合的名稱來提取對于所述一個或多個端口的識別信息。
11.根據(jù)權(quán)利要求10所述的設(shè)備,其中,所述邏輯單元位于存儲設(shè)備(106、206)中,并且所述通信裝置是存儲區(qū)域網(wǎng)絡(luò)(102、202)。
12.根據(jù)權(quán)利要求10或權(quán)利要求11所述的設(shè)備,其中,用于將所述一個或多個端口分組在一起的裝置將所述端口物理地連接在一起作為一個命名集合并為所述命名集合提供定位地址。
13.根據(jù)權(quán)利要求12所述的設(shè)備,其中,用于將所述一個或多個端口分組在一起的裝置是光纖信道交換機(212)。
14.根據(jù)權(quán)利要求10或11所述的設(shè)備,其中,用于將所述一個或多個端口分組在一起的裝置通過端口識別信息邏輯地連接所述端口。
15.根據(jù)權(quán)利要求10到14中任一項所述的設(shè)備,其中,提供多個后續(xù)位置。
16.根據(jù)權(quán)利要求10到15中任一項所述的設(shè)備,其中,用于將所述識別信息與所述選定的邏輯單元相關(guān)聯(lián)的裝置包括用于響應(yīng)于端口配置的改變而改變所述識別信息的服務(wù)裝置。
17.根據(jù)權(quán)利要求10到16中任一項所述的設(shè)備,其中,所述控制裝置是存儲控制器(210)。
18.根據(jù)權(quán)利要求10到16中任一項所述的設(shè)備,其中,所述控制裝置是獨立的軟件代理。
19.根據(jù)權(quán)利要求10到18中任一項所述的設(shè)備,其中,每個邏輯單元具有邏輯單元編號。
20.根據(jù)權(quán)利要求17所述的設(shè)備,其中,該存儲控制器(210)通過對所有命名集合中的該存儲控制器的所有端口進行關(guān)聯(lián)并選擇所述邏輯單元關(guān)聯(lián)到哪個命名集合可以用作備份存儲器。
21.一種存儲在計算機可讀存儲介質(zhì)上的計算機程序產(chǎn)品,包括用于控制對邏輯單元的訪問的計算機可讀程序代碼裝置,邏輯單元是接受命令的可尋址實體,其中多個邏輯單元可經(jīng)由網(wǎng)絡(luò)由一個或多個端口來訪問,端口是發(fā)送命令的可尋址實體,所述代碼裝置執(zhí)行下述步驟在第一位置將需要訪問相同邏輯單元的一個或多個端口分組(401)在一起作為一個命名集合(301、302、303);在后續(xù)位置將命名集合(301、302、303)與選定的邏輯單元(304)相關(guān)聯(lián)(402);以及在所述后續(xù)位置通過參考所述命名集合的名稱來提取(403)對于所述一個或多個端口的識別信息。
全文摘要
提供了一種用于控制對邏輯單元的訪問的方法和設(shè)備,邏輯單元是接受命令的可尋址實體。多個邏輯單元可由一個或多個端口來訪問,端口是發(fā)送命令的可尋址實體??梢允谴鎯^(qū)域網(wǎng)絡(luò)(SAN)(102,202)的通信裝置提供由一個或多個端口對多個邏輯單元的訪問。在第一位置將需要訪問相同邏輯單元的一個或多個端口分組在一個命名集合(301,302,303)中。在后續(xù)位置將命名集合(301,302,303)與選定的邏輯單元(304)相關(guān)聯(lián)(300),由此控制對該邏輯單元的訪問。在后續(xù)位置通過參考命名集合來提取對于該命名集合中的端口的識別信息。集合例如可以通過交換機分區(qū)來物理地定義,或者通過對端口名稱進行邏輯分組來邏輯地定義。
文檔編號H04L29/06GK1902578SQ200480039624
公開日2007年1月24日 申請日期2004年12月2日 優(yōu)先權(quán)日2004年1月21日
發(fā)明者羅伯特·布魯斯·尼科爾森, 尼古拉斯·邁克爾·奧魯爾克 申請人:國際商業(yè)機器公司