專利名稱:用于映射存儲環境的裝置、系統與方法
技術領域:
本發明涉及映射存儲環境,并且更特別地涉及映射存儲環境元件的虛擬化實例。
背景技術:
數據處理系統常常采用存儲環境來存儲數據。存儲環境可以為例如服務器、大型計算機、媒體傳送系統(media delivery system)、通信系統等的多個數據處理設備存儲和取回數據。存儲環境可以包括一個或多個存儲控制器。每一個存儲控制器可以管理一個或多個存儲設備或盤,例如硬盤驅動器、光存儲驅動器、固態存儲器存儲設備等。
例如服務器的數據處理設備可以通過向存儲控制器傳送數據而存儲數據。該存儲控制器可以將數據寫入盤。類似地,數據處理設備可以通過向存儲控制器請求數據而取回數據。存儲控制器則可以從盤讀取數據,并將該數據傳送給數據處理設備。在特定實施例中,盤包括存儲控制器。
每一個盤可以被劃分為一個或多個邏輯分區。另外,來自一個或多個盤的一個或多個邏輯分區可以在邏輯上進行聚集,以形成邏輯卷。
存儲環境可以采用存儲虛擬化系統(“SVS”)作為數據處理設備和存儲控制器之間的中間件。SVS可以是存儲區域網絡(“SAN”)卷控制器等等。在一個實施例中,SVS從存儲控制器的一個或多個邏輯卷創建虛擬盤。數據處理設備可以與虛擬盤通信,好像虛擬盤就是邏輯卷。
SVS向存儲控制器傳送向虛擬盤寫數據以及從該虛擬盤接收數據的請求。該存儲控制器完成向邏輯卷的盤寫數據,或完成從邏輯卷的盤取回數據。這樣,盡管數據存儲在存儲控制器的盤上,但是在存儲控制器用作SVS的后端設備的情況下,對于數據處理設備而言SVS看似就是存儲控制器。
SVS還可以包括受管理的盤。該受管理的盤可以與存儲控制器邏輯卷通信。寫入該SVS受管理的盤的數據被傳送給并寫入存儲控制器邏輯卷。另外,從該SVS受管理的盤讀出的數據是從存儲控制器邏輯卷取回并且接著從SVS傳送的。數據處理設備可以與該SVS通信,好像SVS是存儲控制器。另外,該SVS從受管理的盤創建虛擬盤,好像受管理的盤是一個盤。
數據處理系統可以通過SVS將數據存儲在一個或多個存儲控制器上,或者可以直接將數據存儲到一個或多個存儲控制器。另外,數據處理系統可能不能區別例如邏輯卷和盤的存儲環境元件與例如各自的虛擬盤和受管理的盤的存儲環境元件的虛擬化實例。在下文中,例如邏輯卷、虛擬盤、盤和受管理的盤的存儲環境元件稱作所定義的存儲單元(“DSU”)。
數據處理系統常常采用存儲監控應用來報告關于存儲環境的信息。這些應用則可以采用例如IBM公共信息模型/對象管理器(“CIM/OM”)的工具,以搜集關于該存儲環境中的特定元件的信息。例如,CIM/OM可以搜集關于存儲虛擬化系統和存儲子系統的存儲容量的信息。存儲監控應用從CIM/OM得到該信息,并且接著顯示表示該存儲環境的報告。
遺憾地是,在搜集關于存儲環境的信息中,存儲監控應用可能雙重計數某些存儲環境DSU。例如,存儲監控應用可以通過從CIM/OM收集關于SVS的信息得到關于SVS的虛擬盤的信息,并且還可以得到關于與映射到該SVS虛擬盤的虛擬盤相關聯的存儲控制器的邏輯卷的信息。于是,存儲監控應用可能產生不準確的報告,其中將邏輯卷的存儲狀態既作為邏輯卷的又作為虛擬盤的進行報告。
從以上討論,很明顯需要一種在存儲環境中將DSU映射為虛擬DSU的裝置、系統和方法。有利地,這種裝置、系統和方法將消除存儲環境DSU和存儲環境DSU的虛擬化實例的雙重計數。
發明內容
響應于現有技術的當前狀態,并且特別地,響應于當前可用的存儲環境映射方法仍未完全解決的現有技術中的問題和需要,發展了本發明。因此,發展了本發明以提供一種用于映射存儲環境的裝置、系統和方法,其克服了許多或所有以上所討論的現有技術的缺點。
該用于映射存儲環境的裝置設有邏輯單元,其包含配置成用于功能上執行識別第一控制器DSU,針對第二控制器DSU進行測試,以及如果存在與第一控制器DSU相對應的第二控制器DSU則標記該第一控制器DSU的所必需步驟的多個模塊。在所描述實施例中的這些模塊包括識別模塊、測試模塊和標記模塊。
識別模塊識別第一控制器DSU。在一個實施例中,第一控制器DSU是邏輯卷,并且該第一控制器被配置為是存儲控制器。在可選的實施例中,第一控制器DSU是受管理的盤,并且第一控制器是SVS后端控制器。
測試模塊針對與第一控制器DSU相對應的第二控制器DSU進行測試。例如,測試模塊可以測試分配給SVS節點主機總線適配器(“HBA”)全球端口名稱(“WWPN”)的邏輯卷的存在。在可選的例子中,測試模塊測試與SVS后端控制器WWPN相對應的存儲控制器WWPN的存在。如這里所使用的,術語“相對應的”涉及通過通信相關聯的元件。
如果存在與第一控制器DSU相對應的第二控制器DSU,則標記模塊標記該第一控制器DSU。例如,如果存在分配給SVS節點HBAWWPN的邏輯卷,則標記模塊可以標記邏輯卷。在可選的例子中,如果存在與SVS后端控制器WWPN相對應的存儲控制器WWPN,則標記模塊可以標記SVS后端控制器的受管理的盤。該裝置將存儲環境中的DSU映射到相對應的虛擬化DSU。
本發明還提出了一種系統,用于映射存儲環境。該系統可以體現在數據處理系統中。具體地,在一個實施例中,該系統包括存儲環境和數據處理設備。該存儲環境包括多個控制器。在一個實施例中,存儲環境包括至少一個存儲控制器和至少一個SVS。該數據處理設備包括識別模塊、測試模塊和標記模塊。在一個實施例中,數據處理設備還包括監控模塊和報告模塊。
存儲環境為數據處理系統存儲和取回數據。在一個實施例中,SVS將一個或多個存儲控制器的數據存儲功能虛擬化。例如,SVS可以虛擬化存儲控制器邏輯卷,使得該邏輯卷可作為虛擬盤用于數據處理系統。對于該數據處理系統,可能難以區別該虛擬盤與邏輯卷。
識別模塊識別第一控制器DSU。測試模塊針對與第一控制器DSU相對應的第二控制器DSU進行測試。如果存在與第一控制器DSU相對應的第二控制器DSU,則標記模塊標記第一控制器DSU。每一個標記的DSU在存儲環境內具有相對應的DSU實例。
在一個實施例中,監控模塊監控存儲環境DSU的狀態,在忽略標記的DSU的同時包括未標記的DSU。另外,報告模塊可以報告存儲環境DSU的狀態,在忽略標記的DSU的同時包括未標記的DSU。該系統通過關連(co-relating),即一個DSU是另一個DSU的實例,來支持存儲環境信息的搜集和報告。
本發明還提出了一種用于映射存儲環境的方法。在所公開的實施例中的方法基本包括實現關于所描述的裝置和系統的操作的上述功能所需要的步驟。在一個實施例中,該方法包括識別第一控制器DSU,針對第二控制器DSU進行測試,以及如果存在與第一控制器DSU相對應的第二控制器DSU則標記第一控制器DSU。
識別模塊識別第一控制器DSU。另外,測試模塊針對與第一控制器DSU相對應的第二控制器DSU進行測試。在一個實施例中,第二控制器DSU是第一控制器DSU的虛擬化實例。在可選的實施例中,第一控制器DSU是第二控制器DSU的虛擬化實例。
如果存在與第一控制器DSU相對應的第二控制器DSU,則標記模塊標記第一控制器DSU。在一個實施例中,監控模塊監控存儲環境中每一個未標記的DSU的狀態。另外,報告模塊可以報告每一個未標記的DSU的狀態。該方法標記具有相對應的DSU的DSU,從而允許監控和報告DSU信息時不會雙重計數DSU和DSU信息。
貫穿本說明書涉及的特點、優點或類似的語言不意味著本發明可以實現的所有特點和優點都應該存在于或者存在于本發明的任何單個實施例中。相反地,將涉及特點和優點的語言理解為意味著聯系實施例描述的具體特點、優點或特征被包括在本發明的至少一個實施例中。因此,貫穿說明書的特點和優點以及類似的語言的討論可以但并非必須涉及相同的實施例。
此外,所描述的本發明的特點、優點和特征可以在一個或多個實施例中以任何適當的方式組合。相關領域中的技術人員將認識到,沒有具體實施例的一個或多個具體特點或優點,可以實施本發明。在其他情況下,可能在某些實施例中認識到可能沒在本發明的所有實施例中出現的附加的特點和優點。
本發明的實施例將DSU實例映射到DSU的虛擬化實例,標記一個DSU實例。另外,本發明的實施例可以支持用于未標記的DSU信息的監控和報告,以防止雙重計數DSU信息。根據以下描述和后附的權利要求,本發明的這些特點和優點將更加明顯,或者可以通過在下文中闡述的本發明的實施而學習到本發明的這些特點和優點。
為了本發明的優點更易于理解,將通過參考在附圖中所示的具體實施例給出以上簡要描述的本發明的更具體的描述。應當理解這些附圖僅描述了本發明的典型實施例,并因此不應被認為是對其范圍的限制,將通過使用附圖利用附加的規定和細節來描述和解釋本發明,其中
圖1是示出根據本發明的數據處理系統的一個實施例的示意框圖;圖2是示出根據本發明的存儲控制器的一個實施例的示意框圖;圖3是示出根據本發明的SVS的示意框圖;圖4是示出本發明的映射裝置的示意框圖;圖5是根據本發明的數據處理設備的示意框圖;圖6是示出本發明的存儲環境映射方法的一個實施例的示意流程圖;圖7是示出本發明的存儲控制器映射方法的一個實施例的示意流程圖;圖8是示出本發明的SVS映射方法的一個實施例的示意流程圖;圖9是示出本發明的SVS映射方法的一個可選實施例的示意流程圖;圖10是示出本發明的邏輯卷映射的一個實施例的示意框圖;圖11是示出本發明的盤映射的一個實施例的示意框圖。
具體實施例方式
在本說明書中描述的許多功能單元已被標記為模塊,以便更加強調它們的實現的獨立性。例如,模塊可以實現為硬件電路,包括定制VLSI電路或門陣列、例如邏輯芯片的現成(off-the-shelf)半導體、晶體管或其他分立元件。模塊還可以在例如現場可編程門陣列、可編程陣列邏輯、可編程邏輯器件等的可編程硬件設備中實現。
模塊還可以在用于由各種類型的處理器執行的軟件中實現。例如,所標識的可執行代碼模塊可以包括一個或多個物理或邏輯計算機指令塊,例如,其可以被組織為對象、過程或函數。然而,所標識的模塊的可執行代碼不需要在物理上位于一起,而是可以包括存儲在不同位置中的分散指令,當在邏輯上連接在一起時,該分散指令包括該模塊并實現用于該模塊的所述目的。
實際上,可執行代碼的模塊可以是單個指令,或許多指令,并甚至可以分布在若干不同的代碼段上、不同的程序之間和跨越若干存儲設備。類似地,在此可以在模塊內標識并示出操作數據,并且操作數據可以體現為任何合適的形式以及組織在任何合適類型的數據結構內。操作數據可以被收集作為單個數據集,或者可以分布在不同位置上,包括分布在不同的存儲設備上,并且可以至少部分地僅作為電子信號存在于系統或網絡上。
貫穿本說明書涉及的“一個實施例”、“實施例”或類似語言意味著聯系該實施例所描述的具體特點、結構或特征被包括在本發明的至少一個實施例中。因此,貫穿本說明書的短語“在一個實施例中”、“在實施例中”等類似語言的出現可以但不必都涉及同一實施例。
涉及的信號承載介質可以采用任何能夠產生信號、引起信號產生或引起機器可讀指令的程序在數字處理裝置上執行的形式。信號承載介質可以由傳輸線、CD、DVD、磁帶、伯努利驅動器、磁盤、穿孔卡片、閃存、集成電路或其他數字處理裝置存儲設備來體現。
此外,所描述的本發明的特點、結構或特征可以在一個或多個實施例中以任何合適方式組合。在以下描述中,提供了大量具體細節,例如編程、軟件模塊、用戶選擇、網絡事務處理、數據庫查詢、數據庫結構、硬件模塊、硬件電路、硬件芯片等等的例子,以提供對于本發明的實施例的透徹理解。但是,相關領域的技術人員將認識到,不利用一個或多個所述具體細節,或利用其他方法、部件、材料等,可以實施本發明。在其他例子中,公知結構、材料或操作未被詳細示出或描述,以避免使得本發明的方面不清楚。
圖1是示出根據本發明的數據處理系統100的一個實施例的示意框圖。系統100包括一個或多個數據處理設備(“DPD”)105、一個或多個通信模塊110、一個或多個存儲控制器115以及一個或多個SVS 120。盡管為了簡單,該系統100描述為具有兩個DPD 105、兩個通信模塊110、兩個存儲控制器115和兩個SVS 120,但可以采用任何數目的DPD 105、通信模塊110、存儲控制器115和SVS 120。額外的設備也可以與該系統100進行通信。
在一個實施例中,存儲控制器115和SVS 120包括存儲環境125。該存儲環境125存儲和取回用于數據處理系統100的數據。DPD 105執行一個或多個軟件進程。另外,DPD 105可以存儲數據到該存儲環境125,并從該存儲環境125中取回數據。
DPD 105可以通過通信模塊110與該存儲環境125進行通信。該通信模塊110可以是路由器、網絡接口、存儲管理器、一個或多個因特網端口等。該通信模塊110在DPD 105和該存儲環境125之間傳遞通信。
存儲控制器115在該存儲環境125中存儲和取回數據。例如,如本領域的技術人員所公知的,DPD 105可以將數據寫入到第一存儲控制器115a,并從第二存儲控制器115b讀取數據。每一個存儲控制器115可以包括一個或多個盤。
在一個實施例中,SVS 120虛擬化一個或多個存儲控制器115的數據存儲功能。例如,第一SVS 120a可以虛擬化第一存儲控制器105a邏輯卷,使得該邏輯卷可作為虛擬盤用于該數據處理系統100。對于數據處理系統100,可能區分不開該虛擬盤與邏輯卷。在一個實施例中,第一DPD 105可以請求從第一SVS 120a的虛擬盤讀取數據。第二通信模塊110b可以將該請求傳送給第一SVS 120a。該第一SVS120a可以從與該第一SVS 120a的虛擬盤相對應的第一存儲控制器115a的邏輯卷取回所請求的數據。在可選的例子中,第一SVS 120a可以將一個或多個邏輯卷虛擬化為受管理的盤。
例如第二DPD 105b的DPD 105可以通過該第一通信模塊110a向第一SVS 120a查詢該虛擬盤的容量。該第一SVS 120a向包括邏輯卷的存儲控制器115(例如第一存儲控制器115a)查詢該邏輯卷容量,并將從該第一存儲控制器115a所接收的該容量報告給該第二DPD 105b。存儲環境125的邏輯卷、虛擬盤、盤和受管理的盤包括DSU。在可選的實施例中,例如第二DPD 105b的DPD 105可以向存儲控制器115或SVS 120的代理服務器查詢該DSU的容量。在特定的實施例中,該代理服務器可以包括CIM/OM。
遺憾地是,如果第二DPD 105b還向第一存儲控制器105a查詢邏輯卷的容量,則該第一存儲控制器115a將再次響應該邏輯卷的容量。這樣在DPD 105上執行的存儲監控應用軟件進程可能對來自例如第一存儲控制器115a邏輯卷和第一SVS 120a虛擬盤的DSU的信息雙重計數。
本發明的實施例映射該存儲環境125,識別和標記具有相對應的DSU實例的DSU實例。另外,本發明的實施例可以支持僅關于未標記的DSU實例進行監控和報告,防止DSU信息的雙重計數。
圖2是示出根據本發明的存儲控制器115的一個實施例的示意框圖。該存儲控制器115是圖1的存儲控制器115。如所示,該存儲控制器115包括一個或多個存儲控制器端口(“SC端口”)205,以及一個或多個盤210。示出了盤210聚集在一個或多個邏輯卷215中。盤210可以是硬盤驅動器、光存儲設備、磁帶驅動器、機電式存儲設備、半導體存儲設備等。
盡管為了簡單,示出了每一個邏輯卷215包括整個盤210,然而每一個盤210可以被劃分為一個或多個邏輯分區,并且每一個邏輯卷215可以包括來自一個或多個盤210的一個或多個邏輯分區。另外,盡管示出了存儲控制器115具有四個SC端口205、四個盤210和三個邏輯卷215,該存儲控制器115可以采用任何數目的SC端口205、盤210和邏輯卷215。
在一個實施例中,SC端口205被配置為是光纖通道端口。在可選實施例中,該SC端口205被配置為是小型計算機系統接口(“SCSI”)端口、令牌環端口等。例如圖1的DPD 105和SVS 120的DPD 105或SVS 120通過經SC端口205與該盤210或邏輯卷215相通信,可以將數據存儲到盤210或邏輯卷215,或者從該盤210或該邏輯卷215取回數據。每一個存儲控制器115和SVS端口320可以由一個或多個WWPN所識別。在一個實施例中,邏輯卷215被映射到一個或多個SC端口205的WWPN。
圖3是根據本發明的SVS 120的示意框圖。該SVS 120是圖1的SVS 120。如所示,該SVS 120包括一個或多個虛擬盤305、一個或多個后端控制器310、一個或多個受管理的盤315以及一個或多個SVS端口320。盡管為了簡單,示出了該SVS 120具有四個虛擬盤305、三個后端控制器310、四個受管理的盤315和四個SVS端口320,但是該SVS 120可以采用任何數目的虛擬盤305、后端控制器310、受管理的盤315和SVS端口320。
例如圖1的DPD 105的DPD 105可以與該SVS 120進行通信,將數據存儲到虛擬盤305或從該虛擬盤305取回數據。該虛擬盤305是存儲控制器115的邏輯卷215的虛擬實例,存儲控制器115例如是圖1和圖2的存儲控制器115,邏輯卷215例如是圖2的邏輯卷215。該虛擬盤305不物理地存儲數據。相反,該虛擬盤305被映射到一個或多個受管理的盤315。每一個受管理的盤被映射到該存儲控制器115的邏輯卷215。后端控制器310管理該虛擬盤305和該邏輯卷215之間的通信。
寫入到虛擬盤305的數據通過節點從后端控制器310傳輸。該節點包括HBA,并且該HBA被分配給WWPN。數據通過圖2的SC端口205和SVS端口320從該節點傳輸到邏輯卷215。在一個實施例中,該SVS端口320被配置為是光纖通道端口。該SVS端口320還可以是令牌環端口、SCSI端口等。
類似地,從該虛擬盤305所讀取的數據通過SC端口205和SVS端口320從邏輯卷215取回到后端控制器310。該數據還可以從該后端控制器310傳輸到DPD 105。該虛擬盤305對于該DPD 105而言表現為邏輯卷215。
在一個實施例中,受管理的盤315是邏輯卷215。該DPD 105可以將數據寫入到受管理的盤315,并從該受管理的盤315讀取數據。該受管理的盤315不存儲數據。相反,對于受管理的盤315的寫入通過SVS端口320和SC端口205從后端控制器310傳輸到存儲控制器115的邏輯卷215。類似地,對于從受管理的盤315讀取數據的請求通過該SVS端口320和SC端口205傳輸到該邏輯卷215。該邏輯卷215通過該SC端口205和SVS端口320將數據傳輸到后端控制器310,并且該后端控制器310可以傳輸所取回的數據。
圖4是本發明的映射裝置400的示意框圖。該裝置400可以包括在例如圖1的DPD 105的DPD 105中。在可選的實施例中,裝置400可以包括在例如圖1和圖2的存儲控制器115的存儲控制器115或例如圖1和圖3的SVS 120的SVS 120中。如所示,裝置400包括識別模塊405、測試模塊410、標記模塊415、監控模塊420、報告模塊425以及收集模塊430。該測試模塊410、標記模塊415、監控模塊420、報告模塊425以及收集模塊430可以被配置為是一個或多個軟件進程。在此所涉及的元件是圖1-3的元件。
識別模塊405識別第一控制器DSU。在一個實施例中,第一控制器DSU是邏輯卷215,并且第一控制器被配置為是存儲控制器115。在可選的實施例中,第一控制器DSU是受管理的盤315,并且該第一控制器是后端控制器310。
測試模塊410針對與第一控制器DSU相對應的第二控制器DSU進行測試。例如,測試模塊410可以針對分配給SVS 120節點HBAWWPN的邏輯卷215的存在進行測試。在可選的例子中,測試模塊410針對與后端控制器310 WWPN相對應的存儲控制器115 WWPN的存在進行測試。
如果存在與第一控制器DSU相對應的第二控制器DSU,則標記模塊415標記該第一控制器DSU。例如,如果存在分配給SVS 120節點HBA WWPN的邏輯卷215,則該標記模塊415可以標記該邏輯卷215。在可選的例子中,如果存在與后端控制器310 WWPN相對應的存儲控制器115 WWPN,則標記模塊415可以標記后端控制器310的受管理的盤315。
在可選的實施例中,識別模塊405識別向第一控制器DSU的查詢。識別模塊405可以包括在第一控制器中。測試模塊410可以針對與該第一控制器DSU相對應的第二控制器DSU的存在進行測試。如果存在與第一控制器DSU相對應的第二控制器DSU,則標記模塊415標記該第一控制器DSU。在一個實施例中,如果該第一控制器DSU被標記,則第一控制器不響應查詢。
在一個實施例中,收集模塊430被配置為收集用于每一個存儲控制器115邏輯卷215的WWPN的多個邏輯卷分配。收集模塊430可以針對邏輯卷215 WWPN分配來輪詢每一個邏輯卷215。可選地,收集模塊430可以參考用于每一個邏輯卷215的WWPN分配的配置文件。
在一個實施例中,監控模塊420在忽略已標記的DSU的同時,監控存儲環境125中未標記的DSU的狀態。例如,如果圖2的第一邏輯卷215a被標記,但是圖2的第二和第三邏輯卷215b、215c未標記,則該監控模塊420可以監控該第二和第三邏輯卷215b、215c和圖3的虛擬盤305,但不監控已標記的第一邏輯卷215a。
報告模塊425可以在忽略已標記的DSU的同時,報告存儲環境125中未標記的DSU的狀態。例如,如果圖3的第一受管理的盤315a被標記,但是圖3的第二、第三和第四受管理的盤315b-d未被標記,則該報告模塊425可以報告該第二、第三和第四受管理的盤315b-d以及圖2的盤210的狀態,但是不報告第一受管理的盤315a的狀態。裝置400將存儲環境125的DSU映射到相對應的虛擬DSU。
圖5是根據本發明的DPD 105的示意框圖。該DPD 105包括處理器模塊505、高速緩存模塊510、存儲器模塊515、北橋模塊520、南橋模塊525、圖形模塊530、顯示模塊535、基本輸入/輸出系統(“BIOS”)模塊540、網絡模塊545、外圍設備互連(“PCI”)模塊560以及存儲模塊565。如本領域的技術人員所公知,該DPD 105可以處理數據。在一個實施例中,該DPD 105是圖1的DPD 105。
可以在一個或多個半導體襯底上以半導體門電路制造在此稱作部件的處理器模塊505、高速緩存模塊510、存儲器模塊515、北橋模塊520、南橋模塊525、圖形模塊530、顯示模塊535、BIOS模塊540、網絡模塊545、PCI模塊560以及存儲模塊565。每一個半導體襯底可以封裝在安裝在電路卡上的一個或多個半導體器件中。部件之間的連接可以通過半導體金屬層、襯底到襯底的布線、或連接半導體器件的電路卡跡線或導線。
存儲器模塊515存儲軟件指令和數據。如本領域的技術人員所公知,處理器模塊505執行軟件指令并處理數據。在一個實施例中,圖4的測試模塊410、標記模塊415、監控模塊420、報告模塊425以及收集模塊430包括在該處理器模塊505上執行的一個或多個軟件進程。另外,測試模塊410、標記模塊415、監控模塊420、報告模塊425以及收集模塊430可以與圖1和圖3的SVS 120以及圖1和圖2的存儲控制器115進行通信,因為處理器模塊505通過北橋模塊520、南橋模塊525以及網絡模塊545與圖1的通信模塊110進行通信。網絡模塊545可以被配置為是以太網接口、令牌環接口等。
一般將以下的示意流程圖解釋為邏輯流程圖。這樣,所描述的順序和所標注的步驟表示所呈現方法的一個實施例。可以構思在功能、邏輯或效果上與所示方法的一個或多個步驟或其部分等同的其他步驟和方法。另外,所采用的格式和符號提供為來解釋本方法的邏輯步驟,并且認為所采用的格式和符號不限制本方法的范圍。盡管在流程圖中可以采用各種箭頭類型和線類型,應認為它們并不限制對應的方法的范圍。實際上,可以使用一些箭頭或其他連接器來僅指示本方法的邏輯流程。例如,箭頭可以指示在所描述的方法所列舉的步驟之間未規定的持續時間的等待或監控周期。另外,具體方法中出現的順序可以嚴格遵守或可以不嚴格遵守所示的對應步驟的順序。
圖6是示出本發明的存儲環境映射方法600的一個實施例的示意流程圖。該方法600基本包括執行關于所描述的圖1-5的裝置200、300、400、500和系統100的操作的上述功能所需要的步驟。所涉及的元件是圖1-5的元件。
方法600開始,并且識別模塊405識別605第一控制器DSU。在一個實施例中,第一控制器DSU是邏輯卷215,并且第一控制器是存儲控制器115。在可選的實施例中,第一控制器DSU是盤210,并且該第一控制器是存儲控制器115。
測試模塊410針對與第一控制器DSU相對應的第二控制器DSU進行測試610。在一個實施例中,第二控制器DSU是該第一控制器DSU的虛擬化實例。例如,如果該第一控制器是存儲控制器115,并且該第一控制器DSU是邏輯卷215,則該第二控制器可以是SVS120,并且該第二控制器DSU可以是虛擬盤305。在可選的實施例中,第一控制器DSU是第二控制器DSU的虛擬化實例。例如,如果第一控制器是后端控制器310,并且該第一控制器DSU是受管理的盤315,則第二控制器可以是存儲控制器115,并且該第二控制器DSU還可以被配置為是存儲控制器115。
如果測試模塊410確定610存在與第一控制器DSU相對應的第二控制器DSU,則標記模塊415標記615第一控制器DSU,并且該方法600結束。標記615第一控制器DSU指示存在可以被監控和報告的第一控制器DSU的另一個實例,或者存在可以被監控和報告的組成該第一控制器DSU的若干實例。因此,當監控和報告存儲環境125時,由于第一控制器DSU信息從相對應的第二控制器DSU獲取,所以第一控制器DSU可以在監控或報告操作期間被忽略。
如果測試模塊410確定610不存在與第一控制器DSU相對應的第二控制器DSU,則方法600結束,而不標記該第一控制器DSU。不標記該第一控制器DSU指示不存在第一控制器DSU的其他實例。因此當監控和報告存儲環境125時,應該監控和報告該第一控制器DSU。方法600標記該其是第二控制器DSU的一個實例的第一控制器DSU,從而允許僅監控和報告單個實例。
圖7是示出本發明的存儲控制器映射方法700的一個實施例的示意流程圖。該方法700基本包括執行關于所描述的圖1-6的裝置200、300、400、500、系統100和方法600的操作的上述功能所需要的步驟。所涉及的元件是圖1-5的元件。
方法700開始并且識別模塊405識別705存儲控制器115的邏輯卷215。在一個實施例中,通過針對由存儲控制器115所管理的所有邏輯卷215查詢該存儲控制器115,并通過從該多個邏輯卷215選擇一個邏輯卷215,識別模塊405識別705邏輯卷215。所選擇的邏輯卷215可以是識別模塊405以前所沒有選擇的。
測試模塊410測試710是否存在分配給SVS 120節點HBAWWPN的邏輯卷215。如果一個邏輯卷215被分配給SVS 120節點HBA WWPN,則標記模塊415標記715該邏輯卷215,并且該測試模塊410確定720是否所有的存儲控制器115邏輯卷215都已被測試。在一個實施例中,標記模塊415將該邏輯卷215標記715為已虛擬化。如果不存在分配給SVS 120節點HBA WWPN的邏輯卷215,則測試模塊410確定720是否已測試所有的存儲控制器115邏輯卷215。在一個實施例中,測試模塊410確定720是否已測試多個存儲控制器115的所有邏輯卷215。
如果測試模塊410確定720不是所有的存儲控制器115邏輯卷215都已被測試,則方法700循環到識別705邏輯卷215的識別模塊405。如果測試模塊410確定720所有的存儲控制器115邏輯卷215都已被測試,則監控模塊420可以監控725存儲環境125中的所有虛擬盤305和未標記的邏輯卷215。例如,監控模塊420可以搜集關于虛擬盤305和未標記的邏輯卷215的信息。
在一個實施例中,報告模塊425報告730存儲環境125中的虛擬盤305和未標記的邏輯卷215的狀態,同時不報告已標記的邏輯卷215的狀態,并且該方法700結束。通過不報告已標記的邏輯卷215的狀態,該報告模塊425避免了雙重報告已標記的邏輯卷215和虛擬盤305二者的狀態,其中該上述虛擬磁盤盤305與已標記的邏輯卷215相對應。
圖8是示出本發明的SVS映射方法800的一個實施例的示意流程圖。該方法800基本包括執行關于所描述的圖1-6的裝置200、300、400、500、系統100和方法600的操作的上述功能所需要的步驟。所涉及的元件是圖1-5的元件。
方法800開始,并且在一個實施例中,收集模塊430針對一個或多個存儲控制器115收集805 WWPN。在某一實施例中,收集模塊430針對WWPN向存儲控制器115查詢,并且該存儲控制器115將該WWPN傳輸到收集模塊430。
識別模塊405識別810 SVS 120的后端控制器310。在一個實施例中,通過針對由該SVS 120所包括的所有后端控制器310查詢SVS120,并通過從該多個后端控制器310選擇一個后端控制器310,識別模塊405識別810后端控制器310。在可選的實施例中,該SVS 120具有已知數目的后端模塊310,并且識別模塊405依次識別810和選擇每一個后端模塊310。所選擇的后端控制器310可以是識別模塊405以前所沒有選擇的。
測試模塊410測試815是否存在與后端控制器310 WWPN相對應的存儲控制器115 WWPN。如果存在對應于后端控制器310WWPN的來自所收集的805 WWPN的存儲控制器115 WWPN,則標記模塊415標記820受管理的盤315。受管理的盤315由后端控制器310控制,并且使用后端控制器310端口與存儲控制器115進行通信,其中上述后端控制器310端口具有唯一的WWPN。在一個實施例中,標記模塊415將受管理的盤315標記820為已知。
如果不存在對應于后端控制器310 WWPN的來自所收集的805WWPN的存儲控制器115 WWPN,則測試模塊410確定825是否已測試所有后端控制器310。在一個實施例中,測試模塊410確定825是否已測試多個SVS 120的所有后端控制器310。
如果測試模塊410確定825不是所有后端控制器310都已被測試,則方法800循環到識別810后端控制器310的識別模塊405。如果測試模塊410確定825已測試所有后端控制器310,則監控模塊420可以監控830存儲環境125中所有的盤210和未標記的受管理的盤315。例如,監控模塊420可以搜集關于盤210和未標記的受管理的盤315的信息。
在一個實施例中,報告模塊425報告835盤210和未標記的受管理的盤315的狀態,同時不報告已標記的受管理的盤315的狀態,并且方法800結束。通過不報告已標記的受管理的盤315的狀態,報告模塊425避免了雙重報告已標記的受管理的盤315和對應于受管理的盤315的盤210二者的狀態。
圖9是示出本發明的SVS映射方法900的一個可選實施例的示意流程圖。該方法900基本包括執行關于所描述的圖1-6的裝置200、300、400、500、系統100和方法600的操作的上述功能所需要的步驟。所涉及的元件是圖1-5的元件。
方法900開始,并且在一個實施例中,收集模塊430針對一個或多個存儲控制器115的一個或多個邏輯卷215收集905邏輯卷215對于WWPN的分配。在某一實施例中,收集模塊430針對每一個邏輯卷215的WWPN分配查詢存儲控制器115,并且該存儲控制器115將該分配傳輸給收集模塊430。
識別模塊405識別910用于受管理的盤315的SVS端口320。在一個實施例中,識別模塊405查詢SVS 120以識別每一個SVS 120受管理的盤315,選擇受管理的盤315,并向SVS 120查詢受管理的盤315 SVS端口320 WWPN。所選擇的受管理的盤315 SVS端口320可以是識別模塊405以前所沒有選擇的。
測試模塊410測試915是否存在分配給存儲控制器115邏輯卷215的SVS端口320 WWPN。如果存在分配給存儲控制器115邏輯卷215的SVS 320 WWPN,則標記模塊415標記920該受管理的盤315。在一個實施例中,標記模塊415將受管理的盤315標記820為已知。
如果不存在分配給存儲控制器115邏輯卷215的SVS端口320WWPN,則測試模塊410確定925是否已測試所有受管理的盤315。在一個實施例中,測試模塊410確定925是否已測試多個SVS 120的所有受管理的盤315。
如果測試模塊410確定925不是所有受管理的盤315都已被測試,則方法900循環到識別910 SVS端口320的識別模塊405。如果測試模塊410確定925已測試所有受管理的盤315,則監控模塊420可以監控930存儲環境125中的所有盤210和未標記的受管理的盤315。
在一個實施例中,報告模塊425報告930在存儲環境125中的盤210和未標記的受管理的盤315的狀態,同時不報告已標記的受管理的盤315的狀態,并且方法900結束。
圖10是示出本發明的邏輯卷映射1000的一個實施例的示意框圖。例如圖1和圖2的存儲控制器115的存儲控制器115包括兩個盤210,例如圖2的盤210。第一盤210a被劃分為第一和第二邏輯分區1010a、1010b。第二盤210b包括單個第三邏輯分區110c。聚集第二和第三邏輯分區1010b、1010c作為邏輯卷215,如剖面線所示。
SVS 120將邏輯卷215虛擬化為受管理的盤315。該SVS 120將一組受管理的盤315表示為虛擬盤305。該虛擬盤305通過例如圖3的SVS端口320的SVS端口320和圖2的SC端口205的SC端口205與邏輯卷215通信。如果已標記715邏輯卷215,例如通過圖7的方法700,則僅監控725和報告730該虛擬盤305,防止邏輯卷215和虛擬盤305的雙重計數。
圖11是示出本發明的盤映射1100的一個實施例的示意框圖。例如圖1、圖2和圖10的存儲控制器115的存儲控制器115被配置為具有例如圖2和圖10的盤的兩個盤210。該盤210包括邏輯卷215。例如圖1、圖3和圖10的SVS 120的SVS 120包括例如圖3和圖10的后端控制器310的后端控制器310。該后端控制器310將邏輯卷215虛擬化作為例如圖3的受管理的盤315的受管理的盤315。該后端控制器310將寫入到受管理的盤315的數據通過例如圖3和圖10的SVS端口320的SVS端口320和例如圖2和圖10的SC端口205的SC端口205,寫入到駐留在盤210上的邏輯卷215。類似地,當例如圖1的DPD 105的DPD 105從受管理的盤315讀取數據時,后端控制器310傳輸從邏輯卷215所讀出的數據。
因此,受管理的盤315虛擬化邏輯卷215。如果該受管理的盤315是例如通過圖8和圖9的方法800或方法900已標記的820、920,則僅監控830、930和報告835、935第一和第二盤210a、210b。忽略受管理的盤315防止了該受管理的盤315與第一盤和第二盤210a、210b的雙重計數。
本發明的實施例將DSU實例映射到虛擬化的DSU實例,標記一個DSU實例。另外,本發明的實施例可以支持用于未標記的DSU的信息的監控和報告,以防止雙重計數DSU信息。
在不偏離其精神或實質特征的前提下,本發明可以體現為其他具體形式。在所有方面,所描述的實施例應當考慮為是示例性而不是限制性的。因此,本發明的范圍由后附的權利要求而不是由以上描述所指示。在該權利要求的等價的含義和范圍內的所有改變都將包括在其范圍內。
權利要求
1.一種用于映射存儲環境的裝置,所述裝置包括識別模塊,配置成用于識別第一控制器DSU;測試模塊,配置成用于針對與該第一控制器DSU相對應的第二控制器DSU進行測試;以及標記模塊,配置成用于如果存在與該第一控制器DSU相對應的第二控制器DSU,則標記該第一控制器DSU。
2.根據權利要求1所述的裝置,還包括監控模塊,配置成用于監控每一個未標記的DSU的狀態。
3.根據權利要求1所述的裝置,還包括報告模塊,配置成用于報告每一個未標記的DSU的狀態。
4.根據權利要求1所述的裝置,其中該第一控制器被配置為是存儲控制器,該第一控制器DSU被配置為是邏輯卷,該第二控制器被配置為是存儲虛擬化系統,并且該第二控制器DSU被配置為是虛擬盤。
5.根據權利要求4所述的裝置,其中針對與該第一控制器DSU相對應的該第二控制器DSU的測試是測試分配給存儲虛擬化系統節點HBA WWPN的邏輯卷的存在。
6.根據權利要求1所述的裝置,其中該第一控制器被配置為是存儲虛擬化系統后端控制器,該第一控制器DSU被配置為是受管理的盤,該第二控制器被配置為是存儲控制器,并且該第二控制器DSU被配置為是該存儲控制器。
7.根據權利要求6所述的裝置,還包括收集模塊,配置成用于收集對于WWPN的多個存儲控制器邏輯卷分配,并且其中針對與該第一控制器DSU相對應的該第二控制器DSU的測試是測試與存儲虛擬化系統后端控制器WWPN相對應的存儲控制器WWPN的存在。
8.根據權利要求6所述的裝置,其中該第二控制器DSU被配置為是邏輯卷,該裝置還包括收集模塊,配置成用于收集針對多個存儲控制器邏輯卷的WWPN,并且其中針對與該第一控制器DSU相對應的第二控制器DSU的測試是測試分配給存儲控制器邏輯卷的存儲虛擬化系統WWPN的存在。
9.一種用于檢測冗余查詢的裝置,該裝置包括識別模塊,配置成用于識別對第一控制器DSU的查詢;測試模塊,配置成用于針對與該第一控制器DSU相對應的第二控制器DSU進行測試;以及標記模塊,配置成用于如果存在與該第一控制器DSU相對應的第二控制器DSU,則標記該第一控制器DSU。
10.一種用于映射存儲環境的系統,該系統包括存儲環境,配置成用于存儲數據,并包括第一和第二控制器;數據處理設備,包括識別模塊,配置成用于識別第一控制器DSU;測試模塊,配置成用于針對與該第一控制器DSU相對應的第二控制器DSU進行測試;以及標記模塊,配置成用于如果存在與該第一控制器DSU相對應的第二控制器DSU,則標記該第一控制器DSU。
11.根據權利要求10所述的系統,其中該第一控制器被配置為是存儲控制器,該第一控制器DSU被配置為是邏輯卷,該第二控制器被配置為是存儲虛擬化系統,并且該第二控制器DSU被配置為是虛擬盤,并且其中針對與該第一控制器DSU相對應的該第二控制器DSU的測試是測試分配給存儲虛擬化系統節點HBA WWPN的邏輯卷的存在。
12.根據權利要求10所述的系統,其中該第一控制器被配置為是存儲虛擬化系統后端控制器,該第一控制器DSU被配置為是受管理的盤,該第二控制器被配置為是存儲控制器,并且該第二控制器DSU被配置為是該存儲控制器,還包括收集模塊,配置成用于收集對于WWPN的多個存儲控制器邏輯卷分配,并且其中針對與該第一控制器DSU相對應的該第二控制器DSU的測試是測試與存儲虛擬化系統后端控制器WWPN相對應的存儲控制器WWPN的存在。
13.根據權利要求10所述的系統,其中該第一控制器被配置為是存儲虛擬化系統后端控制器,該第一控制器DSU被配置為是受管理的盤,該第二控制器被配置為是存儲控制器,并且該第二控制器DSU被配置為是該存儲控制器,該系統還包括收集模塊,配置成用于收集針對多個存儲控制器邏輯卷的WWPN,并且其中針對與該第一控制器DSU相對應的該第二控制器DSU的測試是測試分配給存儲控制器邏輯卷的存儲虛擬化系統WWPN的存在。
14.根據權利要求10所述的系統,該存儲環境還包括盤。
15.根據權利要求10所述的系統,其中該存儲虛擬化系統被配置為是存儲區域網絡虛擬控制器。
16.一種用于部署計算機基礎設施的方法,包括將計算機可讀代碼集成到計算系統中,其中與該計算系統相結合的該代碼能夠執行以下步驟識別第一控制器DSU;針對與該第一控制器DSU相對應的該第二控制器DSU進行測試;以及如果存在與該第一控制器DSU相對應的第二控制器DSU,則標記該第一控制器DSU。
17.根據權利要求16所述的方法,其中該第一控制器被配置為是存儲控制器,該第一控制器DSU被配置為是邏輯卷,該第二控制器被配置為是存儲虛擬化系統,并且該第二控制器DSU被配置為是虛擬盤。
18.根據權利要求17所述的方法,其中該針對與該第一控制器DSU相對應的該第二控制器DSU的測試是測試分配給存儲虛擬化系統節點HBA WWPN的邏輯卷的存在。
19.根據權利要求16所述的方法,其中該第一控制器被配置為是存儲虛擬化系統后端控制器,該第一控制器DSU被配置為是受管理的盤,該第二控制器被配置為是存儲控制器,并且該第二控制器DSU被配置為是該存儲控制器。
20.根據權利要求19所述的方法,還包括收集多個WWPN,并且其中針對與該第一控制器DSU相對應的該第二控制器DSU的測試是測試與存儲虛擬化系統后端控制器WWPN相對應的存儲控制器WWPN的存在。
21.根據權利要求19所述的方法,其中該第二控制器DSU被配置為是邏輯卷,還包括收集針對多個存儲控制器邏輯卷的WWPN,并且其中針對與該第一控制器DSU相對應的第二控制器DSU的測試是測試分配給存儲控制器邏輯卷的存儲虛擬化系統WWPN的存在。
22.一種具體體現機器可讀指令的程序的信號承載介質,該程序可以由數字處理裝置執行,以執行根據前述方法權利要求任何之一的映射存儲環境的操作。
全文摘要
公開了一種用于映射存儲環境的裝置、系統和方法。識別模塊識別第一控制器所定義的存儲單元。測試模塊針對與該第一控制器所定義的存儲單元相對應的第二控制器所定義的存儲單元進行測試。在一個實施例中,該第二控制器所定義的存儲單元是該第一控制器所定義的存儲單元的虛擬化實例。在可選的實施例中,該第一控制器所定義的存儲單元是該第二控制器所定義的存儲單元的虛擬化實例。如果存在與該第一控制器所定義的存儲單元相對應的第二控制器所定義的存儲單元,則標記模塊標記該第一控制器所定義的存儲單元。在一個實施例中,監控模塊監控存儲環境中每一個未標記的所定義的存儲單元的狀態。另外,報告模塊可以包括每一個未標記的所定義的存儲單元的狀態。
文檔編號G06F3/06GK1952870SQ20061013929
公開日2007年4月25日 申請日期2006年9月22日 優先權日2005年10月19日
發明者卡維塔·馬尼施·沙, 戴維·林恩·默巴赫, 凱文·約瑟夫·韋伯斯特, 邁克爾·洛倫·拉姆 申請人:國際商業機器公司