專利名稱:存儲系統和存儲控制裝置的制作方法
技術領域:
本發(fā)明涉及存儲系統和存儲控制裝置。
背景技術:
例如,在數據中心那樣的處理大規(guī)模數據的數據庫系統中,用不同于主機計算機而構成的存儲系統來管理數據。這種存儲系統例如由盤陣列裝置等構成,盤陣列裝置是把多個存儲裝置排列成陣列狀而構成的裝置,例如,根據RAID(Redundant Array of Independent Inexpensive disks獨立的廉價盤的冗余陣列)構建起來。在存儲裝置群提供的物理存儲區(qū)上形成至少一個以上的邏輯卷(邏輯單元),然后將該邏輯單元提供給主機計算機(更詳細地說是在主機計算機上運行的數據庫程序)。主機計算機通過發(fā)送規(guī)定的指令而可以對邏輯單元進行數據的寫入和讀出。
隨著信息化社會的進展,應當用數據庫管理的數據與日俱增。因此,就要求性能更高容量更大的存儲控制裝置,為了應對這種市場需求,正在開發(fā)新型的存儲控制裝置。作為把新型的存儲控制裝置引入存儲系統的方法,有兩種方法,一種方法是把舊型的存儲控制裝置與新型的存儲控制裝置完全替換,完全由新型的存儲控制裝置構成存儲系統的方法(日本公開專利特表平10-508967號公報),另一種方法是在由舊型的存儲控制裝置構成的存儲系統中新追加新型的存儲控制裝置,新舊型的存儲控制裝置并存的方法。
還有一種公知的技術是用中心單位管理物理裝置的存儲區(qū)域,由中心單位動態(tài)地構成邏輯裝置(日本公開專利特開2001-337850號公報)。
另外一種公知的技術是在由容量不同的多個存儲裝置構建邏輯裝置時,把容量最少的存儲裝置合并起來形成區(qū)域,再把其余的容量合并到最小的容量中形成區(qū)域(日本公開專利特開平9-288547號公報)。
在從舊型的存儲控制裝置完全轉移到新型的存儲控制裝置的情況下,雖然可以利用新型的存儲控制裝置的功能、性能,但是,不能有效地利用舊型的存儲控制裝置,還會增大引入成本。在將舊型的存儲控制裝置與新型的存儲控制裝置并存的情況下,構成存儲系統的存儲控制裝置的數量就增多,而且,管理運用新舊兩方存儲控制裝置的工作量大。
在具備舊型的存儲控制裝置的存儲裝置的應答性低的情況下,把該舊型的存儲裝置連接到存儲系統上,會降低系統整體的性能。例如,是舊型的存儲裝置伴有機械的動作(磁頭尋找等)的裝置,機械的動作時間有可能會長,或者舊型的存儲裝置所具備的數據傳送用緩沖存儲器的容量可能小。
另外,像開放式存儲裝置與主機的組合或者僅能連接具備特定功能的存儲裝置的服務器等那樣,有可能不能原樣利用舊型的存儲裝置。
發(fā)明內容
鑒于上述的問題,本發(fā)明的目的之一是提供一種能夠使新舊存儲控制裝置那樣不同的存儲控制裝置協作而有效地利用存儲資源的存儲系統和存儲控制裝置。
本發(fā)明的另一個目的是提供一種可以像新型存儲裝置那樣利用舊型存儲裝置的存儲系統和存儲控制裝置。
本發(fā)明的再一個目的是提供一種能夠有效地利用舊型存儲裝置的優(yōu)點,同時可追加新功能的存儲系統和存儲控制裝置。
從后述的實施例的記載能夠使本發(fā)明的其他目的更加清楚。
圖1是本發(fā)明的實施例的存儲系統的整體構成框圖。
圖2是存儲系統的邏輯構成的概要示意圖。
圖3是其他的邏輯構成的概要示意圖。
圖4是映象表的概要說明圖。
圖5是構建映象表的處理流程圖。
圖6是把數據寫入到假想為內部單元的外部存儲裝置的情況的示意圖。
圖7是示意性地表示寫入數據的地址變換的方式的說明圖。
圖8是從假想為內部單元的外部存儲裝置讀出數據的情況的示意圖。
圖9是本發(fā)明其他實施例的用來驗證交錯路徑結構的處理流程圖。
具體實施例方式
為解決上述課題,按照本發(fā)明的存儲系統可通信地把第一存儲控制裝置和第二存儲控制裝置連接起來而構成,進行對應于來自上位裝置的請求的數據處理;第一存儲控制裝置具備由上位裝置訪問的至少一個以上的邏輯單元和為把該邏輯單元與至少一個以上的存儲裝置連接起來而設置的至少一個以上的中間存儲層;中間存儲層中的至少一個層被連接在第二存儲控制裝置具有的存儲裝置上。
這里,作為存儲控制裝置,例如可以列舉出盤陣列裝置或光纖通道開關等;作為上位裝置,例如可以列舉出個人計算機、主機等的計算機。第一存儲控制裝置與第二存儲控制裝置經通信網絡連接起來,可以進行雙向通信;第一存儲控制裝置與上位裝置也經通信網絡連接起來,可以進行雙向通信。第二存儲控制裝置與上位裝置也連接起來,其間可以進行雙向通信。作為通信網絡,例如可以列舉出LAN(Local Area Network局域網)、SAN(Storage Area Network存儲區(qū)網絡)、專用線路、互聯網等;作為對應于來自上位裝置的請求的數據處理,例如可以列舉出數據的讀出處理、數據的寫入處理等。第一存儲控制裝置和第二存儲控制裝置可以設置在同一側,也可以分別設置在不同側。在第一存儲控制裝置設置有存儲裝置的情況下,該存儲裝置也經中間存儲層連接在邏輯單元上。
第一存儲控制裝置具備至少一個以上的邏輯單元,該邏輯單元例如可以是LUN(Logic Unit Number邏輯單元號),邏輯單元被作為存儲區(qū)提供給上位裝置。上位裝置可以進行向邏輯單元的數據寫入、從邏輯單元的數據讀出等。在邏輯單元的下層設置有中間存儲層,該中間存儲層是連接在邏輯單元和存儲裝置之間的層。從邏輯單元經中間存儲層把來自上位裝置的訪問傳達給存儲裝置??梢苑謩e設置多個邏輯單元和中間存儲層,至少一個中間存儲層連接在第二存儲控制裝置的存儲裝置(也可以稱為外部存儲裝置或第二存儲裝置)上。
即,第二存儲控制裝置的存儲裝置經中間存儲層連接到邏輯單元上,再經邏輯單元連接到上位裝置。因此,上位裝置能夠與利用第一存儲控制裝置的存儲裝置一樣,隨意利用第二存儲控制裝置的存儲裝置。例如,在用中間存儲層實現RAID等功能的情況下,能夠把第一存儲控制裝置具有的功能追加到第二存儲控制裝置的存儲裝置中,并能夠提供給上位裝置。
理論上講,第二存儲控制裝置的存儲區(qū)也可以直接連接到邏輯單元上,但是,在不經中間存儲層直接把邏輯單元和第二存儲控制裝置的存儲區(qū)連接起來的情況下,由于受到第二存儲控制裝置所具有的功能或性能的約束,很難改變存儲區(qū)的構成(RAID、分割、擴展等)來追加功能等。而經中間存儲層間接把邏輯單元和第二存儲控制裝置的存儲裝置連接起來就能夠不依賴于第二存儲控制裝置的功能或性能,再成為新的存儲資源提供給上位裝置。例如,可以把多個第二存儲控制裝置的各存儲裝置匯總為一個中間存儲層,同時可以把一個第二存儲控制裝置的存儲裝置分割為多個中間存儲層。
按照本發(fā)明的其他觀點的存儲控制裝置可通信地把上位裝置和第二存儲控制裝置連接起來,進行對應于來自上位裝置的請求的數據處理;存儲控制裝置具備由上位裝置訪問的至少一個以上的邏輯單元和為把該邏輯單元與至少一個以上的存儲裝置連接起來而設置的至少一個以上的中間存儲層;中間存儲層中的至少一個層被連接在第二存儲控制裝置具有的存儲裝置上。
按照本發(fā)明的一種實施方式,中間存儲層具有設定在存儲裝置上的至少一個以上的第一存儲層和設定在該第一存儲層上的至少一個以上的第二存儲層,第二存儲控制裝置具有的存儲裝置映象于第一存儲層。
中間存儲層可以由處于下層的第一存儲層和處于上層的第二存儲層構成二重結構,第一、第二存儲層之間連接起來。通過把第二存儲控制裝置的存儲裝置映象于第一存儲層就能夠經中間存儲層把第二存儲控制裝置的存儲裝置連接在邏輯單元上,提供給上位裝置。這里,例如通過引入把用來識別第一存儲層的識別信息、用來識別第二存儲控制裝置的存儲裝置的信息、第二存儲控制裝置的存儲裝置的存儲容量和裝置類別(盤裝置或帶裝置等)、第二存儲控制裝置的存儲裝置的路徑信息(WWN(World Wide Name)或LUN)一一對應起來的映象表,就能夠把第二存儲控制裝置的存儲裝置映象于第一存儲層。
按照本發(fā)明的一種實施方式,具有可從上位裝置分別經不同的多條路徑進行訪問的多個邏輯單元,各邏輯單元分別連接在中間存儲層上。
這樣,由于把多個邏輯單元連接在中間存儲層上,所以即使因障礙不能使用一方路徑時,也可以經另一方路徑進行訪問,能夠利用連接在中間存儲層上的第二存儲控制裝置的存儲裝置提供的存儲資源。
按照本發(fā)明的實施方式,在設置有取得向第二存儲控制裝置具有的存儲裝置的路徑信息的路徑信息取得裝置,并且存在多個所取得的路徑信息的情況下,把各路徑信息認作向同一存儲裝置的路徑信息。
第二存儲控制裝置的存儲裝置有可能具備有多條路徑,例如,有可能具有可從多個LUN訪問同一個邏輯單元的交錯路徑結構。這種情況下,路徑信息取得裝置取得向第二存儲控制裝置的存儲裝置的內部路徑信息即可認識交錯路徑結構的路徑信息。這樣,也可以利用第二存儲控制裝置的存儲裝置具備的交錯路徑結構。
按照本發(fā)明的其他觀點的控制方法,是一種存儲控制裝置的控制方法,該存儲控制裝置可通信地將上位裝置與第二存儲控制裝置連接起來,并且進行對應于來自上位裝置的請求的數據處理;該控制方法的特征在于包含取得向第二存儲控制裝置具有的存儲裝置的路徑信息的步驟;把所取得的路徑信息映象于連接在用上位裝置訪問的邏輯單元上的中間存儲層的步驟。
按照本發(fā)明的另外的其他觀點的計算機程序是一種由計算機執(zhí)行的用來把第二存儲控制裝置具有的存儲裝置作為內部單元設定在存儲控制裝置內的計算機程序,該程序包括如下步驟取得向第二存儲控制裝置具有的存儲裝置的路徑信息;把所取得的路徑信息映象于連接在用上位裝置訪問的邏輯單元上的中間存儲層。
以下根據圖1~圖9說明本發(fā)明的實施例。
如下面的詳細描述,本發(fā)明中,把存在于外部的存儲裝置映象于自己的假想裝置(DVEV),由此來把外部存儲裝置作為自己的內部單元提供給上位裝置。
1.第一實施例圖1是本實施例的存儲系統的主要部分的構成框圖。
主機裝置10例如是具備CPU(Central Computer Unit)或存儲器等信息處理資源的計算機裝置,例如,構成為個人計算機、工作站、主機等。主機裝置10例如可以設置有鍵板開關或指示裝置、話筒等信息輸入裝置(未示出)和監(jiān)視顯示器或揚聲器等信息輸出裝置,另外,在主機裝置10中還設置有例如使用第一存儲控制裝置20提供的存儲區(qū)的數據庫軟件等應用程序11和經通信網絡CN1訪問第一存儲控制裝置20的適配器12。
主機裝置10經通信網絡CN1連接到第一存儲控制裝置20,作為通信網絡CN1,可以根據情況適宜地使用例如LAN、SAN、互聯網、專用線路、公共線路等,例如根據TCP/IP(Transmission Control Protocol/InternetProtocol)通信協議經LAN進行數據通信。在主機裝置10經LAN連接在第一存儲控制裝置20上的情況下,主機裝置10指定文件名并請求按文件單位輸入輸出數據。另一方面,在主機裝置10經SAN連接在第一存儲控制裝置20等上的情況下,主機裝置10根據光釬信道協議請求以由多個盤存儲裝置(盤驅動器)提供的存儲區(qū)的數據管理單位即數據塊為單位輸入輸出數據。在通信網絡CN1是LAN的情況下,適配器12例如是LAN對應的網卡;在通信網絡CN1是SAN的情況下,適配器12例如是主總線適配器。
圖中,主機裝置10經通信網絡CN1僅連接在第一存儲控制裝置20上,但是,也可以經通信網絡CN2把主機裝置10和第二存儲控制裝置40連接起來。第二通信網絡CN2例如可以由LAN、SAN、互聯網、專用線路、公共線路等構成。
第一存儲控制裝置20例如可以構成為盤陣列子系統。但是并不限定于此,例如第一存儲控制裝置20也可以構成為高功能化的智能型光纖信道開關。如后所述,第一存儲控制裝置20是把第二存儲控制裝置40具有的存儲資源作為自己的邏輯單元(Logical Unit)提供給主機裝置10的裝置,所以,無須具有自己直接支配的本機存儲裝置。
第一存儲控制裝置20可以大致區(qū)別為控制器部和存儲裝置部,控制器部例如設置有多個信道適配器(下稱“CHA”)21、多個盤適配器(下稱“DKA”)22、控制單元(CU)23、高速緩沖存儲器24、共享存儲器25、連接部26。
各CHA21是進行與主機裝置10間的數據通信的適配器。各CHA21具備用來與主機裝置10進行通信的通信端口21A,另外,各CHA21分別作為具備CPU或存儲器等的微機系統構成,解釋并執(zhí)行從主機裝置10接收到的各種指令。在各CHA21中分配有識別各CHA的網絡地址(例如,IP地址或WWN),各CHA21可以個別地作為NAS(Network AttachedStorage網絡連接存儲器)動作。如果存在多個主機裝置10,各CHA21可以分別個別地接受來自各主機裝置10的請求。
各DKA22是與存儲裝置30的存儲器31、32之間進行數據授受的適配器,各DKA22設置有為連接到存儲器31、32的通信端口22A。另外,各DKA22作為具備CPU或存儲器等的微機系統構成,各DKA22根據來自主機裝置10的請求(寫入命令)把CHA21從主機裝置10接收到的數據寫入到規(guī)定的存儲器31、32的規(guī)定的地址內;根據來自主機裝置10的請求(讀出命令)從規(guī)定的存儲器31、32的規(guī)定的地址讀出數據,并且發(fā)送到主機裝置10。在存儲器31、32之間進行數據輸出輸入時,各DKA22把邏輯地址變換成為物理地址。在按照RAID管理存儲器31、32的情況下,進行對應于RAID結構的數據存取。
控制單元23是控制裝置整體動作的控制單元,在控制單元23上例如連接著管理用的控制臺(未示出)??刂茊卧?3監(jiān)視裝置內的故障發(fā)生,并顯示在控制臺上,同時根據來自控制臺的指令指示存儲器的閉塞處理等。
高速緩沖存儲器24暫時存儲從主機裝置10接收到的數據或從存儲器31、32讀出的數據。在共享存儲器25內存儲控制信息。另外,在共享存儲器25內除設定有工作區(qū)之外,還存儲有后述的映象表Tm等的各種表類。也可以把存儲器31、32的某一個或多個用作高速緩沖器用的盤。
連接部26把各CHA21、各DKA22、控制單元23、高速緩沖存儲器24、共享存儲器25相互連接起來。連接部26可以構成為由高速開關動作進行數據傳送的超高速縱橫連接器等的高速總線。
存儲裝置30設置有多個存儲器31,例如可以使用硬盤、軟盤、磁帶、半導體存儲器、光盤等裝置作為存儲器31。存儲裝置30內用虛線表示的存儲器32是表示把第二存儲控制裝置40具有的存儲器42取入到第一存儲控制裝置20側的狀態(tài)。即,本實施例中,從第一存儲控制裝置20看,把存在于外部的存儲器42作為第一存儲控制裝置20的內部存儲器,把外部存儲器42的存儲資源提供給主機裝置10。
第二存儲控制裝置40設置有通信端口41和存儲器42,此外,還可以設置CHA或DKA等,但是,第二存儲控制裝置40的詳細結構并非本發(fā)明的要點,所以未說明。第二存儲控制裝置40經通信網絡CN2連接在第一存儲控制裝置20上,第二存儲控制裝置40的存儲器42被用作第一存儲控制裝置20的內部存儲器。
參照圖2,該圖是第一存儲控制裝置20和存儲器32的一個邏輯概略結構示意圖。如圖所示,第一存儲控制裝置20具有由從下層開始按順序VDEV101、LDEV102、LUN103構成的3層存儲層。
VDEV101是處于邏輯存儲層的最下位的假想裝置(Virtual Device),是把物理存儲資源假想化的裝置,可以適用RAID結構。即,可以從一個存儲器31形成多個VDEV101(切片);也可以從多個存儲器31形成一個VDEV101(鑲條)。圖2中的左側所示的VDEV101例如按照規(guī)定的RAID結構把存儲器31假想化。
另一方面,映象第二存儲控制裝置40的存儲器42來構成圖2中右側所示的VDEV101,即,本實施例中,通過用后述的映象表Tm把由第二存儲控制裝置40的存儲器42提供的邏輯單元(LDEV)映象于VDEV101,就能夠作為第一存儲控制裝置20的內部單元來使用。在圖所示的例子中,映象4個存儲器42A~42D來構建VDEV101,從各自的通信端口41A~41D確定各自的LUN43A~43D就能夠分別個別地訪問各存儲器42A~42D。把唯一的識別信息即WWN分配給各通信端口41A~41D并把LUN號設定到各LUN43A~43D中,就能夠按WWN和LUN號的組合特別指定存儲器。
LDEV102設置在VDEV101的上面,LDEV102是把假想裝置(VDEV)假想化的邏輯裝置(邏輯卷)。既可以從一個VDEV101連接到兩個LDEV102上,也可以從多個VDEV101連接到一個LDEV102上,可以經各自的LUN103訪問LDEV102。這樣,在本實施例中,通過把存儲器42連接在處于LUN103和存儲器42之間的中間存儲層(VDEV101,LDEV102)上,就能夠把外部的存儲器42用作第一存儲控制裝置20的內部單元之一。
圖3是其他邏輯的概略結構的示意圖。圖3中,由第二存儲控制裝置40的存儲器42提供的LDEV50具有具備多條路徑的交錯路徑結構。即,在各存儲器42的上面構建作為邏輯卷的LDEV50,可以經兩條路徑(存取數據路徑)分別訪問該LDEV50。一條路徑從第一通信端口41(1)經LUN43到達LDEV50,另一條路徑從第二通信端口41(2)經LUN43到達LDEV50。因此,假設因故障等不能使用一條路徑,也可以經另一條路徑訪問LDEV50??山浂鄺l路徑分別進行訪問的情況下,經一方利用數據的過程中,要進行必要的數據保護等,以使從另一條路徑進行訪問而不更新數據。
在圖3所示的例子中,第一存儲控制裝置20通過把第二存儲控制裝置40的存儲資源(LDEV50)映象于自己的VDEV101,把外部的LDEV50作為內部的LDEV102來利用。把多個LDEV102設定在一個VDEV101內,經多條路徑把外部LDEV50映象于該VDEV101。主機裝置10僅認識LUN103(結果,直到認識LDEV102),LUN103以下的結構都對主機裝置10隱蔽。多個LDEV102分別利用同一個VDEV101,該VDEV101經多條路徑連接到同一個LDEV50。因此,在圖3所示的例子中,能夠利用第二存儲控制裝置40具有的交錯路徑結構,提高第一存儲控制裝置20的冗余性。
下面,參照圖4。圖4所示的例子是把外部的存儲器42(具體地說,由外部的存儲器42提供的LDEV50)映象于VDEV101的表結構。
把例如由分別用來識別VDEV101的VDEV號和外部的存儲器42的信息一一對應起來就能夠構成映象表Tm,作為外部裝置信息,例如可以包含裝置識別信息、存儲器42的存儲容量、表示裝置類別的信息(例如磁帶類裝置或盤類裝置等)、向存儲器42的路徑信息構成。路徑信息可以包含各通信端口41內固有的識別信息(WWN)和用來識別LUN43的LUN號。圖4中所示的裝置識別信息或WWN等是為說明上方便而設置的值,沒有特別的意義。另外,3個路徑信息對應于圖4中的下側所示的VDEV號“3”的VDEV101。即,映象于該VDEV101(#3)的外部存儲器42在其內部設置具有3條路徑的交錯路徑結構,但是,在VDEV101(#3)中認識并映象該交錯路徑結構。因為通過這3條路徑的任何一個都能訪問同一個存儲區(qū),所以即使在某一條或某兩條路徑發(fā)生了故障,也能夠經剩余的正常的路徑存取所希望的數據。
通過采用圖4所示的映象表Tm,可以對第一存儲控制裝置20內的一個以上的VDEV101映象一個或多個外部的存儲器42。
然后參照圖5,說明把外部的存儲器42映象于VDEV101的方法之一例。圖5是映象時在第一存儲控制裝置20和第二存儲控制裝置40之間進行的處理的主要部分的流程圖。
首先,第一存儲控制裝置20經CHA21的啟始端口(21A)注冊到第二存儲控制裝置40(S1);第二存儲控制裝置40回應第一存儲控制裝置20的注冊,結束注冊(S2)。然后,第一存儲控制裝置20把例如按SCSI(Small Computer System Interface)規(guī)格規(guī)定的詢問指令發(fā)送到第二存儲控制裝置40,求得第二存儲控制裝置40具有的存儲器42的細節(jié)(S3)。
詢問指令是為了弄清詢問目標的裝置的種類和結構所使用的指令,能夠透過詢問目標裝置具有的層把握其物理結構。第一存儲控制裝置20使用詢問指令就能夠從第二存儲控制裝置40取得例如裝置名、裝置類型、制造序號(產品ID)、LDEV號、各種版本信息、賣主ID信息(S4);第二存儲控制裝置40把詢問到的信息發(fā)送給第一存儲控制裝置20,作出應答(S5)。
第一存儲控制裝置20把從第二存儲控制裝置40取得的信息登錄在映象表Tm的規(guī)定的地方(S6);然后,第一存儲控制裝置20從第二存儲控制裝置40讀出存儲器42的存儲容量(S7);第二存儲控制裝置40對于來自第一存儲控制裝置20的詢問,發(fā)返存儲器42的存儲容量(S8);進行回應(S9);第一存儲控制裝置20把存儲器42的存儲容量登錄在映象表Tm的規(guī)定地方(S10)。
通過進行上述的處理,就能夠構建起映象表Tm。在與映象于第一存儲控制裝置20的VDEV101的外部的存儲器42(外部LUN即外部的LDEV50)之間進行數據的輸入輸出的情況下,參照后述的其他表進行地址變換等。
參照圖6~圖8說明第一存儲控制裝置20和第二存儲控制裝置40之間的數據輸入輸出。首先,根據圖6和圖7來說明寫入數據的情況。圖6是數據寫入時的處理示意圖,圖7是用與各種表的關系表示圖6中的處理流程的說明圖。
主機裝置10可以把數據寫入到第一存儲控制裝置20提供的邏輯單元(LDEV102)內,例如,采用在SAN中設定假想的SAN子網絡的分區(qū)或主機裝置10保持的LUN掩蓋可訪問的LUN的方法就能夠設定主機裝置10僅能對特定的LDEV102進行訪問。
主機裝置10要寫入數據的LDEV102經VDEV101連接到作為內部存儲器的存儲器31的情況下,按通常的處理來寫入數據。即,一旦來自主機裝置10的數據被存儲在高速緩沖存儲器24內,就從高速緩沖存儲器24經DKA22存儲到規(guī)定的存儲器31的規(guī)定地址上,這時,DKA22把邏輯地址變換為物理地址、另外,在是RAID的情況下,同一數據被存儲在多個存儲器31內。
相對于此,在主機裝置10要寫入數據的LDEV102經VDEV101連接到外部存儲器42的情況下,按圖6所示的流程寫入數據。圖6(a)是以存儲層為中心表示的流程圖,圖6(b)是以使用高速緩沖存儲器24的一方為中心表示的流程圖。
主機裝置10明示特別指定寫入目標LDEV102的LDEV號和特別指定用來訪問該LDEV102的通信端口21A的WWN,并發(fā)布寫入指令(Write)(S21);一旦第一存儲控制裝置20接收到來自主機裝置10的寫入指令,就生成為發(fā)送到第二存儲控制裝置40的寫入指令,并發(fā)送到第二存儲控制裝置40(S22)。第一存儲控制裝置20配合外部的LDEV50變更從主機裝置10接收到的寫入指令中的寫入目標地址信息,由此來生成新的寫入指令。
然后,主機裝置10把應寫入的數據發(fā)送到第一存儲控制裝置20(S23),再從LDEV102經VDEV101(S24)把第一存儲控制裝置20接收到的數據傳送到外部的LDEV50(S26)。這里,第一存儲控制裝置20在把來自主機裝置10的數據存儲到高速緩沖存儲器24內的時刻把寫入完成的應答(Good)返回到主機裝置10(S25);第二存儲控制裝置40在從第一存儲控制裝置20接收到數據的時刻(或結束對存儲器42寫入的時刻)把寫入結束報告發(fā)送到第一存儲控制裝置20(S26)。即,第一存儲控制裝置20對主機裝置10報告寫入結束的時期(S25)與實際把數據存儲在存儲器42內的時期是不同的(非同步方式)。因此,在實際把數據存儲到存儲器42內之前就可以把主機裝置10解放出來,去進行其他處理。
參照圖6(b),在高速緩沖存儲器24內設置有多個子塊24A。第一存儲控制裝置20把由主機裝置10指定的邏輯塊地址變換為子塊的地址,并把數據存儲在高速緩沖存儲器24的規(guī)定地方(S24)。
參照圖7說明利用各種表變換數據的方式。如圖7的上部所示,主機裝置10對規(guī)定的通信端口21A指定LUN號(LUN#)和邏輯塊地址(LBA),并發(fā)送數據。第一存儲控制裝置20根據圖7(a)所示的第一變換表T1把輸入來為LDEV102用的數據(LUN#+LBA)變換為VDEV101用的數據,第一變換表T1是用來把指定內部的LUN103的數據變換為VDEV101用的數據的LUN-LDEV-VDEV變換表。例如把LUN號(LUN#)、對應于該LUN103的LDEV102的號碼(LDEV#)和最大存儲槽數、對應于LUN102的VDEV101的號碼(VDEV#)和最大存儲槽數一一對應起來構成該表T1。參照該表T1把來自主機裝置10的數據(LUN#+LBA)變換為VDEV101用的數據(VDEV#+SLOT#+SUBBLOCK#)。
然后,第一存儲控制裝置20參照圖7(b)所示的第二變換表T2把VDEV101用的數據變換為為發(fā)送并存儲在第二存儲控制裝置40的外部LUN(LDEV50)用的數據。在第二變換表T2中例如把VDEV101號(LDEV#)、用來把來自該VDEV101的數據發(fā)送到第二存儲控制裝置40的啟始端口號、用來特別指定數據傳送目標的通信端口41的WWN、可經該通信端口訪問的LUN號一一對應起來。第一存儲控制裝置20根據該第二變換表T2把應存儲的數據的地址信息變換為啟始端口號#+WWN+LUN#+LBA的形式,這樣,變更了地址信息的數據就從所指定的啟始端口經通信網絡CN2到達指定的通信端口41。而且,數據在所指定的LUN43中存儲在可訪問的LDEV50的規(guī)定的地方。由于LDEV50被假想構建在多個存儲器42上,所以數據的地址被變換為物理地址,并被存儲在規(guī)定的裝置的規(guī)定地址上。
圖7(c)表示其他第二變換表T2a,在把鑲條功能或RAID功能使用于由來于外部存儲器42的VDEV101的情況下,使用該第二變換表T2a。把VDEV號(VDEV#)、鑲條大小、RAID級別、用來識別第二存儲控制裝置40的號碼(SS#(存儲器系統號))、啟始端口號、通信端口41的WWN和LUN43的號碼一一對應起來構成變換表T2a。在圖7(c)所示的例子中,一個VDEV101利用由SS#(1、4、6、7)確定的總共4個外部存儲裝置構成RAID1。給SS#1分配的3個LUN(#0、#0、#4)被設定在同一個裝置(LDEV#)內。LUN#0的單元具備有2個訪問數據路徑的交錯路徑結構。這樣,在本實施例中,通過由存在于外部的多個邏輯單元(LDEV)構成VDEV101,就能夠把鑲條或RAID功能追加提供給主機裝置10。
參照圖8來說明從第二存儲控制裝置40的LDEV50讀出數據時的流程。
首先,主機裝置10指定通信端口21A,并把數據的讀出指令發(fā)送到第一存儲控制裝置20(S31)。一旦接收到讀出指令,第一存儲控制裝置20就生成應從第二存儲控制裝置40讀出所要求的數據的讀出指令,第一存儲控制裝置20把所生成的讀出指令發(fā)送到第二存儲控制裝置40(S32)。第二存儲控制裝置40根據從第一存儲控制裝置20接收到的讀出指令從存儲器42讀出所要求的數據,并發(fā)送到第一存儲控制裝置20(S33),然后報告正常結束讀出(S35)。如圖8(b)所示,第一存儲控制裝置20把從第二存儲控制裝置40接收到的數據存儲在高速緩沖存儲器24的規(guī)定地方(S34)。
第一存儲控制裝置20讀出被存儲在高速緩沖存儲器24內的數據并進行地址變換之后,經LUN103表示數據發(fā)送到主機裝置10(S36),進行讀出結束報告(S37)。在數據讀出時的這一連串處理中,可以反向進行與圖7一起描述的變換操作。
圖8中,表示了根據來自主機裝置10的請求從第二存儲控制裝置40讀出數據,并保存在高速緩沖存儲器24內,但是,并不限定于此,也可以把存儲在外部的LDEV50內的全部或部分數據預先存儲在高速緩沖存儲器24內。這種情況下,對從主機裝置10來的讀出指令,可以直接從高速緩沖存儲器24讀出數據并發(fā)送到主機裝置10。
如上所述的那樣,按照本實施例,由于把外部的存儲器42(準確地講是外部的LDEV50)映象到VDEV101構成,所以可以像內部的邏輯單元一樣對待外部的邏輯單元,或者像假想的內部存儲裝置一樣對待外部的存儲器42。因此,即使是第二存儲控制裝置40不能直接連接到主機裝置10的舊型的裝置,由于插入新型的第一存儲控制裝置20,也能夠把舊型裝置的存儲資源再利用作第一存儲控制裝置20的存儲資源提供給主機裝置10。從而可以把舊型的存儲裝置統歸于新型的存儲控制裝置20有效地利用存儲資源。
在第一存儲控制裝置20是高性能、高功能的新型裝置的情況下,可以用第一存儲控制裝置20所具有的高性能的計算機資源(高速緩沖存儲器容量或CPU處理速度等)掩蓋第二存儲控制裝置40的低性能,可以用有效使用外部的存儲器42的假想的內部單元對主機裝置10提供高性能的服務。
另外,例如可以把鑲條、擴展、分割、RAID等功能追加使用于構建在外部的存儲器42上的LDEV50內,因此,與把外部的單元直接映象于LUN103的情況相比,利用的自由度更高,使用更加方便。
因為可以像內部邏輯單元那樣使用外部的邏輯單元,所以,第一存儲控制裝置20對于作為通常的內部單元的LDEV102可利用的各項功能,對于假想的內部單元(連接LDEV50上的LDEV)也都能適用。作為可利用的各項功能,例如可以列舉出的有MRCF、遠距離復制、CVS、LUSE等。這里,所謂MRCF(Multiple RAID Coupling Feature)功能是數據不經由主機裝置10(主機釋放)就可作成邏輯單元的復制品的功能。所謂遠距離復制功能是使設置在本機側的主要單元與設置在遠距離側的次級單元的存儲內容同步的功能。所謂CVS(Customizable Volume Size)功能是可用符合標準的大小的任意大小設定邏輯單元的大小的可變容量功能。所謂LUSE(LU Size Expansion)功能是把多個邏輯單元統歸于一個邏輯單元來減少主機裝置10可認識的LUN數的LUN大小擴展功能。
另外,因為可以把由外部的邏輯卷構建的VDEV101分別連接在多個LDEV102上,所以通過把主機裝置10分別連接在各LDEV102的LUN103上就能夠得到交錯路徑結構,而且可以取得負荷分散的效果。
因為用詢問指令來把握第二存儲控制裝置40所具有的交錯結構并映象于VDEV101,所以也可以繼承第二存儲控制裝置40所具有的交錯結構,從而可以提高存儲系統的冗余性。
對于此,背景技術部分所列舉的現有技術是僅僅是一種按區(qū)段單位再構成本機存儲裝置即存儲控制裝置直接支配下的存儲裝置的單元的技術,并不是像本實施例那樣把外部的存儲裝置作為假想的內部的存儲裝置來對待。而且,其他現有技術是把存儲區(qū)的大小最適合于符合本機存儲裝置的存儲容量,而不像本實施例那樣可把外部的存儲裝置42利用作假想的內部存儲裝置的技術。
2.第二實施例下面參照圖9說明本發(fā)明的第二實施例,本實施例的特征在于驗證第二存儲控制裝置40具有的交錯路徑結構這一點。
圖9是由第一存儲控制裝置20執(zhí)行的交錯路徑結構的驗證處理概要流程圖。第一存儲控制裝置20參照映象表Tm來選擇被認作交錯路徑的一組(通常為2個)訪問數據路徑(S41)。
然后,第一存儲控制裝置20經所選擇的各路徑分別從規(guī)定的地址讀出數據(S42);判定分別從規(guī)定的地址讀出的數據是否一致(S43)。如果分別從兩方地址讀出的數據一致(S43“是”),可以大致判定為正在構建交錯路徑結構。但是,各路徑被連接在各不相同的單元上,還有可能偶然把同一數據存儲在各個讀出目標地址上。
因此,在本實施例中,作為第二階段的確認,是經一方路徑把特定的數據寫入到規(guī)定的地址上(S44),該寫入的數據與在S42讀出的數據不同。然后,經另一方路徑再次從規(guī)定的地址讀出數據,判斷該讀出的數據是否與在S44寫入的特定數據一致(S45);如果兩數據一致(S45“是”),驗證正在構建交錯路徑結構(S46)。
在第一階段的步驟(S43)或第二階段的步驟(S45)之一被判定為“否”的情況下,判斷為被登錄在映象表Tm內的交錯路徑結構錯誤,進行錯誤處理(S47)。作為該錯誤處理可以列舉出映象表Tm再構建等。
這樣,因為具備驗證用詢問指令把握的第二存儲控制裝置40的交錯路徑結構的處理,所以能夠提高可靠性。由于用第一階段的測試和第二階段的測試兩個階段來進行驗證,其中第一階段的測試是判定分別從各路徑讀出的數據是否一致,而第二階段的測試是先寫入與讀出的數據不相同的數據,再分別從各路徑讀出數據,判斷其是否一致,因此,能夠提高驗證的可靠性。
本發(fā)明不限定于上述的各實施例,本領域的普通技術人員可以在本發(fā)明的范圍內進行各種追加或變更。前述的各實施例中是以盤陣列裝置為中心進行了說明,但并不限定于此,也可以適用于智能化的光纖信道開關。
權利要求
1.一種存儲系統,可通信地把第一存儲控制裝置和第二存儲控制裝置連接起來而構成,進行對應于來自上位裝置的請求的數據處理;所述第一存儲控制裝置具備由所述上位裝置訪問的至少一個以上的邏輯單元和為把該邏輯單元與至少一個以上的存儲裝置連接起來而設置的至少一個以上的中間存儲層;所述中間存儲層中的至少一個層被連接在所述第二存儲控制裝置具有的存儲裝置上。
2.一種存儲控制裝置,可通信地把上位裝置和第二存儲控制裝置連接起來,進行對應于來自所述上位裝置的請求的數據處理;該存儲控制裝置具備由所述上位裝置訪問的至少一個以上的邏輯單元和為把所述邏輯單元與至少一個以上的存儲裝置連接起來而設置的至少一個以上的中間存儲層;所述中間存儲層中的至少一個層被連接在所述第二存儲控制裝置具有的存儲裝置上。
3.根據權利要求2的存儲控制裝置,其特征在于所述中間存儲層具有設定在所述存儲裝置上的至少一個以上的第一存儲層和設定在該第一存儲層上的至少一個以上的第二存儲層;所述第二存儲控制裝置具有的存儲裝置映象于所述第一存儲層。
4.根據權利要求2的存儲控制裝置,其特征在于具有可從所述上位裝置分別經不同的多條通路進行訪問的多個邏輯單元,所述各邏輯單元分別連接在所述中間存儲層上。
5.根據權利要求2的存儲控制裝置,其特征在于設置有取得向第二存儲控制裝置具有的存儲裝置的路徑信息的路徑信息取得裝置;并且在存在多個所取得的路徑信息的情況下,把所述各路徑信息認作向同一存儲裝置的路徑信息。
6.一種存儲控制裝置的控制方法,該存儲控制裝置可通信地把上位裝置與第二存儲控制裝置連接起來,進行對應于來自所述上位裝置的請求的數據處理;該控制方法包括如下步驟取得向第二存儲控制裝置具有的存儲裝置的路徑信息;把所取得的路徑信息映象于連接在用所述上位裝置訪問的邏輯單元上的中間存儲層。
7.一種用計算機執(zhí)行的計算機程序,它把第二存儲控制裝置具有的存儲裝置作為內部單元設定在存儲控制裝置內;執(zhí)行如下步驟取得向第二存儲控制裝置具有的存儲裝置的路徑信息;把所取得的路徑信息映象于連接在用所述上位裝置訪問的邏輯單元上的中間存儲層。
8.一種交錯路徑結構的驗證方法,用來在給上位裝置提供的存儲控制裝置中驗證外部的存儲控制裝置所具有的存儲裝置是否是自己所具有的存儲裝置那樣驗證交錯路徑結構,,該驗證方法包括如下步驟選擇向所述外部存儲裝置連接的多條路徑;經由這些選擇的各路徑分別從所述外部存儲裝置讀出數據;判定所讀出的這些數據的各數據是否一致。
9.一種交錯路徑結構的驗證方法,用來在給上位裝置提供的存儲控制裝置中驗證外部的存儲控制裝置所具有的存儲裝置是否是自己所具有的存儲裝置那樣驗證交錯路徑結構,,該驗證方法包括如下步驟選擇向所述外部存儲裝置連接的多條路徑;經由這些選擇的各路徑分別從所述外部存儲裝置讀出數據;判定所讀出的這些數據的各數據是否一致;如果所讀出的各數據一致,寫入不同于從所述選擇出的各路徑中的任一條路徑所讀出的所述數據不同的別的數據;經所述選出的各路徑再次從所述外部存儲裝置讀出數據;判定所讀出的這些數據是否與所述別的數據一致。
全文摘要
把外部的存儲資源假想化為內部的存儲資源,來有效地利用存儲資源。第一存儲控制裝置20具有由LUN103連接的LDEV(邏輯裝置)102和連接在LDEV的下位的VDEV(假想裝置)101的多層存儲層。通過對外部存儲控制裝置40A~D具有的存儲資源進行映象來構成VDEV的至少一個。在進行映象時,可以追加鑲條功能或RAID等功能等。通過把外部存儲資源用作假想的內部存儲資源,也能夠在假想的內部單元內使用對通常的內部單元可適用的各種功能(遠距離復制、可變單元功能),從而提高了利用的自由度。
文檔編號G06F12/16GK1604028SQ20041005002
公開日2005年4月6日 申請日期2004年6月24日 優(yōu)先權日2003年9月29日
發(fā)明者田村圭史, 中山信一, 內海勝廣 申請人:株式會社日立制作所