專利名稱:具有執行格式化或粉碎功能的存儲系統的制作方法
技術領域:
本發明總地涉及具有執行格式化或粉碎功能的存儲系統。
背景技術:
存儲系統已知具有刪除數據的功能,例如在專利文獻1至3所公開。專利文獻1 日本公開專利申請2007-265492專利文獻2 日本公開專利申請2008-27335專利文獻3 日本公開專利申請2008-9064
發明內容
現在,如果存儲系統中的邏輯存儲設備即使沒有被使用而閑置及忽視,那么仍存 在邏輯存儲設備中存儲的數據泄露的危險。因此,本發明的目的在于降低邏輯存儲設備中存儲的數據的泄露危險。存儲系統包括檢測單元和安全處理單元。檢測單元檢測系統變化,根據該系統變 化對于存儲系統中的多個邏輯存儲設備中的第一邏輯存儲設備不能執行I/O。安全處理單 元利用這種類型的系統變化所出現的機會對于所述第一邏輯存儲設備執行安全處理,即格 式化或粉碎。第一邏輯存儲設備可以是基于物理存儲設備形成的實體邏輯存儲設備,或者還可 以是不基于任何物理存儲設備的虛擬邏輯存儲設備。在后者的情況下,將實體邏輯存儲設 備分派給第一邏輯存儲設備,并且在被分配給第一邏輯存儲設備的實體邏輯存儲設備中存 儲作為第一邏輯存儲設備的I/O對象的數據。
圖1示出根據本發明實施例的計算機系統的結構的示例。圖2示出各種計算機程序之間的協作以及這些計算機程序和各種表格之間的關系。圖3A示出在刪除LU路徑之前LU路徑和LDEV之間的關系。圖;3B示出在刪除LU路徑之后LU路徑和LDEV之間的關系。圖4A示出在轉移處理之前分配給轉移源LDEV的LDEV號和分配給轉移目的地 LDEV的LDEV號、以及來自服務器的I/O的目的地。圖4B示出在轉移處理之后分配給轉移源LDEV的LDEV號和分配給轉移目的LDEV 的LDEV號、以及來自服務器的I/O的目的地。圖5A示出LDEV表的結構的示例。圖5B示出LU路徑表的結構的示例。圖6示出LU路徑管理屏幕的示例。圖7示出轉移表的結構的示例。
圖8示出數據轉移管理屏幕的示例。圖9示出安全表的結構的示例。圖10示出安全管理屏幕的示例。圖11示出刪除LU路徑的處理的流程圖。圖12示出分配新的LU路徑的處理的流程圖。圖13示出數據轉移處理的流程圖。圖14示出安全決定的處理流程。圖15示出安全監控的處理流程。圖16示出安全處理的處理流程。附圖標記說明35磁盤控制器45 磁盤單元50存儲系統
具體實施例方式下面將參考附圖描述本發明的實施例。應該理解到在下面的描述中,為了防止冗 余描述,盡管在恰當時可以將計算機程序作為語法上的主語來描述處理,實際上是通過執 行計算機程序的處理器來執行該處理。圖1示出根據本發明的實施例的計算機系統的結構的示例。在通信網絡(例如SAN(存儲區域網絡))3中,連接有服務器(服務器1和服務器 2)和存儲系統50。該存儲系統具有SVP (服務處理器)17,并且管理終端5通過LAN (局域 網)7連接至SVP。例如,服務器1和2可以是具有例如CPU (中央處理單元)和存儲器等信息處理資 源的計算機,并且還可以是例如個人計算機、工作站、大型計算機等。盡管在這個實施例中 僅描述了兩個服務器,還可以具有更多或更少的服務器。管理終端5是裝配有如上所述的信息處理資源視為計算機,并且還是用于維護并 管理存儲系統50的計算機。該管理終端5在來自使能管理終端5的用戶的命令的基礎上 執行與SVP 17的各種類型信息的互換。當通過LAN 7接收到信息時,管理終端5將其接收 到的信息作為所謂的視覺信息(visual information)輸出給監視器(在圖中未示出)等。 通過使能管理終端5,例如,用戶可以執行硬盤驅動器39 (此后被稱為HDD)的設置或邏輯存 儲設備41 (此后稱為LDEV)等的設置。存儲系統50可以例如是包括以陣列形式布置的大量HDD 39的RAID (獨立(或廉 價)磁盤冗余陣列)系統。然而,存儲系統50不應由此受到限制;存儲系統50例如可以是 由具有高等級功能的智能型光纖通道開關構成。例如,存儲系統50可以被整體分為磁盤控 制器(DKC) 35和磁盤控制單元(DKU) 45。例如,DKC 35可包括通道適配器(CHA) 9、高速緩沖存儲器11、磁盤適配器 (DKA)13、開關(Sff) 15,SVP 17、微處理器(MP) 19、以及公共存儲器21。應該理解到,盡管為 了便于描述,在上面的描述和附圖中,對于由附圖標記9、11、13和17表示的每個設備示出 的數目為兩個,但是也可以存在更多或更少的這樣的設備。
CHA 9是執行例如與服務器1和2的數據通信的接口設備。例如,這些CHA 9可以 是計算機系統(例如電路板),其中每個計算機系統都具有CPU、存儲器、連接至服務器的多 個通信端口等等。例如,高速緩沖存儲器11是易失性(或非易失性)存儲器,并且臨時地存儲從服 務器1接收的數據和從HDD 39讀取的數據。DKA 13是執行與HDD 39的數據通信的接口設備。例如,每個DKA 13還可以作為 具有CPU、存儲器、多個通信端口等的微型計算機系統(例如電路板)。Sff 15互相連接CHA 9、高速緩沖存儲器11、DKA 13、MP 19、以及公共存儲器21。 例如,每個SW 15可以作為高速總線,例如通過高速切換操作執行數據傳輸的超高速交叉 總線開關。例如,SVP 17在來自管理終端5的信息收集命令信號的基礎上,通過MP 19收集 關于存儲系統50的各種類型的信息。將已經被收集的信息經由LAN 7輸出給管理終端5。 并且,在來自管理終端5的信息寫命令信號的基礎上,SVP 17還執行將各種類型的信息寫 入到共享的存儲器21等等。MP 19通過執行各種計算機程序來執行各種類型的處理。具體來說,例如,由MP 19執行主程序23、結構管理程序25、轉移程序27、以及安全程序四(在圖中“程序”被縮寫 為 “PG,,)。例如,公共存儲器21是易失性(或非易失性)存儲器,并且存儲用于控制存儲系 統50的參考消息。該存儲的信息可以是例如結構信息31和各種類型的管理表33。該結構信息31是與存儲系統50的結構相關的信息。例如,結構信息31可以包括 與RAID組37中包含的HDD 39相關的信息。作為各種類型的管理表33,存在LDEV表51 (參考圖5A)、LU (邏輯單元)路徑表 53 (參考圖5B)、轉移表55 (參考圖7)、以及安全表57 (參考圖9),稍后將描述這些表。在DKU 45中包括多個(例如三個)RAID組37。RAID組根據預定的RAID等級存 儲數據。每個RAID組37由兩個或更多個HDD 39構成。替代HDD 39,可以使用一些其他 類型的物理存儲設備,例如軟盤、磁帶、半導體存儲器(例如閃速存儲器)、光盤等。RAID組 37可以是所謂的奇偶組或陣列組。在構成RAID組37的兩個或更多個HDD 39中的存儲空 間的基礎上形成一個或多個LDEV 41。圖2示出上述計算機程序之間的協作、以及各種計算機程序和各種表之間的關系。主程序23根據來自服務器1和2的1/0(寫命令或讀命令)執行LDEV的I/O。具 體地,例如,主程序23根據CHA 9接收到的寫命令在高速緩沖存儲器11中寫入寫對象數 據,并且然后根據該寫命令通過DKA 13將該寫對象數據寫到支持LDEV的HDD 39。此外,例 如,響應于CHA 9接收到的讀命令,主程序23根據該讀命令從支持LDEV的HDD 39中讀出 讀對象數據,將已經被讀出的讀對象數據寫入到高速緩沖存儲器11,并且然后通過CHA 9 將該讀對象數據發送至發送了讀命令的原始服務器。此外,當從管理終端5接收到命令時,主程序23基于命令的屬性調用結構管理程 序25、轉移程序27或安全程序四。例如,如果主程序23已經接收到刪除或追加LU路徑的 命令,則調用結構管理程序25 ;如果主程序^接收到轉移命令,則調用轉移程序27,并且如果主程序23接收到用于設置安全過程的命令,則調用安全程序四。例如,結構管理程序25參考LDEV表51或LU路徑表53,并且執行LU路徑管理(例 如刪除LU路徑的處理或分配新的LU路徑的處理)。此外,結構管理程序25通知安全程序 29其已經接收到用于執行刪除LU路徑的請求或分配新的LU路徑的請求,并且從安全程序 29接收對其已經分配了 LU路徑的目的地LDEV的狀態。此外,結構管理程序25還通知主程 序23何時處理已經完成。例如,轉移程序27執行轉移表55的更新以及數據轉移處理(在LDEV 41之間轉 移數據)。轉移程序27通知安全程序四或主程序23何時已經完成了轉移。例如,安全程序四執行安全決定(更新安全表57等)、安全監控(對于是否需要 安全處理進行監控)、以及安全處理。安全處理包括粉碎和LDEV格式化。粉碎是多次執行 對LDEV寫入空(dummy)數據的處理,使得很好地刪除LDEV中存儲的數據。另一方面,對 LDEV格式化是指對LEDV寫入格式化數據的處理。設備TOD (關于日期的時間)59是管理當前日期和時間的設備。安全程序四基于 從設備TOD 59獲得的當前日期和時間來更新安全表57。在本實施例中,當刪除LU路徑時,并且當完成了數據轉移處理時(具體地,當切換 LDEV號時),執行安全處理。下文中將對此進行描述。首先,將描述LU路徑的刪除。如圖3A所示,對每個端口 9分配一個或多個LUN (邏輯單元號)。此外,對一個或 更多個LUN分配主機組。“主機組(host group)”意味著將連接至存儲系統50的各端口的 服務器進行分類的組,并且對每個主機具有不同平臺的多個主機可以被設置為主機組。應 該理解到,為了設置LU路徑,必須預先設置主機組。當設置服務器1和2來分離主機組時, 分配對于服務器的主機總線適配器固有的WWN(全球唯一名字),并且還在主機組和LDEV之 間建立對應性。來自服務器1和2的I/O受到分配了 LUN的主機組控制。例如,如果將分 派給端口 ID “A”的LUN “0”和“1”分配給服務器1的主機組1,則在服務器1的情況下,可 以對于分配了 LUN “0”和“1”的LDEV 41A和41B執行1/0,而在其他服務器的情況下,不能 對 LDEV 41A 和 41B 執行 I/O。LU路徑是從任一個服務器到任一個LDEV的路徑。具體地,例如,LU路徑由端口 ID、主機組ID、LUN和LDEV號(LDEV#)組成。例如,在圖3A中,第一 LU路徑由端口 ID“A”、 主機組ID “1,,、LUN “0”和LDEV# “1”組成。由此,當從對其分配了端口 ID “A”和LUN “0” 的服務器1接收到I/O命令時,對于對其分配了 LDEV#1的LDEV 41A執行I/O。假設在圖3A所示的結構中,如圖;3B所示,刪除包括端口 ID “A”和LUN “0”的第 一 LU路徑和包括端口 ID "K"和LUN “ 1,,的第二 LU路徑。具體地,假設主程序23從管理 終端5接收到第一和第二 LU路徑的刪除命令并且調用結構管理程序25,并且響應于該命 令,結構管理程序25刪除第一和第二 LU路徑。在這種情況下,如果沒有將分配給第一和第 二路徑的LDEV 41A和41B分配給其他LU路徑,則結構管理程序25調用安全程序四。并且 安全程序四對于這些LDEV 4IA和4IB執行安全處理。應該理解到,如果如圖:3B所示,將新的LU路徑分配給LDEV 41A和41B的每一個, 并且如果LDEV 41A和41B符合某個特定條件(例如,如稍后所述,如果LDEV 41A和41B的 狀態不是“等待”或“執行”),則結構管理程序25將新的路徑分配給LDEV 41A和41B。
下面將描述數據轉移處理。如圖4A所示,假設在RAID組1的基礎上形成LDEV 4IA和4IB,并且將LDEV# “ 1 ” 分配給LDEV 41A同時將LDEV “2”分配給LDEV 41B。LDEV# “ 1 ”包括在第一 LU路徑中,而 LDEV# “2”包括在第二 LU路徑中。在這種情況下,例如,當從指派第一 LU路徑中包括的端 口 ID和LUN “ 1,,的服務器1接收到I/O命令時,則對LDEV 41A執行I/O。此外,如圖4A所示,假設在RAID組2的基礎上形成LDEV 41X和41Y,并且將 LDEV# “11”分配給LDEV 4IX同時將LDEV “ 12”分配給LDEV 41Y。并且假設任意LU路徑 中既不包括LDEV# “11”也不包括LDEV# “ 12 ”。現在假設從管理終端5接收轉移命令,其中轉移源LDEV和轉移目的地LDEV成對, 即LDEV# “1”和“11”成對,并且LDEV# “2”和“12”成對。在這種情況下,在LDEV 41A中 存儲的所有數據都被轉移到LDEV 41X,并且類似地,在LDEV 41B中的存儲的所有數據也都 被轉移到LDEV 41Y。當完成數據轉移時(換句話說,當轉移源LDEV的內容與轉移目的地LDEV的內容 變為相同時),如圖4B所示執行LDEV號切換,并且由此完成數據轉移處理。該LDEV號切 換包括對于分配給轉移源LDEV的LDEV號和分配給轉移目的地LDEV的LDEV號的交換。 具體地,將分配給轉移源LDEV 41A(41B)的LDEV# “1”( “2”)分配給轉移目的地LDEV 41X(41Y),并且將分配給轉移目的地LDEV 41Χ(41Υ)的LDEV# “11”( “12”)分配給轉移源 LDEV 41A(41B)0以另一種形式,不改變由圖4A說明的第一和第二 LU路徑的結構。在上述 LDEV號切換之后,例如,當從指派第一路徑中包括的端口 ID和LUN “1”的服務器1接收到 I/O命令時,則對LDEV 41X執行I/O。當完成數據轉移處理時(即,當已經執行LDEV號切換時),安全程序四對于轉移 源LDEV 4IA和4IB執行安全處理。如上所述,已經解釋了數據轉移處理。應該理解到,在數據轉移處理中,期望轉移 源LDEV所基于的RAID組和轉移目的地LDEV所基于的RAID組是不同的。此外,對于要由 RAID組單元所分配的轉移源LDEV和轉移目的地LDEV來說也是可接受的。在下文中將說明上述各種表格。圖5A示出LDEV表51的結構的示例。該LDEV表51是記錄了與LDEV相關的信息的表格。在該LDEV表51中,例如對于 每個LDEV記錄了 LDEV#、仿真(emulation)信息、容量信息、RAID等級信息、RAID組ID (在 圖中位于“RAID組”下面)、以及路徑數目的信息。容量信息是關于指定LDEV的容量的信 息。RAID等級信息是作為對應的LDEV的基礎的RAID組的RAID等級。RAID組ID是作為 對應的LDEV的基礎的RAID組的ID。并且路徑數目信息指定關于分派給對應的LDEV的LU 路徑的數目。如果在路徑數目信息中顯示為“0”,則意味著對于與該信息對應的LDEV不分 配LU路徑;而如果路徑信息被指定為大于“0”的整數,這意味著對于與該信息對應的LDEV 至少分配一個LU路徑。圖5B示出LU路徑表53的結構的示例。LU路徑表53是記錄了與LU路徑相關的信息的表格。在該LU路徑表53中,例如 對于每個LU路徑記錄了端口 ID、主機組ID、LUN、LDEV#、仿真信息、容量信息、RAID等級信 息、RAID組ID、以及交替(alternate)路徑數目的信息。在這個實施例中,如前所述,由端口 ID、主機組ID、LUN和LEDV#定義LU路徑。基于從LDEV表51指定的信息來設置容量信 息、RAID等級信息、RAID組ID和交替路徑信息。交替路徑數目信息是關于指定除了某一個 LU路徑(即,交替路徑)之外的、在分配給對應的LDEV的多個LU路徑中LU路徑數目的信 息。如果對于這一個LU路徑發生了損壞,則通過這些交替路徑中的任一個,可對分配了交 替路徑的LDEV進行I/O。用戶可以從在管理終端5上顯示的LU路徑管理屏幕設置LU路徑。圖6示出LU路徑管理屏幕的示例。該LU路徑管理屏幕91是⑶I (圖形用戶界面),并且響應于用戶使能管理終端5 所發出的、用于顯示LU路徑管理屏幕的命令而在管理終端51的監視器上顯示,同時開始主 程序23。通過LU路徑管理屏幕,例如,可以命令刪除分配給用戶期望的LDEV的LU路徑,對 用戶期望的LDEV分派LU路徑,并對用戶期望的LDEV命令設置安全處理過程等。安全過程設置字段92是設置對于用戶期望的LDEV將要執行哪種類型的安全處理 的字段(換句話說,是否要執行粉碎、是否要執行LDEV格式化、或是否什么都不做,并且如 果要執行某個過程,從停止使用用戶期望的LDEV開始要執行多少天等等)。在所示的屏幕 示例中,進行設置使得通過從LU路徑中被刪除而停止使用用戶期望的LDEV時開始經過一 天后執行粉碎。LU路徑列表93是在LU路徑表53的基礎上顯示的、與LU路徑相關的信息的列表。 另一方面,LDEV列表95是在LDEV表51的基礎上顯示的、與LDEV相關的信息的列表。如果對于LU路徑列表93選擇了期望的LU路徑并且壓下“刪除LU路徑”按鈕97, 則從列表93中刪除與這個LU路徑中的LUN對應的LDEV#。在這種情況下,對應于這個LDEV 3的LDEV的路徑數目減1。以上述形式執行對LU路徑的刪除。應該理解到,替代該方法,還 可以通過其他方法刪除LU路徑(例如,通過刪除LU路徑中的主機組ID的方法)。換句話 說,在本實施例中,“刪除LU路徑”意味著破壞LU路徑中包括的端口 ID、主機組ID、LUN和 LDEV#之間的關系;或者以另一種方式,執行對這些要素中任一個要素的刪除(包括改變)。
另一方面,如果在LU路徑列表93中選擇沒有分配LDEV#的LUN,在LDEV列表95中 選擇了期望的LDEV#,并且按下“追加LU路徑”按鈕99,則在LU路徑列表93中與已經被指 派的LUN相對應地設置已經被指派的LDEV(以及與此對應的其他信息,例如容量信息等)。 此外,在LDEV列表95中,對應于所選擇的LDEV#的路徑數目力卩1。以上述方式執行對LDEV 追加新的LU路徑。換句話說,在本實施例中,“追加新的LU路徑”意味著在端口 ID、主機組 ID,LUN和LDEV#之間建立新的關系。應該理解到,如果作為追加目標的LDEV的狀態是“等 待”或“執行”則不執行新的LU路徑的追加,這將在下面描述。圖7示出轉移表55的結構的示例。在轉移表55中,記錄了與成對的轉移源LDEV和轉移目的地LDEV相關的信息。在 這個轉移表55中,對于每個轉移源LDEV,例如,記錄了 LDEV#、仿真信息、容量信息、RAID等 級信息和RAID組ID作為與轉移源LDEV相關的信息。此外,在轉移表55中,對于每個轉移 目的地LDEV,例如,記錄了 LDEV#、RAID等級信息和RAID組ID作為與轉移目的地LDEV相 關的信息。此外,在轉移表55中,還成對地記錄了指定與數據轉移處理相關的狀態的狀態 信息。例如,該狀態可以是“轉移完成”或“轉移處理”。例如,在從管理終端5上顯示的數據轉移管理屏幕設置的信息的基礎上,可更新轉移表55。圖8示出數據轉移管理屏幕的示例。例如,該數據轉移管理屏幕101是⑶I,并且當用戶通過使能管理終端5而發出數 據轉移的命令時在監視器上顯示該數據轉移管理屏幕101,同時開始主程序23。通過該數 據轉移管理屏幕101,例如,可以指派轉移源LDEV和轉移目的地LDEV,或者命令對轉移源 LDEV設置安全處理。安全過程設置字段102是用于設置對于轉移源LDEV將要執行什么類型的安全處 理的字段(換句話說,是否將要執行粉碎、是否將要執行LDEV格式化、或者是否什么都不 做,并且如果要執行某個過程,從停止使用用戶期望的LDEV起多少天后將被執行等等)。在 所示屏幕的例子中,進行設置以便從完成數據轉移處理開始經過一天后對轉移LDEV執行 粉碎。轉移列表103是基于轉移表55顯示的、與轉移源LDEV和轉移目的地LDEV相關的 信息的列表。并且追加候選列表105是與基于LDEV表51顯示的、追加候選LDEV相關的信 息的列表。“追加候選LDEV”意味著可以被追加作為轉移源或轉移目的地的LDEV,或者以另 一種方式,除了與轉移表55中“轉移進行中”相對應的LDEV之外的LDEV。如果在追加候選 列表中如用戶期望那樣對于轉移源和轉移目的地選擇了 LDEV,并且按下“追加”按鈕107, 則將與已經被指派的LDEV相關的信息追加到轉移表55中,此外還被追加到轉移列表103 中。圖9示出安全表57的結構的示例。在安全表57中記錄了與每個LDEV的安全相關的信息。在該安全表57中,對于每 個LDEV,例如記錄了 LDEV#、安全過程信息、等待時間信息、預定的開始日期和時間信息、執 行日期和時間信息、狀態信息和LBA (邏輯塊地址)顯示信息。安全過程信息是用于指定安全處理的類型的信息(粉碎或LDEV格式化)。等待時間信息是用于指定從停止使用LDEV開始的等待時間的信息。在實施例中, “停止使用LDEV”是下面的(9-1)和(9-2)中任一個(9-1)由于LU路徑的刪除,沒有對LDEV分配LU路徑;(9-2)當完成數據轉移時,替代在轉移前分配給轉移源LDEV的LDEV#,將分配給轉 移目的地LDEV的LDEV#分配給LDEV。預定的開始日期和時間信息是關于指定用于開始安全處理的預定日期和時間的 信息。通過將由等待時間信息指定的等待時間追加到從設備TOD 59獲取的、在停止使用 LDEV的時刻的當前日期和時間來確定該預定的開始日期和時間。執行日期和時間信息是關于指定安全處理的執行的開始日期和時間的信息。狀態信息是關于指定與安全處理相關的狀態的信息。例如,存在三種類型的狀態 “已完成”、“執行中,,和“等待中”。LBA顯示信息是關于與LDEV對應的地址范圍的信息,其指定對其要執行安全處理 的塊LBA (構成LDEV的存儲區域)。在本實施例中,從LDEV的頭端LBA到LDEV的尾端LBA 順序地執行安全處理。在LDEV的容量信息及其LBA顯示信息的基礎上,可以百分比等指定 LDEV的安全處理的進展狀態。在安全管理屏幕上顯示該進展狀態。圖10示出安全管理屏幕的示例。
安全管理屏幕109是⑶I,并且例如當用戶通過使能管理終端5而發出用于安全管 理顯示的命令時在監視器上顯示安全管理屏幕109,同時開始主程序23。通過該安全管理 屏幕109,例如,可以顯示基于安全表57的信息。具體地,例如,在該安全管理屏幕109上, 進展率之外的信息是安全表57中記錄的信息,并且每個LDEV的進展率是基于LDEV的容量 信息和LBA顯示信息而計算出的值。通過參考該安全管理屏幕109,用戶能夠確定對每個LDEV如何進展安全過程情 況。例如,在所示的示例屏幕上,應該理解到,對于LDEVl,在2008/6/9的10:00開始粉碎, 并且該粉碎已經完成。此外,應該理解到,對于LDEV3,在2008/6/9的10:00開始粉碎,并 且該粉碎已經完成70%。此外,還應該理解到,對于LDEV9,LDEV格式化的預定開始時間是 2008/7/5 的 10:00。在下文中將會描述本實施例中執行的處理流程。圖11示出刪除LU路徑的處理流程。結構管理處理程序25顯示了 LU路徑管理屏幕91 (參考圖6)(步驟S111)。并且, 通過該LU路徑管理屏幕91,結構管理程序25可以接收對于將要被刪除的LU路徑的選擇 (步驟S112),或者與分配給要被刪除的LU路徑的LDEV的安全相關的信息的設置(安全過 程的類型(粉碎、LDEV格式化、或者什么都不做)、以及多長的等待時間)。在步驟S113中,結構管理程序25接收關于已經被選擇的LU路徑的刪除命令(通 過按下LU路徑刪除按鈕97)。并且,響應于在步驟S113中接收到的命令,結構管理程序25從LU路徑表53中刪 除在已經被選擇的上述LU路徑中包括的LDEV# (步驟Sl 14),并且將與該LDEV#的LDEV (下 文中在圖11、圖14和圖16的描述中被稱為“對象LDEV”)對應的路徑的數目(即,LDEV表 51中記錄的路徑數目)減1 (步驟S115)。如果步驟S115中的結果是對象LDEV的路徑數目變為0(步驟S116中為“是”), 則根據從結構管理程序25到安全程序四的命令執行圖14的安全決定。另一方面,如果步驟S115的結果是對象LDEV的路徑數目不是0(在步驟S116中 為“否”),則由于存在通過另一 LU路徑對于對象LDEV執行I/O的可能性,因此不執行圖14 的安全決定,而是終止該處理流程。圖12示出分派新的LU路徑的處理流程。結構管理程序25顯示LU路徑管理屏幕91 (參考圖6)(步驟S121)。并且,通過該 LU路徑管理屏幕91,結構管理程序25可以接收每個端口的主機組的注冊(步驟S122),此 外還可以接收要被分配給任意用戶期望的LUN的LDEV#的選擇。在下面的圖12的說明中, 已經被選擇的LDEV#被稱為“選定的LDEV#”。然后,結構管理程序25詢問安全程序四是否將選定的LDEV#記錄在安全表57中 (步驟 S123)。如果步驟S123中的結果是否定的(步驟S123為“否”),則結構管理程序25執行 追加可能處理(例如使能“追加LU路徑”按鈕99的處理)(步驟S124)。此外,結構管理程 序25建立選定的LDEV#和LU路徑表53中的用戶期望的LUN之間的對應關系,并且還將與 LDEV表51中的選定的LDEV#相對應的路徑的數目加1 (步驟S125)。另一方面,如果步驟S123中的結果是肯定的(步驟S123為“是”),則結構管理程序25詢問安全程序四與選定的LDEV#相對應的安全狀態,并且決定在響應中已經接收 的安全狀態是否是“等待中”(步驟SU6)。如果步驟SU6中的結果是否定的(步驟SU6 為“否”),則結構管理程序25決定在響應中已經接收的安全狀態是否是“執行中”(步驟 S127)。如果在步驟S127中的結果也是否定的(步驟S127為“否”),則結構管理程序25命 令安全程序四從安全表57中刪除包括選定的LDEV的記錄(步驟S128)。另一方面,如果步驟SU6和步驟S127中任一個的結果是肯定的(步驟SU6為 “是”或步驟S127為“是”),則結構管理程序25執行追加不可能處理(例如無效“追加LU 路徑”按鈕99的處理)(步驟S129)。圖13示出數據轉移的處理流程。轉移程序27顯示了數據管理屏幕101 (參考圖8)(步驟S131)。并且轉移程序27 接收轉移源LDEV和轉移目的地LDEV的選擇(步驟S132)。此外,轉移程序還接收與轉移源LDEV的安全相關的信息的設置(安全處理的類型 和等待時間)(步驟S133)。并且,轉移程序27開始從轉移源LDEV到轉移目的地LDEV的數據轉移(步驟 S134)。當已經完成了所有數據的轉移時(步驟S135),轉移程序27執行前述LDEV號切換 (步驟S136)。當已經完成了 LDEV號的切換時,則根據從轉移程序27到安全程序四的命 令,采用轉移源LDEV作為對象LDEV來執行圖14所示的安全決定(步驟S137)。圖14示出安全決定的處理流程。安全程序四決定是否執行安全處理(步驟S141)。具體地,安全程序四在對象 LDEV的安全信息中決定安全處理(安全過程)的類型是否為粉碎或LDEV格式化。如果步驟S141中的結果是肯定的(步驟S141中為“是”),則安全程序四在安全 表57中寫入對象LDEV的安全信息(步驟S142)。如果在安全信息中的等待時間是0 (無)(步驟S143中為“否”),則安全程序四 執行圖16所示的安全處理,而如果等待時間大于0 (在步驟S143中為“是”),則執行步驟 S144和S145。換句話說,安全程序四把通過將當前日期和時間追加到等待時間而計算出的 預定的開始日期和時間寫入到對象LDEV的安全表57中(步驟S144),此外還將對象LDEV 的狀態信息更新為“等待中”(步驟S145)。圖15示出安全監控的處理流程。周期性地開始該處理流程。安全程序四參考安全表中還沒有被參考的記錄中的一個記錄(步驟S151)。并 且,如果在該記錄中的狀態信息是“等待中”(步驟S152為“是”),則安全程序四決定預定 的開始日期和時間是否在當前日期和時間之后(步驟S153)。如果步驟S153的結果是否定 的(步驟S153為“否”),則安全程序四執行圖16所示的安全處理(步驟S155)。如果步驟S152中的結果是否定的(步驟S152為“否”)或者S153中的結果是肯定 的(步驟S153為“是”),則安全程序四決定是否已經參考了安全表57中的所有記錄(步 驟S154),并且如果步驟SlM中的結果是否定的(步驟SlM為“否”),則控制流程回到再 次執行步驟S151。圖16示出安全處理的流程。在圖16的說明中,“對象LDEV”是停止使用的LDEV, 具體地,這是刪除了 LU路徑并且沒有分配其他LU路徑的LDEV,或者轉移源LDEV。安全程序四開始對象LDEV的安全處理,從對應于對象LDEV的頭端LBA的塊開始(步驟S161)。“對象LDEV的安全處理”意味著從安全表57指定的、由與對象LDEV對應的 安全過程信息指定的安全處理的類型,并且具體地這是粉碎或LDEV格式化。并且,安全程序四將對象LDEV的執行日期和時間寫入到安全表57中,并且還將 對象LDEV的狀態更新為“執行中”(步驟S162)。然后安全程序四在對象LDEV的LBA顯示信息中寫入對其已經完成了安全處理的 塊的LBA (步驟S163)。如果在步驟S163中已經寫入的LBA不是對象LDEV的最終LBA (步驟S164為 “否”),則安全程序四執行下一個LAB的塊的安全處理。另一方面,如果在步驟S163中已經寫入的LBA是對象LDEV的最終LBA (步驟S164 為“是”),則安全程序四將安全表57中的對象LDEV的狀態信息更新為“已完成”(步驟 S165)。根據上述實施例,當檢測到已經停止使用的LDEV時,自動地利用對該LDEV進行安 全處理的機會,即,粉碎或LDEV格式化。由此,可以降低LDEV中存儲的數據的不期望的泄 露的危險(例如,由對其寫入數據的服務器之外的服務器讀取該數據)。此外,根據上述實施例,當在某個時間段中沒有使用已經被停止使用的LDEV時, 通過基于該時間段設置等待時間,可以設定在停止使用LDEV之后立即不對其執行安全處 理。由于這個原因,從用戶的觀點提高了使用的方便性。盡管上面已經描述了本發明的優選實施例,但是本發明并不受到該實施例的限 制,在不偏離本發明的精神的前提下可以在本發明的范圍內對其進行各種改變。例如,所述的LDEV不局限于基于物理存儲設備的實體LDEV,虛擬LDEV也是可以接 受的。這樣的虛擬LDEV可以是對其分配了池LEDV的LDEV (根據精簡機構的LDEV),或者可 以是映射到基于存儲系統50外部的存儲系統中的物理存儲設備的LDEV的LDEV。此外,例如,作為LDEV#,以下也是可接受的被固定分配給一個LDEV的第一種類 型的LDEV#和分配的目的地由LDEV號開關等改變的第二種類型的LDEV#。在這種情況下, 可通過使用第一種類型的LDEV#指定轉移源LDEV。此外,例如,等待時間可以是自動確定的時間,而不是由用戶期望的時間。例如,對 于主程序23可以管理每個LDEV的I/O歷史(例如,每個單位時間(例如一天、一周或一個 月)的I/O次數、以及對于結構管理程序25和/或轉移程序27來基于I/O歷史確定(與 主程序23協作)對象LDEV(刪除了 LU路徑并沒有建立其他LU路徑的LDEV、或者轉移源 LDEV)的等待時間(例如以一天、一周或一個月為單位的時間),并且將被確定的值設置為 等待時間。
權利要求
1.一種存儲系統,從外部設備接收用于指派第一端口 ID和第一設備ID的第一 I/O命 令,所述存儲系統包括多個端口,包括分配了所述第一端口 ID并接收所述第一 I/O命令的端口 ; 多個邏輯存儲設備,包括與被分配給多個設備ID中的所述第一設備ID的第一邏輯ID 相對應的第一邏輯存儲設備;I/O控制單元,響應于所述第一 I/O命令,對所述第一邏輯存儲設備執行I/O ; 檢測單元,檢測所述第一邏輯存儲設備對不能執行I/O的系統變化;以及 安全處理單元,通過利用檢測所述系統變化而出現的機會,對所述第一邏輯存儲設備 執行安全處理,所述安全處理為格式化或粉碎。
2.根據權利要求1所述的存儲系統,還包括 存儲器,用于存儲安全表;多個RAID組,包括第一 RAID組和第二 RAID組; 路徑管理單元,用于管理多個路徑;以及轉移單元,用于將數據從所述第一邏輯存儲設備轉移到第二邏輯存儲設備; 并且其中每個RAID組由多個物理存儲設備構成;在所述安全表中,對于每個邏輯存儲設備記錄了粉碎和格式化中的哪一個將被執行的 安全處理類型以及與所述安全處理相關的狀態; 每個邏輯存儲設備是基于某個RAID組;在所述多個邏輯存儲設備中包括與第二邏輯ID相對應的第二邏輯存儲設備,并且所 述第二邏輯存儲設備沒有被分配給所述多個設備ID中的任一設備ID ; 所述第一 RAID組是所述第一邏輯存儲設備的基礎; 所述第二 RAID組是所述第二邏輯存儲設備的基礎;每個路徑是從某個外部設備到某個邏輯存儲設備的路徑,并且包括所述多個端口中的 某個端口的ID、所述多個設備ID中的某個設備ID、以及被分配給邏輯存儲設備的多個邏輯 ID中的某個邏輯ID;所述路徑管理單元執行第一路徑的刪除,所述第一路徑包括所述第一端口 ID、所述第 一設備ID、以及所述第一邏輯ID ;如果已經完成了數據從所述第一邏輯存儲設備到所述第二邏輯存儲設備的轉移,所述 轉移單元執行邏輯ID切換處理;在所述邏輯ID切換處理中,將被分配給了作為數據轉移源的所述第一邏輯存儲設備 的所述第一邏輯ID分配給作為數據轉移目的地的所述第二邏輯存儲設備,同時另一方面, 將被分配給了作為數據轉移源的所述第二邏輯存儲設備的所述第二邏輯ID分配給作為數 據轉移源的所述第一邏輯存儲設備,從而如果在完成所述數據的轉移之后接收到指派所述 第一路徑的所述I/O命令,則對所述第二邏輯存儲設備執行I/O ;所述系統變化是所述第一路徑的刪除和所述邏輯ID切換處理;并且 (2-1)如果在轉移所述數據之前檢測到所述第一路徑的刪除,并且如果沒有對所述第 一邏輯存儲設備分配其他路徑,則所述安全處理單元參考所述安全表,指定對應于所述第 一邏輯存儲設備的安全處理類型,并對所述第一邏輯存儲設備執行被指定的安全處理類型的安全處理;同時另一方面,如果將某個其他路徑分配給了所述第一邏輯存儲設備,則不對 所述第一邏輯存儲設備執行所述安全處理;(2-2)如果在刪除所述第一路徑之前檢測到所述邏輯ID切換處理,則所述安全處理單 元參考所述安全表,指定對應于所述第一邏輯存儲設備的安全處理類型,并且對所述第一 邏輯存儲設備執行與所述第一邏輯存儲設備相對應的被指定的安全處理類型的安全處理。
3.根據權利要求2所述的存儲系統,其中在對所述第一邏輯存儲設備執行所述安全處理時,所述安全處理單元將所述安全表中 的對應于所述第一邏輯存儲設備的狀態更新為表示“執行中”的狀態;并且當從用戶接收到要求新分配的命令時,所述路徑管理單元參考所述安全表,并且如果 對應于所述第一邏輯存儲設備的狀態是表示“執行中”的狀態,則不執行所述新分配,其中 所述新分配是將新的路徑分配給所述第一邏輯存儲設備的分配。
4.根據權利要求3所述的存儲系統,其中對于所述多個邏輯存儲設備中的至少一個邏輯存儲設備,在所述安全表中記錄表示從 檢測到所述系統變化時開始的數據存儲時間周期的信息;當已經檢測到對于所述第一邏輯存儲設備的所述系統變化時,如果對應于所述第一邏 輯存儲設備設置所述數據存儲時間周期,則所述安全處理單元將所述安全表中的與所述第 一邏輯存儲設備相對應的狀態更新為表示“等待中”的狀態;在對應于所述第一邏輯存儲設備的所述數據存儲時間周期的過程中,所述第一邏輯存 儲設備的狀態是表示“等待中”的狀態;當已經檢測到所述系統變化時,所述安全處理單元參考所述安全表,指定與所述第一 邏輯存儲設備相對應的狀態,并且如果被指定的狀態是表示“等待中”的狀態,則不對所述 第一邏輯存儲設備執行所述安全處理;并且當從用戶接收到用于所述新分配的命令時,如果對應于所述第一邏輯存儲設備的狀態 是表示“等待中”的狀態,則所述路徑管理單元不執行所述新分配。
5.根據權利要求4所述的存儲系統,其中所述安全處理單元從與作為所述安全處理的對象的邏輯存儲設備的頭地址相對應的 存儲區域到與其最終結束地址相對應的存儲區域順序地執行所述安全處理;在所述安全表中,由所述安全處理單元對每個邏輯存儲設備記錄進展地址,所述進展 地址表示所述安全處理已經進行到了哪個地址;并且所述安全處理單元基于所述第一邏輯設備的地址空間和對應于所述第一邏輯存儲設 備的所述進展地址計算對于所述第一邏輯設備的所述安全處理的進展狀態,并且向所述用 戶使用的計算機發送用于顯示已經計算出的進展狀態的信息。
6.根據權利要求1所述的存儲系統,還包括路徑管理單元,用于管理多個路徑,其中 每個路徑是從某個外部設備到某個邏輯存儲設備的路徑,并且包括所述多個端口中的某個端口的ID、所述多個設備ID中的某個設備ID、以及被分配給邏輯存儲設備的多個邏輯 ID中的某個邏輯ID;所述路徑管理單元執行所述第一路徑的刪除; 所述系統變化是所述第一路徑的刪除;并且如果檢測到所述第一路徑的刪除并且如果對所述第一邏輯存儲設備沒有分配其他路徑,則所述安全處理單元對所述第一邏輯存儲設備執行所述安全處理;同時另一方面,如果 對所述第一邏輯存儲設備分配了某個其他路徑,則不對所述第一邏輯存儲設備執行所述安 全處理。
7.根據權利要求1或6所述的存儲系統,還包括 多個RAID組,包括第一 RAID組和第二 RAID組;以及轉移單元,將數據從所述第一邏輯存儲設備轉移到第二邏輯存儲設備; 并且其中每個RAID組由多個物理存儲設備構成; 每個邏輯存儲設備是基于某個RAID組;在所述多個邏輯存儲設備中包括與第二邏輯ID相對應的所述第二邏輯存儲設備,并 且所述第二邏輯存儲設備沒有被分配給所述多個設備ID中的任一設備ID ; 所述第一 RAID組是所述第一邏輯存儲設備的基礎; 所述第二 RAID組是所述第二邏輯存儲設備的基礎;如果已經完成了數據從所述第一邏輯存儲設備到所述第二邏輯存儲設備的轉移,則所 述轉移單元執行邏輯ID切換處理;在所述邏輯ID切換處理中,將被分配給了作為數據轉移源的所述第一邏輯存儲設備 的所述第一邏輯ID分配給作為數據轉移目的地的所述第二邏輯存儲設備,同時另一方面, 將被分配給了作為數據轉移源的所述第二邏輯存儲設備的所述第二邏輯ID分配給作為數 據轉移源的所述第一邏輯存儲設備,從而如果在完成所述數據的轉移之后接收到指派所述 第一路徑的所述I/O命令,則對所述第二邏輯存儲設備執行I/O ; 所述系統變化是所述邏輯ID切換處理;并且如果檢測到所述邏輯ID切換處理,則所述安全處理單元對所述第一邏輯存儲設備執 行所述安全處理。
8.根據權利要求1、6或7中任一項所述的存儲系統,還包括路徑管理單元,用于管理包 括所述第一路徑的多個路徑;并且其中,從用戶接收到要求新分配的命令時,如果正在對所述第一邏輯存儲設備執 行所述安全處理,則所述路徑管理單元不執行所述新分配,所述新分配是將新的路徑分配 給所述第一邏輯存儲設備的分配。
9.根據權利要求1和6-8中任一項所述的存儲系統,還包括路徑管理單元,用于管理包 括所述第一路徑的多個路徑;并且其中當已經檢測到對于所述第一邏輯存儲設備的所述系統變化時,如果對于所述第一邏輯 存儲設備設置了表示從檢測到所述系統變化時開始的數據存儲時間周期的信息,則所述安 全處理單元在所述第一邏輯存儲設備的該數據存儲時間周期過程中不執行所述安全處理; 并且在從用戶接收到要求新分配的命令時,所述路徑管理單元在所述第一邏輯存儲設備的 該數據存儲時間周期過程中不執行所述新分配,所述新分配是將新的路徑分配給所述第一 邏輯存儲設備的分配。
10.根據權利要求1和6-9中任一項所述的存儲系統,其中,所述安全處理單元進行如下處理從與作為所述安全處理的對象的邏輯存儲設備的頭地址相對應的存儲區域到與其 最終結束地址相對應的存儲區域順序地執行所述安全處理;基于所述第一邏輯設備的地址 空間和所述安全處理是否執行到與所述地址空間中的某個地址相對應的存儲區域,計算對 于所述第一邏輯設備的所述安全處理的進展狀態,并且向所述用戶使用的計算機發送用于 顯示已經計算得到的進展狀態的信息。
11. 一種存儲控制方法,由存儲系統執行,當從外部設備已經接收到指派第一端口 ID 和第一設備ID的第一 I/O命令時,所述存儲系統對被分配給所述第一設備ID的第一邏輯 存儲設備執行1/0,包括檢測對所述第一邏輯存儲設備不能執行I/O的系統變化;以及 利用通過檢測所述系統變化所出現的機會來對所述第一邏輯存儲設備執行安全處理, 所述安全處理是格式化或粉碎。
全文摘要
期望減少邏輯存儲設備中存儲的數據的泄露危險。存儲系統具有檢測單元和安全處理單元。檢測單元檢測系統變化,在系統變化過程中對于存儲系統中的多個邏輯存儲設備中的第一邏輯存儲設備不能執行I/O。安全處理單元將這種類型的系統變化作為對于第一邏輯存儲設備執行安全處理的機會,即格式化或粉碎。
文檔編號G06F3/06GK102132245SQ20088013056
公開日2011年7月20日 申請日期2008年10月1日 優先權日2008年10月1日
發明者北川豐, 大井川晃 申請人:株式會社日立制作所