專利名稱:存儲系統(tǒng)以及存儲區(qū)域釋放方法以及存儲裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明適用于包含對主計算機提供可以動態(tài)地進行容量擴展的邏輯卷的存儲裝置的存儲系統(tǒng)。
背景技術(shù):
近年來,在對主計算機提供數(shù)據(jù)的存儲區(qū)域的存儲裝置中,可以具備數(shù)量非常多的大容量物理盤,存儲容量正不斷大規(guī)模化。在這樣的存儲裝置中,首先由物理盤形成RAID(Redundant Array of Independent Disks)構(gòu)成的盤陣列,并聚集多個該物理存儲資源來形成池區(qū)域,通過該池區(qū)域,作為邏輯卷形成主計算機所需要的容量的存儲區(qū)域,來提供給主計算機。
而且,近年來,提出了一種存儲裝置不通過池區(qū)域形成固定容量的邏輯卷,首先對主計算機提供虛擬邏輯卷,對應(yīng)來自主計算機的命令,對該虛擬的邏輯卷從作為物理資源的池區(qū)域按某個單位動態(tài)地分配存儲區(qū)域,由此,動態(tài)地擴展存儲容量。
例如,在專利文獻1的存儲裝置中,由多個盤存儲裝置提供與各個主計算機對應(yīng)的邏輯卷,根據(jù)從主計算機發(fā)送的向邏輯卷的命令,讀取進行輸出或?qū)懭氲倪壿媺K地址,當(dāng)在邏輯卷上不存在命令訪問的邏輯塊地址的存儲區(qū)域時,邏輯卷提供裝置從未使用的磁盤存儲裝置分配存儲區(qū)域,動態(tài)地擴展邏輯卷的存儲區(qū)域,減少由應(yīng)用程序指示的任意量的邏輯卷。
此外,在專利文獻2的存儲裝置中,具有與主計算機連接的存儲控制裝置和與存儲控制裝置連接的多個存儲裝置,存儲控制裝置對應(yīng)來自主計算機的命令,發(fā)出表示對主計算機分配了規(guī)定大小的虛擬邏輯卷的通知,在從主計算機接收到對虛擬邏輯卷的命令時,對虛擬邏輯卷分配在多個存儲裝置中存在的存儲區(qū)域,并把從主計算機接收到的命令轉(zhuǎn)換為發(fā)送給具有對虛擬邏輯卷分配的存儲區(qū)域的存儲裝置的命令,將轉(zhuǎn)換后的命令發(fā)送給該存儲裝置。
專利文獻1特開2003-015915號公報
專利文獻2特開2005-011316號公報發(fā)明內(nèi)容但是,在專利文獻1的存儲裝置中,對于在縮小主計算機的文件系統(tǒng)的大小時產(chǎn)生的不需要的存儲區(qū)域,從卷中釋放,但是,關(guān)于對于刪除非連續(xù)地在存儲區(qū)域中寫入的文件等數(shù)據(jù)時產(chǎn)生的不需要的存儲區(qū)域從卷中釋放的情況,沒有被公開,有可能在卷中仍然殘留有不需要的存儲區(qū)域。
此外,在專利文獻2的存儲裝置中,存儲控制裝置監(jiān)視命令,當(dāng)對伴隨上述的文件等數(shù)據(jù)的刪除的文件系統(tǒng)的元數(shù)據(jù)進行變更時,釋放由該元數(shù)據(jù)指示的存儲區(qū)域,由此,釋放不需要的存儲區(qū)域,但是,對應(yīng)主計算機的各種操作系統(tǒng),存儲控制裝置必須始終監(jiān)視文件系統(tǒng),進行與文件系統(tǒng)對應(yīng)的處理,所以存在存儲控制裝置的結(jié)構(gòu)復(fù)雜的問題。
本發(fā)明是考慮以上問題而發(fā)明的,提出通過簡單的結(jié)構(gòu)可高效地運用存儲區(qū)域的存儲系統(tǒng)以及存儲區(qū)域釋放方法以及存儲裝置。
為了解決該課題,在本發(fā)明中,在包括提供可動態(tài)擴展的動態(tài)邏輯卷的存儲裝置、具有對動態(tài)邏輯卷輸入輸出數(shù)據(jù)的文件系統(tǒng)的主計算機和管理存儲裝置以及主計算機的管理服務(wù)器的存儲系統(tǒng)中,存儲裝置,具有分配部,其在把從主計算機發(fā)送的數(shù)據(jù)存儲在動態(tài)邏輯卷中時,對該動態(tài)邏輯卷按每個規(guī)定的單位分配存儲區(qū)域;管理部,在由分配部對動態(tài)的邏輯卷分配的存儲區(qū)域中,對被識別為由文件系統(tǒng)正在使用的存儲區(qū)域進行管理;和釋放部,把沒有由管理部管理的存儲區(qū)域從該動態(tài)邏輯卷中釋放。
因此,存儲裝置無需理解文件系統(tǒng)的結(jié)構(gòu),就可以把不需要的存儲區(qū)域從動態(tài)邏輯卷中釋放。
此外,在本發(fā)明中,在包含提供可動態(tài)擴展的動態(tài)邏輯卷的存儲裝置、具有對動態(tài)邏輯卷輸入輸出數(shù)據(jù)的文件系統(tǒng)的主計算機、以及管理存儲裝置以及主計算機的管理服務(wù)器的存儲系統(tǒng)的存儲區(qū)域釋放方法中,具備第一步驟,在把從主計算機發(fā)送的數(shù)據(jù)存儲在動態(tài)邏輯卷中時,對該動態(tài)邏輯卷按每個規(guī)定的單位分配存儲區(qū)域;第二步驟,在所述第一步驟中對動態(tài)的邏輯卷分配的存儲區(qū)域中,對被識別為由文件系統(tǒng)正在使用的存儲區(qū)域進行管理;和第三步驟,把在第二步驟中沒有管理的存儲區(qū)域從該動態(tài)邏輯卷中釋放。
因此,存儲裝置無需理解文件系統(tǒng)的結(jié)構(gòu),就可以把不需要的存儲區(qū)域從動態(tài)邏輯卷中釋放。
此外,在本發(fā)明中,在對由主計算機發(fā)送的數(shù)據(jù)提供可動態(tài)擴展的動態(tài)邏輯卷的存儲裝置中,具備分配部,其在把從主計算機發(fā)送的數(shù)據(jù)存儲在動態(tài)邏輯卷中時,對該動態(tài)邏輯卷按每個規(guī)定的單位分配存儲區(qū)域;管理部,在由分配部對動態(tài)的邏輯卷分配的存儲區(qū)域中,對被識別為由文件系統(tǒng)正在使用的存儲區(qū)域進行管理;和釋放部,把沒有由管理部管理的存儲區(qū)域從該動態(tài)邏輯卷中釋放。
因此,存儲裝置無需理解文件系統(tǒng)的結(jié)構(gòu),就可以把不需要的存儲區(qū)域從動態(tài)邏輯卷中釋放。
而且,在本發(fā)明中,在包含提供可動態(tài)擴展的動態(tài)邏輯卷的存儲裝置、具有對動態(tài)邏輯卷輸入輸出數(shù)據(jù)的文件系統(tǒng)的主計算機、以及管理存儲裝置以及主計算機的管理服務(wù)器的存儲系統(tǒng)中,主計算機,具備取得文件系統(tǒng)的使用容量的使用容量取得部,存儲裝置,具備存儲區(qū)域數(shù)量取得部,其取得對與所述文件系統(tǒng)對應(yīng)的動態(tài)邏輯卷分配的存儲區(qū)域的數(shù)量,管理服務(wù)器,具備釋放決定部,其根據(jù)由使用容量取得部所取得的所述文件系統(tǒng)的使用容量以及由存儲區(qū)域數(shù)量取得部所取得的與文件系統(tǒng)對應(yīng)的動態(tài)邏輯卷的存儲區(qū)域的數(shù)量,決定釋放存儲區(qū)域的動態(tài)邏輯卷。
因此,將釋放存儲區(qū)域的動態(tài)邏輯卷決定為相對于基于動態(tài)邏輯卷的存儲區(qū)域數(shù)量的使用容量文件系統(tǒng)的使用容量少的、存儲區(qū)域的使用效率差的動態(tài)邏輯卷,所以可以釋放更多個物理存儲區(qū)域。
根據(jù)本發(fā)明,在把從主計算機發(fā)送的數(shù)據(jù)存儲在動態(tài)邏輯卷中時,對該動態(tài)邏輯卷按每個規(guī)定的單位分配存儲區(qū)域,在對動態(tài)的邏輯卷分配的存儲區(qū)域中,對被識別為由文件系統(tǒng)正在使用的存儲區(qū)域進行管理,把沒有被管理的存儲區(qū)域從該動態(tài)邏輯卷中釋放,由此,存儲裝置無需理解文件系統(tǒng)的結(jié)構(gòu),就可以把不需要的存儲區(qū)域從動態(tài)邏輯卷中釋放,而且,可以通過簡單的結(jié)構(gòu)實現(xiàn)可高效運用存儲區(qū)域的存儲系統(tǒng)以及存儲區(qū)域釋放方法以及存儲裝置。
此外,根據(jù)本發(fā)明,可以實現(xiàn)以下的存儲系統(tǒng)根據(jù)文件系統(tǒng)的使用容量以及與文件系統(tǒng)對應(yīng)的動態(tài)邏輯卷的存儲區(qū)域的數(shù)量,決定釋放存儲區(qū)域的動態(tài)邏輯卷,由此,將釋放存儲區(qū)域的動態(tài)邏輯卷決定為相對于基于動態(tài)邏輯卷的存儲區(qū)域數(shù)量的使用容量文件系統(tǒng)的使用容量少的、存儲區(qū)域的使用效率差的動態(tài)邏輯卷,所以可以釋放更多個物理存儲區(qū)域,而且可以通過簡單的結(jié)構(gòu)可高效地運用存儲區(qū)域。
圖1是表示第一實施方式的存儲系統(tǒng)的結(jié)構(gòu)的線圖。
圖2是表示存儲裝置的硬件結(jié)構(gòu)的線圖。
圖3是表示存儲裝置的軟件結(jié)構(gòu)的線圖。
圖4是用于說明邏輯卷管理表的概念圖。
圖5是用于說明邏輯卷類別管理表的概念圖。
圖6是用于說明動態(tài)邏輯卷模式管理表的概念圖。
圖7是用于說明池管理表的概念圖。
圖8是用于說明映射表的概念圖。
圖9是表示主機的硬件結(jié)構(gòu)的線圖。
圖10是表示第一實施方式的主機的軟件結(jié)構(gòu)的略圖。
圖11是表示管理服務(wù)器的硬件結(jié)構(gòu)的略圖。
圖12是表示管理服務(wù)器的軟件結(jié)構(gòu)的略圖。
圖13是用于說明數(shù)據(jù)讀出時的命令處理的流程圖。
圖14是用于說明數(shù)據(jù)寫入時的命令處理的流程圖。
圖15是概略表示第一實施方式的容量信息取得處理以及不使用區(qū)域釋放處理的全體處理的流程的內(nèi)容的概念圖。
圖16是用于說明容量信息取得處理以及不使用區(qū)域釋放處理的全體處理的流程的流程圖。
圖17是用于說明容量信息取得處理以及不使用區(qū)域釋放處理的全體處理的流程的流程圖。
圖18是用于說明容量信息取得處理的流程圖。
圖19是用于說明不使用區(qū)域釋放處理的流程圖。
圖20是用于說明模式變更處理的流程圖。
圖21是用于說明第一實施方式的不可釋放擴展訪問處理的流程圖。
圖22是用于說明區(qū)域釋放處理的流程圖。
圖23是表示第二實施方式的主機的軟件結(jié)構(gòu)的略圖。
圖24是用于說明第二實施方式的不可釋放擴展訪問處理的流程圖。
圖25是概略表示第一實施方式的容量信息取得處理以及不使用區(qū)域釋放處理的全體處理的流程的內(nèi)容的概念圖。
圖26是用于說明第二實施方式的不可釋放擴展訪問處理的流程圖。
具體實施例方式
使用以下的附圖對本發(fā)明第一實施方式進行詳細地說明。
(1)第一實施方式(1-1)第一實施方式的存儲系統(tǒng)的結(jié)構(gòu)圖1是第一實施方式的存儲系統(tǒng)1的結(jié)構(gòu)圖。如圖所示,存儲系統(tǒng)1具有一臺以上的存儲裝置11、一臺以上的主計算機12(以下簡稱為“主機”)、以及SAN(Storage Area Network)管理計算機14(以下簡稱為“管理服務(wù)器”)。
存儲裝置11以及主機12,具有一個以上的SAN端口18,與SAN交換機13連接,由此,作為整體構(gòu)成了SAN。SAN通過例如稱為光纖通道(FibreChannel)的接口連接。此外,存儲裝置11以及主機12使用稱為FCP(FibreChannel Protocol)的協(xié)議,進行命令和數(shù)據(jù)的收發(fā)(以下可以將存儲裝置11以及主機12總稱為“節(jié)點”)。
此外,存儲裝置11、主機12、SAN交換機13以及管理服務(wù)器14與LAN(Local Area Network)交換機15連接,由此,作為整體構(gòu)成了LAN。
此外,在本實施方式中,不特別地限定在存儲裝置11以及主機之間使用的SAN的接口以及協(xié)議的種類。例如,作為接口以及協(xié)議的組合,可以使用以太網(wǎng)(注冊商標(biāo))(Ethernet(注冊商標(biāo)))和iSCSI(Internet Small ComputerSystem Interface)等其它的組合。此外,做成通過LAN連接存儲裝置11以及主機之間,這只是一個例子而已,也可以使用其它的接口。
主機12,是執(zhí)行數(shù)據(jù)庫等某個應(yīng)用,對存儲裝置11進行這些處理所需要的數(shù)據(jù)的輸入輸出的計算機。
存儲裝置11對主機12提供一個以上的邏輯存儲區(qū)域(以下稱為邏輯卷或LVOL)16的。在主機12向存儲裝置11發(fā)送了SCSI命令時,存儲裝置11按照該命令,在與主機12之間進行數(shù)據(jù)傳送。從主機12傳送的數(shù)據(jù)被存儲在作為與各邏輯卷16對應(yīng)的物理存儲區(qū)域的、由硬盤組105(后述)中的四個硬盤構(gòu)成的奇偶檢驗組(以下也稱為PG)19中。
此外,邏輯卷16大致分為由奇偶檢驗組19固定地分配物理存儲區(qū)域的靜態(tài)邏輯卷(以下稱為SVOL)20、由奇偶檢驗組19動態(tài)地分配物理存儲區(qū)域的動態(tài)邏輯卷(以下稱為DVOL)21、以及對來自主機12的命令的控制指示和動態(tài)邏輯卷21的模式變更指示等進行存儲的控制邏輯卷(以下也稱為CVOL)22。但是,控制邏輯卷22,暫時對公共存儲器部102配置數(shù)據(jù),不進行從硬盤的讀出以及寫入,所以沒有與奇偶檢驗組19連接。
主機12例如在使用FCP時,通過將用于指定存儲裝置11的SAN端口18的端口地址和LUN(Logical Unit Number)號碼附加在命令頭中向存儲裝置11發(fā)出,由此來指定邏輯卷16。在命令中還包含表示讀出或?qū)懭氲拿罘N類的命令碼、和表示邏輯卷16內(nèi)的傳送開始位置的地址和傳送長的信息。
存儲裝置11,在接收到SCSI命令時,根據(jù)設(shè)定信息確定SAN端口18以及由LUN確定邏輯卷16,進行數(shù)據(jù)傳送。在本實施方式中,未必需要對SAN端口18設(shè)定一個以上的邏輯卷16,在初期設(shè)定時,也可以準(zhǔn)備一個以上的不設(shè)定邏輯卷16的未使用的SAN端口18。在圖1中,表示S1d、S1v的SAN端口18未使用。
此外,在存儲系統(tǒng)1中,為了提高SAN的可靠性,如圖所示,通過多個SAN端口18以及SAN交換機13連接存儲裝置11以及主機12之間,并使多個SAN端口18和LUN的組合向同一邏輯卷16對應(yīng),由此,使主機12向邏輯卷16的訪問路徑冗余化。
主機12,為了使冗余化的向邏輯卷16的訪問路徑(端口地址和LUN的組合)虛擬化,以主機卷17(以下也稱為HVOL)為單位對存儲區(qū)域進行管理。主機12在應(yīng)用程序向主機卷17進行訪問時,把向?qū)?yīng)的邏輯卷16的SCSI命令發(fā)送給存儲裝置11。
圖2是存儲裝置11的硬件結(jié)構(gòu)圖。存儲裝置11由多個主機I/F部100、多個盤I/F部101、公共存儲部102、系統(tǒng)管理部103、以及對他們進行連接的交換部104構(gòu)成。存儲裝置11經(jīng)由盤I/F部101與硬盤組105連接。硬盤組105是存儲邏輯卷16的數(shù)據(jù)的部位,由多個硬盤構(gòu)成。
主機I/F部100是將存儲裝置11向SAN交換機13連接的部位,由多個外部I/F106、端口處理器107、以及用于將它們向交換部104連接的傳送控制部108構(gòu)成。外部I/F106,包含將存儲裝置11與SAN連接的SAN端口18,控制SAN的協(xié)議。端口處理器107對來自主機12的SCSI命令進行解析,執(zhí)行SCSI命令的執(zhí)行所需要的處理。傳送控制部108通過向交換部104進行訪問來控制外部I/F106、端口處理器107、公共存儲部102、盤I/F部101和系統(tǒng)管理部103之間的數(shù)據(jù)傳送和通信。
盤I/F部101是連接存儲裝置11和硬盤組105的部位,由盤I/F109、盤處理器110、以及用于將它們向交換部104連接的傳送控制部108構(gòu)成。盤I/F101將存儲裝置11與硬盤組105連接,控制與硬盤組105之間的協(xié)議。盤處理器110進行與端口處理器107的通信,控制SCSI命令的處理所需要的硬盤組105以及公共存儲器102之間的數(shù)據(jù)傳送。
系統(tǒng)管理部103是將存儲裝置11向LAN交換機15連接的部位,由管理I/F111、管理處理器112、非易失性存儲器113以及傳送控制部108構(gòu)成。管理I/F111將存儲裝置11向LAN交換機15進行連接,控制LAN的協(xié)議。例如,為以太網(wǎng)(注冊商標(biāo))(Ethernet(注冊商標(biāo)))的NIC(Network InterfaceCard)。管理處理器112與管理服務(wù)器14通信,執(zhí)行存儲裝置11的設(shè)定。非易失性存儲器113保持存儲裝置11的設(shè)定信息。
此外,本實施方式的存儲裝置11的硬件結(jié)構(gòu)為示例,如果是可以提供多個SAN端口18和多個邏輯卷16的結(jié)構(gòu),則不限定為上述的結(jié)構(gòu)。
圖3是存儲裝置11的軟件結(jié)構(gòu)圖。首先,對各部位執(zhí)行的處理、保持的數(shù)據(jù)和表進行說明。端口處理器107保持邏輯卷管理表121(圖4)以及邏輯卷類別管理表122(圖5),執(zhí)行命令處理程序123、模式變更處理程序124、區(qū)域釋放處理程序125以及動態(tài)邏輯卷分析處理程序126。此外,關(guān)于命令處理程序123、模式變更處理程序124、區(qū)域釋放處理程序125以及動態(tài)邏輯卷分析處理程序126,在后面進行敘述。
公共存儲部102,保持對邏輯卷16的一部分數(shù)據(jù)進行保存的高速緩存數(shù)據(jù)131、使該高速緩存數(shù)據(jù)131和邏輯卷16內(nèi)部的位置對應(yīng)的高速緩存目錄132、動態(tài)邏輯卷模式管理表133(圖6)、池管理表134(圖7)以及映射表135(圖8)。
盤處理器110執(zhí)行RAID控制程序141。RAID控制程序141是根據(jù)來自端口處理器107的指示啟動,向硬盤組105發(fā)出命令,在與公共存儲部102之間進行數(shù)據(jù)傳送的程序。此外,RAID控制程序141使用硬盤組105的多個硬盤,進行RAID(Redundant Array of Independent Disks)處理。具體地說,RAID控制程序141對邏輯卷16的地址空間和硬盤組105的地址空間的對應(yīng)進行管理,向恰當(dāng)?shù)挠脖P進行訪問。
管理處理器112執(zhí)行存儲管理程序151。存儲管理程序151包含了對存儲裝置11進行初始化的存儲初始化處理程序152以及根據(jù)來自管理服務(wù)器14的請求,取得或者變更存儲裝置11的構(gòu)成信息的存儲構(gòu)成管理處理程序153。
這里,對存儲裝置11的初始化處理進行說明。當(dāng)存儲裝置11啟動時,管理處理器112啟動存儲管理程序151的存儲初始化處理程序152,執(zhí)行存儲初始化處理。在存儲初始化處理程序152中,管理處理器112從非易失性存儲器113讀出設(shè)定信息,在端口處理器107中設(shè)定邏輯卷管理表121、邏輯卷類別管理表122,分別將命令處理程序132裝入端口處理器107中,將RAID控制程序141載入盤處理器110中。
當(dāng)命令處理程序123啟動時,端口處理器107進行外部I/F106和高速緩存目錄132的初始化,進入等待來自主機12的SCSI命令的狀態(tài)。當(dāng)RAID控制程序141啟動時,盤處理器110對盤I/F109進行初始化,確認可以向硬盤組105進行訪問,進入等待來自端口處理器107的指示,初始化處理完成。
然后,對存儲裝置11的構(gòu)成管理處理進行說明。管理處理器112當(dāng)從管理I/F111得到來自管理服務(wù)器14的規(guī)定的請求時,執(zhí)行存儲構(gòu)成管理處理。
在存儲構(gòu)成管理處理程序153中,管理處理器112在最初判定來自管理服務(wù)器14的請求的類別。在該請求為取得構(gòu)成信息時,管理處理器112從端口處理器107或公共存儲部102取得請求指定的邏輯卷管理表121、邏輯卷類別管理表122、動態(tài)邏輯卷模式管理表133、池管理表134以及映射表135,并經(jīng)由管理I/F111向管理服務(wù)器14進行發(fā)送。
在該請求為變更構(gòu)成信息時,管理處理器112對端口處理器107以及非易失性存儲器113進行請求指定的邏輯卷管理表121、邏輯卷類別管理表122、動態(tài)邏輯卷模式變更表133、池管理表134或映射表135的變更,并經(jīng)由管理I/F111向管理服務(wù)器14報告執(zhí)行完成。
然后,對存儲裝置11執(zhí)行來自主機12的SCSI命令的流程進行說明。外部I/F106當(dāng)從主機12接收到SCSI命令時,向端口處理器107通知SCSI命令的內(nèi)容。端口處理器107查詢來自外部I/F106的通知,當(dāng)檢索到SCSI命令的通知時,執(zhí)行命令處理程序123。此外,在此,對命令處理程序123的概要進行說明,關(guān)于本發(fā)明詳細的處理,由圖13以及圖14表示,并在后面進行敘述。
在命令處理程序123中,端口處理器107首先以SCSI命令指定的LUN為關(guān)鍵字,從邏輯卷管理表121中決定訪問對象的邏輯卷16。此外,端口處理器107向公共存儲部102的高速緩存目錄132進行訪問,進行命中錯誤判定。而且,端口處理器107在主機12要求的數(shù)據(jù)高速緩存命中時,對外部I/F106指示高速存儲數(shù)據(jù)131以及主機12之間的數(shù)據(jù)傳送。
與此相對,端口處理器107在高速緩存未命中時,進行如下的處理。在為讀出命令時,端口處理器107對盤處理器110指示硬盤組105和高速緩存數(shù)據(jù)131之間的數(shù)據(jù)傳送,在其完成后更新高速緩存目錄132,并對外部I/F106指示向主機12的數(shù)據(jù)傳送。在為讀入命令時,端口處理器107向高速目錄132進行訪問,確保高速緩存數(shù)據(jù)131的空區(qū)域。而后,端口處理器107向外部I/F106指示所確保的高速緩存數(shù)據(jù)131以及主機12之間的數(shù)據(jù)傳送,在數(shù)據(jù)傳送完成后更新高速緩存目錄132。
端口處理器107周期性地對盤處理器110指示硬盤組105和高速緩存數(shù)據(jù)131之間的數(shù)據(jù)傳送,將高速緩存目錄132中登錄的臟的寫數(shù)據(jù)寫入硬盤組105。
如此,存儲裝置11執(zhí)行來自主機12的SCSI命令。但是,該處理的流程為示例,如果可以根據(jù)SCSI命令的LUN和設(shè)定信息決定邏輯卷16進行數(shù)據(jù)傳送,則不限定于該處理的流程。
圖4表示邏輯卷管理表121的構(gòu)成。邏輯卷管理表121是保持各SAN端口18和邏輯卷16的對應(yīng)的表,分別由與存儲裝置11的SAN端口18對應(yīng)的多個表項項構(gòu)成。
邏輯卷管理表121的各表項由管理SAN端口18的ID的端口ID管理欄161、保持SAN端口18的ID以及邏輯卷管理子表163的對應(yīng)的邏輯卷管理子表指針162構(gòu)成。
邏輯卷管理子表163是保持各SAN端口18的LUN和邏輯卷16的對應(yīng)的表,各表項由管理SAN端口18的LUN的LUN管理欄164、對與該LUN管理欄164對應(yīng)的邏輯卷16進行管理的LVOLID管理欄165構(gòu)成。
這時,例如,作為端口ID[S1a]的SAN端口18的LUN
與LVOLID[L1]的邏輯卷16對應(yīng),作為ID[S1a]的SAN端口18的LUN[1]與LVOLID[L2]的邏輯卷16對應(yīng)。
圖5表示邏輯卷類別管理表122的構(gòu)成。邏輯卷類別管理表122分別由與存儲裝置11的邏輯卷16對應(yīng)的多個表項構(gòu)成。
邏輯卷類別管理表122的各表項由管理邏輯卷16的ID的LVOLID管理欄171、管理邏輯卷16的類別的LVOL類別管理欄172、在邏輯卷16為靜態(tài)邏輯卷20時,對與該靜態(tài)邏輯卷20對應(yīng)的奇偶檢驗組ID進行管理的PGID173、以及在邏輯卷16為動態(tài)邏輯卷21時,對該動態(tài)邏輯卷21的ID進行管理的DVOLID174構(gòu)成。
此時,例如,LVOLID[L1]的邏輯卷16為靜態(tài)邏輯卷20,與PGID 的奇偶檢驗組19相對應(yīng),LVOLID[L2]的邏輯卷16是動態(tài)邏輯卷21,與DVOLID 的動態(tài)邏輯卷21相對應(yīng)。
圖6是動態(tài)邏輯卷模式管理表133的構(gòu)成。動態(tài)邏輯卷模式管理表133分別由與存儲裝置11的動態(tài)邏輯卷21對應(yīng)的多個表項構(gòu)成。
動態(tài)邏輯卷模式管理表133的各表項由管理動態(tài)邏輯卷21的ID的DVOLID管理欄181、對動態(tài)邏輯卷21的與來自主機12的SCSI命令相對的模式進行管理的命令處理模式管理欄182構(gòu)成。
此時,例如DVOLID 的動態(tài)邏輯卷21是通常模式,DVOLID 的動態(tài)邏輯卷21是標(biāo)志操作模式。
此外,所謂通常模式是執(zhí)行來自通常的主機12的SCSI命令的模式,所謂標(biāo)志模式在后面進行敘述,是按照來自主機12的SCSI命令,把表示對動態(tài)邏輯卷21分配物理存儲區(qū)域的分配單位的區(qū)域的區(qū)域的訪問標(biāo)志管理欄193變更為[TRUE]的模式。
圖7表示池管理表134的構(gòu)成。池管理表134分別由與存儲裝置11的奇偶檢驗組19相對應(yīng)多個表項構(gòu)成。此外,池管理表134的各行與每個區(qū)域相對應(yīng)。
池管理表134的各表項由對奇偶檢驗組19的ID進行管理的PGID管理欄191、對奇偶檢驗組19的LBA(Logical Brock Address)的開始值進行管理的LBA開始值管理欄192、訪問標(biāo)志管理欄193、以及分配狀態(tài)管理欄194構(gòu)成。
訪問標(biāo)志欄193在上述的標(biāo)志操作模式時,按照來自主機12的SCSI命令,管理訪問標(biāo)志是[ON]還是[OFF],所述訪問標(biāo)志表示對存儲了該SCSI命令指定的數(shù)據(jù)的物理存儲區(qū)域進行了訪問。
這里,訪問標(biāo)志管理欄193是以[FALSE]或[TRUE]管理訪問標(biāo)志欄193,在訪問標(biāo)志欄193為[FALSE]時為[OFF],表示沒有對存儲了來自主機12的SCSI命令指定的數(shù)據(jù)的物理存儲區(qū)域進行訪問,在訪問標(biāo)志欄193為[TRUE]時為
,表示對存儲了來自主機12的SCSI命令指定的數(shù)據(jù)的物理存儲區(qū)域進行了訪問。
分配狀態(tài)管理欄194管理對于每個區(qū)域是否對任意一個邏輯卷21分配了物理存儲區(qū)域。
這里,分配狀態(tài)管理欄194以[分配完成]或者[空]對分配狀態(tài)進行管理,在分配狀態(tài)為[分配完成]時,表示對任意一個動態(tài)邏輯卷21分配了物理存儲區(qū)域,在分配狀態(tài)為[空]時,表示沒有對任意一個動態(tài)邏輯卷21分配物理存儲區(qū)域。
此時,例如,與作為PGID 的奇偶檢驗組19的LBA開始值
對應(yīng)的物理存儲區(qū)域,因為訪問標(biāo)志管理欄193為[FALSE],所以在為標(biāo)志操作模式時,沒有對存儲了SCSI命令指定的數(shù)據(jù)的物理存儲區(qū)域進行訪問,因為分配狀態(tài)為[分配完成],所以已經(jīng)對任意一個動態(tài)邏輯卷21進行了分配。
圖8表示映射表135的構(gòu)成。映射表135是保持動態(tài)邏輯卷21和奇偶檢驗組19的物理存儲區(qū)域的對應(yīng)的表,分配由與存儲裝置11的動態(tài)邏輯卷21對應(yīng)的多個表項構(gòu)成。此外,映射表135的各行與區(qū)域?qū)?yīng)。
映射表135的各表項由對動態(tài)邏輯卷21的ID進行管理的DVOLID管理欄201、對動態(tài)邏輯卷21的LBA的開始值進行管理的DVOLLBA開始值管理欄202、加鎖標(biāo)志管理欄203、分配狀態(tài)管理欄204、對奇偶檢驗組19的ID進行管理的PGID管理欄205、以及對奇偶檢驗組19的LBA的開始值進行管理的PGLBA開始值管理欄206構(gòu)成。
加鎖標(biāo)志管理欄203在對動態(tài)邏輯卷21分配奇偶檢驗組19的物理存儲區(qū)域時,或者在從動態(tài)邏輯卷21中刪除奇偶檢驗組19的物理存儲區(qū)域時,管理是否禁止基于來自主機12的SCSI命令的數(shù)據(jù)的讀寫。
此外,加鎖標(biāo)志管理欄203,同時也管理在進行基于來自主機12的SCSI命令的數(shù)據(jù)讀寫時,是否禁止向動態(tài)邏輯卷21的奇偶檢驗組19的物理存儲區(qū)域的分配,或者從動態(tài)邏輯卷21的奇偶檢驗組19的物理存儲區(qū)域的刪除。
這里,加鎖標(biāo)志管理欄203以[FALSE]或[TRUE]管理該加鎖標(biāo)志管理欄203,在加鎖標(biāo)志管理欄203為[FALSE]時,表示沒有禁止基于來自主機12的SCSI命令的數(shù)據(jù)的讀寫,并且沒有禁止向動態(tài)邏輯卷21的奇偶檢驗組19的物理存儲區(qū)域的分配,或從動態(tài)邏輯卷21的奇偶檢驗組19的物理存儲區(qū)域的刪除。
此外,加鎖標(biāo)志管理欄203,在該加鎖標(biāo)志管理欄203為[TRUE]時,表示禁止了基于來自主機12的SCSI命令的數(shù)據(jù)的讀寫,或者禁止了向動態(tài)邏輯卷21的奇偶檢驗組19的物理存儲區(qū)域的分配,或從動態(tài)邏輯卷21的奇偶檢驗組19的物理存儲區(qū)域的刪除。
分配狀態(tài)管路欄204,管理是否對每個區(qū)域分配了奇偶檢驗組19的物理存儲區(qū)域。
這里,分配狀態(tài)管理欄204,以[分配完成]或者[空]對分配狀態(tài)進行管理,在分配狀態(tài)為[分配完成]時,表示對動態(tài)邏輯卷21分配了奇偶檢驗組19的物理存儲區(qū)域,在分配狀態(tài)為[空]時,表示沒有對動態(tài)邏輯卷21分配奇偶檢驗組19的物理存儲區(qū)域。此外,分配狀態(tài)管理欄204,在分配狀態(tài)為[空]時,沒有分配奇偶檢驗組19的物理存儲區(qū)域,所以將PGID管理欄205以及PGLBA開始值管理欄206作為[-]進行管理。
此時,例如,與作為DVOLID 的動態(tài)邏輯卷21的LBA開始值
對應(yīng)的邏輯存儲區(qū)域,分配了與作為PGID 的奇偶檢驗組19的LBA開始值
對應(yīng)的物理存儲區(qū)域,因為加鎖標(biāo)志管理欄203為[TURE],所以禁止了基于來自主機12的SCSI命令的數(shù)據(jù)的讀寫,或者禁止了向動態(tài)邏輯卷21的奇偶檢驗組19的物理存儲區(qū)域的分配,或從動態(tài)邏輯卷21的奇偶檢驗組19的物理存儲區(qū)域的刪除。
圖9為主機12的硬件結(jié)構(gòu)圖。主機12由CPU211、主存儲器212、對該主存儲器212進行控制的存儲器控制器213、HDD(Hard Disk Drive)I/F214、顯示器I/F215、輸入I/F216、一個以上的HBA(Host Bus Adapter)217、網(wǎng)絡(luò)I/F218、以及將它們進行連接的總線219構(gòu)成。
CPU211,執(zhí)行后述的各個程序,主存儲器212保存為此所需要的數(shù)據(jù)。存儲器控制器213控制主存儲器212,是與總線219連接的部位。HDDI/F214是連接總線219和HDD220的部位。顯示器I/F215是連接總線219與顯示裝置221的部位。輸入I/F216是連接總線219與鍵盤、鼠標(biāo)等輸入設(shè)備222的部位。HBA217包含SAN端口18,是連接總線219與SAN交換機13的部位。網(wǎng)絡(luò)I/F218是連接總線219與LAN交換機15的部位。
此外,上述硬件構(gòu)成為示例,如果具有一個以上的SAN端口18和向LAN交換機15的接口,并可以執(zhí)行后述的軟件,則不限定于該例子。
圖10是主機12的軟件構(gòu)成圖。首先,對主機12的CPU211執(zhí)行的處理、和主存儲器212保存的數(shù)據(jù)和表進行說明。主機12的CPU211執(zhí)行應(yīng)用程序231、文件系統(tǒng)232、主機代理程序233、訪問控制驅(qū)動器234、以及LANI/F驅(qū)動器235。訪問控制驅(qū)動器234是對與SAN交換機13之間的數(shù)據(jù)、命令的傳送進行控制的驅(qū)動器。
文件系統(tǒng)232,包含訪問請求處理程序241、碎片處理程序242、使用容量取得處理程序243以及塊狀態(tài)取得處理程序244。訪問請求處理程序241是執(zhí)行向主機卷17的訪問請求處理的程序。碎片處理程序242是執(zhí)行主機卷17的碎片處理的程序。此外,關(guān)于使用容量取得處理程序243以及塊狀態(tài)取得處理程序244在后面進行敘述。
主機代理程序233包含容量信息取得處理程序251以及不使用區(qū)域釋放處理程序252。此外,關(guān)于容量信息取得處理程序251以及不使用區(qū)域釋放處理程序252,在后面進行敘述。
此外,上述各程序使用的數(shù)據(jù)或表保存在主存儲器212中。
這里,對由應(yīng)用程序231向主機卷17的訪問請求的處理的流程進行說明。應(yīng)用程序231是主機12執(zhí)行的程序,例如為數(shù)據(jù)庫等。應(yīng)用程序231調(diào)出文件系統(tǒng)232的訪問請求處理程序241,請求向主機卷17的訪問。訪問請求處理程序241是將應(yīng)用程序231請求的向文件的訪問轉(zhuǎn)換為向主機卷17的訪問的程序。
在訪問請求處理程序241中,CPU211執(zhí)行從應(yīng)用程序231或者文件系統(tǒng)232接收到的向主機卷17的訪問請求。具體地說,CPU211根據(jù)在主存儲器212中保存的訪問請求處理程序241的表,決定向邏輯卷16的訪問路徑,具體地說,決定存儲裝置11的端口地址以及LUN,并經(jīng)由HBA217對存儲裝置11發(fā)出SCSI命令,向邏輯卷16進行訪問。CPU211在與存儲裝置11的數(shù)據(jù)傳送結(jié)束時,向應(yīng)用程序231或文件系統(tǒng)232通知訪問結(jié)束。
此外,上述的訪問請求處理的流程為例子,如果可以根據(jù)設(shè)定信息決定從訪問請求向主機卷17的訪問路徑,向存儲裝置11的邏輯卷16進行訪問,則不限定于該例子。
圖11是管理服務(wù)器14的硬件結(jié)構(gòu)圖。管理服務(wù)器14由CPU261、存儲器262、對該存儲器262進行控制的存儲器控制器263、HDDI/F264、顯示器I/F265、輸入I/F266、LANI/F267、以及連接它們的總線268構(gòu)成。
CPU261執(zhí)行后述的SAN構(gòu)成管理程序281,存儲器262保存為此所需要的數(shù)據(jù)。存儲器控制器263控制存儲器262,是與總線268連接的部位。HDDI/F264是連接總線268和HDD269的部位。顯示器I/F265是連接總線268與顯示裝置270的部位。輸入I/F266是連接總線268與鍵盤、鼠標(biāo)等輸入設(shè)備271的部位。LAN267是連接總線268與LAN交換機15的部位。
此外,上述硬件構(gòu)成為示例,如果具有用于向LAN交換機15進行連接的接口,并可以執(zhí)行后述的軟件,則不限定于該例子。
圖12是管理服務(wù)器14的軟件構(gòu)成圖。首先,對管理服務(wù)器14的CPU261執(zhí)行的處理,和存儲器262保存的數(shù)據(jù)進行說明。管理服務(wù)器14的CPU261執(zhí)行SAN構(gòu)成管理程序281以及LANI/F驅(qū)動器282。
SAN管理程序240,包含動態(tài)邏輯卷管理處理程序291。此外,關(guān)于動態(tài)邏輯卷管理處理程序291,在后面進行敘述。
(1-2)第一實施方式的命令處理然后,對第一實施方式的存儲系統(tǒng)1的命令處理進行說明。圖13是表示與該存儲系統(tǒng)1中的數(shù)據(jù)讀出時的命令處理有關(guān)的存儲裝置11的具體的處理順序的流程。
端口處理器107在初期通過執(zhí)行作為執(zhí)行從主機12接收到的SCSI命令的程序的命令處理程序123,按照圖13所示的數(shù)據(jù)讀出時的命令處理順序RT1,在從主機12接收到SCSI命令時,檢查該SCSI命令是否為針對控制邏輯卷22的讀出命令(S1)。
而且,端口處理器107,在該SCSI命令是針對控制邏輯卷22的讀出命令時(S1YES),根據(jù)該讀出命令,確定為了對主機12發(fā)送而取得的取得對象的信息(S2)。
然后,端口處理器107,在公共存儲器部102內(nèi)確保用于存儲取得對象的區(qū)域(S3)。然后,端口處理器107根據(jù)公共存儲器部102內(nèi)存儲的取得對象的信息,生成用于發(fā)送給主機12的傳送數(shù)據(jù)(S4)。
與此相對,端口處理器107在該SCSI命令不是針對控制邏輯卷22的讀出命令時(S1NO),檢查從主機12接收到的SCSI命令是否為針對動態(tài)邏輯卷21的讀出命令(S5)。
而且,端口處理器107,在該SCSI命令為針對動態(tài)邏輯卷21的讀出命令時(S5YES),參照映射表135,將對應(yīng)的區(qū)域的加鎖標(biāo)志管理欄203變更為[TRUE],由此,關(guān)于對應(yīng)的區(qū)域,禁止基于來自主機12的SCSI命令的數(shù)據(jù)的讀寫,并加鎖對應(yīng)的區(qū)域,以禁止向動態(tài)邏輯卷21的奇偶檢驗組19的物理存儲區(qū)域的分配,或從動態(tài)邏輯卷21的奇偶檢驗組19的物理存儲區(qū)域的刪除(S6)。
然后,端口處理器107通過參照映射表135檢查是否對對應(yīng)的區(qū)域分配完奇偶檢驗組19的物理存儲區(qū)域(S7)。
而且,端口處理器107在對對應(yīng)的區(qū)域沒有分配完奇偶檢驗組19的物理存儲區(qū)域的情況下(S7NO),因為在對應(yīng)的區(qū)域中沒有存儲數(shù)據(jù),因此,例如生成沒有存儲數(shù)據(jù)的報告的傳送數(shù)據(jù)或者全部
的傳送數(shù)據(jù)(S8)。
與此相對,端口處理器107在該SCSI命令不是針對動態(tài)邏輯卷21的讀出命令時(S5NO),或者在對對應(yīng)的區(qū)域已經(jīng)分配完奇偶檢驗組19的物理存儲區(qū)域的情況下(S7YES),檢查是否因為是對靜態(tài)邏輯卷20的讀出命令,或者對動態(tài)邏輯卷21對應(yīng)的區(qū)域分配了奇偶檢驗組19的物理存儲區(qū)域,奇偶檢驗組19的物理存儲區(qū)域的LBA已確定,所以將該物理存儲區(qū)域中存儲的數(shù)據(jù)作為高速緩存數(shù)據(jù)131存儲在了公共存儲部102中(S9)。
而且,端口處理器107,在該物理存儲區(qū)域中存儲的數(shù)據(jù)作為高速緩存數(shù)據(jù)131存儲在了公共存儲部102中時(高速緩存命中)(S9YES),將該高速緩存數(shù)據(jù)131作為傳送數(shù)據(jù)從公共存儲部102讀出(S10)。
與此相對,端口處理器107在沒有將該物理存儲區(qū)域中存儲的數(shù)據(jù)作為高速緩存數(shù)據(jù)131存儲在公共存儲部102中時(高速緩存未命中)(S9NO),調(diào)出RAID控制程序,通過盤處理器110控制RAID控制程序,讀出在該物理存儲區(qū)域中存儲的數(shù)據(jù),作為高速緩存數(shù)據(jù)131存儲在公共存儲部102中,將該高速緩存數(shù)據(jù)131作為傳送數(shù)據(jù)從公共存儲部102中讀出(S11)。
最后,端口處理器107將傳送數(shù)據(jù)傳送給主機12(S12)。
然后,端口107檢查從主機12接收到的SCSI命令是否為針對動態(tài)邏輯卷21的讀出命令(S13)。
然后,端口處理器107,在該SCSI命令是針對動態(tài)邏輯卷21的讀出命令時(S13YES),參照動態(tài)邏輯卷模式管理表133,由此檢查基于讀出命令的動態(tài)邏輯卷21是否為標(biāo)志操作模式(S14)。
而且,端口處理器107,在基于讀出命令的動態(tài)邏輯卷21為標(biāo)志操作模式時(S14YES),參照池管理表,將對應(yīng)的區(qū)域的訪問標(biāo)志管理欄193變更為[TRUE](S15)。
然后,端口處理器107參照映射表135,將對應(yīng)的區(qū)域的加鎖標(biāo)志管理欄203變更為[FALSE],由此,關(guān)于對應(yīng)的區(qū)域,對讀出對象的區(qū)域進行解鎖(S16),以解除針對基于來自主機12的SCSI命令的數(shù)據(jù)讀寫的禁止,解除針對向動態(tài)邏輯卷21的奇偶檢驗組19的物理存儲區(qū)域的分配的禁止或者針對從動態(tài)邏輯卷21奇偶檢驗組19的物理存儲區(qū)域的刪除的禁止。
最后,端口處理器107結(jié)束圖13所示的數(shù)據(jù)讀出時的命令處理順序RT1(S17)。
圖14是表示與該存儲系統(tǒng)1的數(shù)據(jù)寫入時的命令處理有關(guān)的存儲裝置11的具體的處理順序的流程圖。
端口處理器107在初期時,在通過執(zhí)行命令處理程序123,按照圖14所示的數(shù)據(jù)寫入時的命令處理順序RT2,從主機12接收到SCSI命令時,檢查該SCSI命令是否為針對控制邏輯卷22的寫入命令(S21)。
然后,端口處理器107在該SCSI命令是針對控制邏輯卷22的寫入命令時(S21YES),繼續(xù)在公共存儲部102內(nèi)確保用于對由主機12發(fā)送的控制指示進行存儲的區(qū)域(S22)。然后,端口處理器107存儲從主機12發(fā)送的控制指示(S23)。
然后,端口處理器107確定公共存儲部102中存儲的控制指示是什么樣的控制指示(S24)。作為由主機12發(fā)送的控制指示,例如具有指示區(qū)域釋放程序125的開始的控制指示等。
然后,端口處理器107根據(jù)該控制指示,執(zhí)行對應(yīng)的處理的調(diào)出,或者生成對應(yīng)的信息(S25)。
與此相對,端口處理器107,在該SCSI命令不是針對控制邏輯卷22的寫入命令時(S21NO),檢查從主機12接收到的SCSI命令是否為針對動態(tài)邏輯卷21的寫入命令(S26)。
然后,端口處理器107在該SCSI命令是針對動態(tài)邏輯卷21的寫入命令時(S26YES),參照映射表135,將對應(yīng)的區(qū)域的加鎖標(biāo)志管理欄203變更為[TRUE],由此加鎖對應(yīng)的區(qū)域(S27)。
然后,端口處理器107參照映射表135,檢查是否已經(jīng)對對應(yīng)的區(qū)域分配完奇偶檢驗組19的物理存儲區(qū)域(S28)。
而且,端口處理器107在沒有對對應(yīng)的區(qū)域分配完奇偶檢驗組19的物理存儲區(qū)域時(S28NO),對該區(qū)域分配奇偶檢驗組19的物理存儲區(qū)域(S29)。
然后,端口處理器107在該SCSI命令不是針對動態(tài)邏輯卷21的寫入命令時(S26NO),在對對應(yīng)的區(qū)域分配完奇偶檢驗組19的物理存儲區(qū)域時(S28YES),或者在對對應(yīng)的區(qū)域分配了奇偶檢驗組19的物理存儲區(qū)域時(S29),檢查是否因為是對靜態(tài)邏輯卷20的讀出命令,或者對動態(tài)邏輯卷21對應(yīng)的區(qū)域分配了奇偶檢驗組19的物理存儲區(qū)域,奇偶檢驗組19的物理存儲區(qū)域的LBA已確定,所以把從主機12發(fā)送的寫入對象的數(shù)據(jù)作為高速緩存數(shù)據(jù)131存儲在了公共存儲部102中(S30)。
此時,端口處理器107在公共存儲部102中存儲了在對應(yīng)的奇偶檢驗組19的物理存儲區(qū)域中存儲的數(shù)據(jù)的高速緩存數(shù)據(jù)131時,覆蓋該高存緩存數(shù)據(jù)131,在公共存儲部102中沒有存儲在對應(yīng)的奇偶檢驗組19的物理存儲區(qū)域中存儲的數(shù)據(jù)的高速緩存數(shù)據(jù)131時,在公共存儲部102中確保區(qū)域來存儲高速緩存數(shù)據(jù)131。
然后,端口處理部107檢查從主機12接收到的SCSI命令是否為針對動態(tài)邏輯卷21的寫入命令(S31)。
而且,端口處理器107在該SCSI命令為針對動態(tài)邏輯卷21的寫入命令時(S31YES),參照動態(tài)邏輯卷模式管理表133,檢查基于寫入命令的動態(tài)邏輯卷21是否為標(biāo)志操作模式(S32)。
而且,端口處理器107在基于寫入命令的動態(tài)邏輯卷21為標(biāo)志操作模式時(S32YES),參照池管理表134,將對應(yīng)區(qū)域的訪問標(biāo)志管理欄193變更為[TRUE](S33)。
然后,端口處理器107參照映射表135,將對應(yīng)的區(qū)域的加鎖標(biāo)志管理欄203變更為[FALSE],由此對對應(yīng)的區(qū)域進行解鎖(S34)。
最后,端口處理器107結(jié)束圖14所示的數(shù)據(jù)寫入時的命令處理順序RT2(S35)。
(1-3)第一實施方式的容量信息取得處理以及不使用區(qū)域釋放處理(1-3-1)容量信息取得處理以及不使用區(qū)域釋放處理的全體的處理流程然后,參照圖15~圖17對第一實施方式的存儲系統(tǒng)1的容量信息取得處理以及不使用區(qū)域釋放處理的全體處理的流程進行說明。在本實施方式的存儲系統(tǒng)1中,其特征之一為在存儲裝置11中,對被識別為主機12正在使用的包含LBA的存儲區(qū)域進行管理,把被識別為主機12沒有使用的物理存儲區(qū)域從動態(tài)邏輯卷12中釋放。
圖15是概略地表示第一實施方式的容量信息取得處理以及不使用區(qū)域釋放處理的全體處理流程的內(nèi)容的概念圖。此外,圖16以及圖17是表示與該存儲系統(tǒng)1中的容量信息取得處理以及不使用區(qū)域釋放處理的全體處理流程有關(guān)的存儲裝置11、主機12以及管理服務(wù)器14的具體的處理順序的流程圖。
管理服務(wù)器14的CPU261,在初期,當(dāng)按照圖16以及圖17所示的容量信息取得/不使用區(qū)域釋放處理順序RT3,以規(guī)定的定時或者通過管理者的操作,啟動作為執(zhí)行容量信息取得處理以及不使用區(qū)域釋放處理的程序的動態(tài)邏輯卷管理處理程序291時,對主機12請求執(zhí)行[容量信息取得處理](S41)。
主機12的CPU211,在由被管路服務(wù)器14請求執(zhí)行[容量信息取得處理]時,執(zhí)行使用容量信息取得處理,關(guān)于與動態(tài)邏輯卷21對應(yīng)的文件系統(tǒng)232(主機卷17),對每個文件系統(tǒng)232取得使用容量(S42)。
然后,主機12的CPU211對存儲裝置11請求執(zhí)行[動態(tài)邏輯卷容量信息取得處理](S43)。
然后,存儲裝置11的端口處理器107在被主機12請求執(zhí)行[動態(tài)邏輯卷容量信息取得處理]時,執(zhí)行動態(tài)邏輯卷分析處理,取得對每個動態(tài)邏輯卷21分配了奇偶檢驗組19的物理存儲區(qū)域的區(qū)域數(shù)量(S44)。
然后,存儲裝置11的端口處理器107,對主機12發(fā)送所取得的每個動態(tài)邏輯卷21的區(qū)域數(shù)量(S45)。
然后,主機12的CPU211在接收到每個動態(tài)邏輯卷21的區(qū)域數(shù)量時,與每個對應(yīng)的文件系統(tǒng)232的使用容量一起發(fā)送給管理服務(wù)器14(S46)。
然后,管理服務(wù)器14的CPU261,在接收到每個動態(tài)邏輯卷21的區(qū)域數(shù)量以及每個對應(yīng)的文件系統(tǒng)232的使用容量時,例如計算出基于動態(tài)邏輯卷21的區(qū)域數(shù)量的使用容量和對應(yīng)的文件系統(tǒng)232的使用容量的差,選擇差較大的規(guī)定數(shù)量的文件系統(tǒng)232,關(guān)于選擇出的文件系統(tǒng)232,對主機12請求執(zhí)行[不使用區(qū)域釋放處理](S47)。
此外,管理服務(wù)器14的CPU261,還可以按順序計算出基于動態(tài)邏輯卷21的區(qū)域數(shù)量的使用容量和對應(yīng)的文件系統(tǒng)232的使用容量的差,將這些差按從大到小的順序排列在顯示裝置270上進行顯示,通過管理者等對執(zhí)行不使用區(qū)域釋放處理的文件系統(tǒng)232進行選擇,由此,對于選擇出的文件系統(tǒng)232,對主機12也可請求執(zhí)行[不使用區(qū)域釋放處理]。
此外,管理服務(wù)器14的CPU261,還可以按順序計算出基于動態(tài)邏輯卷21的區(qū)域數(shù)量的使用容量和對應(yīng)的文件系統(tǒng)232的使用容量的比,對于比大的規(guī)定數(shù)量的文件系統(tǒng)232,對主機12請求執(zhí)行[不使用區(qū)域釋放處理],換句話說,可以對基于動態(tài)邏輯卷21的區(qū)域數(shù)量的使用容量和對應(yīng)的文件系統(tǒng)232的使用容量的背離大的文件系統(tǒng)232,對主機12請求執(zhí)行[不使用區(qū)域釋放處理]即可。
然后,主機12的CPU211在被管理服務(wù)器14要求執(zhí)行[不使用區(qū)域釋放處理]時,執(zhí)行不使用區(qū)域釋放處理,對存儲裝置11請求執(zhí)行[模式變更處理](S48)。
然后,存儲裝置11的端口處理器107在被主機12請求執(zhí)行[模式變更處理]時,執(zhí)行模式變更處理,把與選擇出的文件系統(tǒng)232對應(yīng)的邏輯卷21變更為標(biāo)志操作模式(RT6)。
然后,存儲裝置11的端口處理器107將完成了[模式變更處理]的報告發(fā)送給主機12(S49)。
然后,主機12的CPU211在接收到表示完成了[模式變更處理]的報告時,執(zhí)行不可釋放區(qū)域訪問處理,對存儲裝置11發(fā)送與識別為文件232正在存儲數(shù)據(jù),并且正在使用的關(guān)于LBA數(shù)據(jù)的讀出命令,通過存儲裝置11的端口處理器107,根據(jù)讀出命令,把與讀出對象的數(shù)據(jù)對應(yīng)的區(qū)域的訪問標(biāo)志管理欄193變更為[TRUE],并且,將讀出對象的數(shù)據(jù)發(fā)送給主機12(RT7)。
然后,主機12的CPU211在關(guān)于文件系統(tǒng)232當(dāng)前識別的LBA數(shù)據(jù)的數(shù)據(jù)讀出結(jié)束時,對存儲裝置11請求執(zhí)行[區(qū)域釋放處理](S50)。
然后,存儲裝置11的端口處理器107在被主機12請求執(zhí)行[區(qū)域釋放處理]時,執(zhí)行區(qū)域釋放處理,釋放對訪問標(biāo)志管理欄193為[FALSE]的區(qū)域分配的奇偶檢驗組19的物理存儲區(qū)域(RT8)。
然后,存儲裝置11的端口處理器107,對主機12發(fā)送釋放的區(qū)域的數(shù)量(S51)。
然后,主機12的CPU211在接收到釋放的區(qū)域的數(shù)量時,將該釋放的區(qū)域的數(shù)量發(fā)送給管理服務(wù)器14(S52)。
此外,管理服務(wù)器14的CPU261通過在顯示裝置上顯示所釋放的區(qū)域的數(shù)量,可以使管理者等確認不使用區(qū)域釋放處理的結(jié)果。
(1-3-2)容量信息取得處理然后,對第一實施方式的存儲系統(tǒng)1的容量信息取得處理進行詳細地說明。圖18是表示與該存儲系統(tǒng)1的容量信息取得處理有關(guān)的主機12以及存儲裝置11的具體的處理順序的流程。
主機12的CPU211在初期,在被管理服務(wù)器14請求執(zhí)行[容量信息取得處理]時,執(zhí)行容量信息驅(qū)取得處理程序251,按照圖18所示的容量信息取得處理順序RT4,取得邏輯卷類別信息(S61),所述容量信息取得處理程序251取得文件系統(tǒng)232的使用容量以及取得對對應(yīng)的動態(tài)邏輯卷21分配了奇偶檢驗組19的物理存儲區(qū)域的區(qū)域的數(shù)量。
此時,主機12的CPU211生成指示取得邏輯卷類別信息的控制指示,將該控制指示發(fā)送給存儲裝置11的公共存儲部102(控制邏輯卷22)。
存儲裝置11的端口處理器107,根據(jù)指示取得邏輯卷類別信息的控制指示,參照邏輯卷類別管理表122,由此,生成邏輯卷類別信息,并在公共存儲部102中確保區(qū)域來存儲在公共存儲部102中。然后,存儲裝置11的端口處理器107將邏輯卷類別信息發(fā)送給主機12的主存儲器212。
然后,主機12的CPU211,通過參照邏輯卷類別信息,檢查邏輯卷16的類別是否為邏輯卷21(S62)。
然后,主機12的CPU211在邏輯卷16的類別為動態(tài)邏輯卷21時(S63),啟動主機代理程序233的容量信息取得處理程序251,執(zhí)行文件系統(tǒng)232的使用容量取得處理程序243,由此,執(zhí)行文件系統(tǒng)使用容量取得處理,取得文件系統(tǒng)232的使用容量(S63)。
然后,主機12的CPU211取得對與該文件系統(tǒng)232對應(yīng)的動態(tài)邏輯卷21分配了奇偶檢驗組19的物理存儲區(qū)域的區(qū)域數(shù)量(S64)。
此時,主機12的CPU211,生成指示動態(tài)邏輯卷分析處理的控制指示,將該控制指示發(fā)送給存儲裝置11的公共存儲部102(控制邏輯卷22)。
存儲裝置11的端口處理器107,根據(jù)指示開始動態(tài)邏輯卷分析處理的控制指示,執(zhí)行動態(tài)邏輯卷分析處理程序126,由此,執(zhí)行動態(tài)邏輯卷分析處理,取得對動態(tài)邏輯卷21分配了奇偶檢驗組19的物理存儲區(qū)域的區(qū)域數(shù)量,并在公共存儲部102中確保區(qū)域,來將該區(qū)域數(shù)量存儲在公共存儲部102中。而且,存儲裝置11的端口處理器107將該區(qū)域數(shù)量發(fā)送給主機12的主存儲器212。
與此相對,主機12的CPU211,在邏輯卷16的類別不是動態(tài)邏輯卷21時(S62NO),或者在取得了對與該文件系統(tǒng)232對應(yīng)的動態(tài)邏輯卷21分配了奇偶檢驗組19的物理存儲區(qū)域的區(qū)域數(shù)量時(S64),檢查關(guān)于邏輯卷類別信息中的全部的邏輯卷16,是否執(zhí)行了文件系統(tǒng)使用容量取得處理以及動態(tài)邏輯卷分析處理(S65)。
而且,主機12的CPU211在關(guān)于全部的邏輯卷16,沒有執(zhí)行文件系統(tǒng)使用容量取得處理以及動態(tài)邏輯卷分析處理時(S65NO),在其后檢查下一邏輯卷16的類別是否為動態(tài)邏輯卷21(S62),之后反復(fù)進行同樣的處理(S62~S65-S62)。
與此相對,主機12的CPU211在關(guān)于全部的邏輯卷16,執(zhí)行了文件系統(tǒng)使用容量取得處理以及動態(tài)邏輯卷分析處理時(S65YES),將取得的每個動態(tài)邏輯卷21的區(qū)域數(shù)量和與每個動態(tài)邏輯卷21對應(yīng)的每個文件系統(tǒng)232的使用容量發(fā)送給管理服務(wù)器14(S66)。
最后,主機12的CPU211,結(jié)束圖18所示的容量信息取得處理順序RT4(S67)。
(3-3)不使用區(qū)域釋放處理然后,對第一實施方式的存儲系統(tǒng)1的不使用區(qū)域釋放處理進行詳細地說明。圖19是表示與該存儲系統(tǒng)1的不使用區(qū)域釋放處理有關(guān)的存儲裝置11以及主機12的具體的處理順序的流程。
主機12的CPU211,在初期,在被管理服務(wù)器14請求執(zhí)行[不使用區(qū)域釋放處理]時,關(guān)于對與選擇出的文件系統(tǒng)232對應(yīng)的動態(tài)邏輯卷21分配的奇偶檢驗組19的物理存儲區(qū)域,啟動不使用區(qū)域釋放處理252,由此按照圖19所示的不使用區(qū)域釋放處理順序RT5,對于文件系統(tǒng)232,執(zhí)行碎片處理以及再掛接處理(S71),所述不使用區(qū)域釋放處理252是將被識別為主機12目前沒有使用的存儲區(qū)域從動態(tài)邏輯卷21釋放的程序。
此時,主機12的CPU211調(diào)出文件系統(tǒng)232的碎片處理程序242,控制該碎片處理程序242,由此反復(fù)進行在動態(tài)邏輯卷21中存儲的數(shù)據(jù)的讀出以及寫入,由此使動態(tài)邏輯卷21中不連續(xù)存儲的數(shù)據(jù)的不使用區(qū)域連續(xù)。
此外,此時,主機12的CPU211為了把作為文件系統(tǒng)232保存的臟數(shù)據(jù)的高速緩存數(shù)據(jù)反映在存儲裝置11中,而發(fā)送給存儲裝置11。
然后,主機12的CPU211,從存儲裝置11,對于與該文件系統(tǒng)232對應(yīng)的動態(tài)邏輯卷21,取得分區(qū)表,對該分區(qū)表進行分析,由此,取得對應(yīng)的動態(tài)邏輯卷21的前端LBA以及終端LBA(S72)。
此時,關(guān)于分區(qū)表,是用于管理邏輯卷的前端LBA以及終端LBA等的信息,一般存儲在邏輯卷的前端塊(
號的LBA)中。
因此,主機12的CPU211指定
號的LBA來執(zhí)行讀出命令,從動態(tài)邏輯卷21讀入取得分區(qū)表,并對所取得的分區(qū)表進行分析,由此來確定與文件系統(tǒng)232對應(yīng)的動態(tài)邏輯卷21的前端LBA以及終端LBA。
然后,主機12的CPU211,把與文件系統(tǒng)232對應(yīng)的動態(tài)邏輯卷21的命令處理模式從通常模式變更為標(biāo)志操作模式(S73)。
此時,主機12的CPU211生成指示開始模式變更處理的控制指示,將該控制指示發(fā)送給存儲裝置11的公共存儲部102(控制邏輯卷22)。
這里,對第一實施方式的存儲系統(tǒng)1的模式變更處理進行詳細地說明。圖20是表示與該存儲系統(tǒng)1的變更處理有關(guān)的存儲裝置11的具體的處理順序的流程圖。
存儲裝置11的端口處理器107,在確定出指示開始模式變更處理的控制指示時,執(zhí)行把動態(tài)邏輯卷21的命令處理模式從通常模式變更為標(biāo)志操作模式,并且對訪問標(biāo)志管理欄193進行重設(shè)的程序的模式變更程序124,由此,按照圖20所示的模式變更處理順序RT6,執(zhí)行模式變更處理,根據(jù)對該控制指示指定的訪問標(biāo)志管理欄193進行重設(shè)的對象LBA范圍,計算開始模式變更處理的區(qū)域,將該區(qū)域設(shè)定為開始模式變更處理的區(qū)域(S81)。
然后,存儲裝置11的端口處理器107參照映射表135,將設(shè)定的區(qū)域的加鎖標(biāo)志管理欄203變更為[TRUE],由此加鎖設(shè)定的區(qū)域(S82)。
然后,存儲裝置11的端口處理器107在沒有對設(shè)定的區(qū)域分配完奇偶檢驗組19的物理存儲區(qū)域時(S83NO),參照映射表135,將設(shè)定的區(qū)域的加鎖標(biāo)志管理欄203變更為[FALSE],由此對設(shè)定的區(qū)域進行解鎖(S84)。
與此相對,存儲裝置11的端口處理器107在對設(shè)定的區(qū)域分配完奇偶檢驗組19的物理存儲區(qū)域時(S83YES),通過參照池管理表134,將設(shè)定的區(qū)域的訪問標(biāo)志變更為[FALSE],并且參照映射表135,將設(shè)定的區(qū)域的加鎖標(biāo)志管理欄203變更為[FALSE],由此對設(shè)定的區(qū)域進行解鎖(S85)。
然后,存儲裝置11的端口處理器107對于對控制指示指定的訪問標(biāo)志進行重設(shè)的對象LBA范圍的全部區(qū)域,檢查是否執(zhí)行了步驟S83~步驟S85的一連串的動作(S86)。
然后,存儲裝置11的端口處理器107對于全部的區(qū)域,在沒有執(zhí)行步驟S83~步驟S85的一連串的處理時(S86NO),之后,將區(qū)域設(shè)定為下一次執(zhí)行一連串的處理的區(qū)域(S87),之后反復(fù)進行同樣的處理(S82~S86-S87、S82)。
與此相對,存儲裝置11的端口處理器107在對于全部的區(qū)域執(zhí)行了步驟S83~步驟S85的一連串的動作時(S86YES),通過參照動態(tài)邏輯卷模式變更表133,把與文件系統(tǒng)232對應(yīng)的動態(tài)邏輯卷21所對應(yīng)的命令處理模式管理欄182從通常模式變更為標(biāo)志變更模式(S88),之后,結(jié)束圖20所示的模式變更處理順序RT6(S89)。
然后,存儲裝置11的端口處理器107結(jié)束模式變更處理,向主機12發(fā)送以下的報告已將與文件系統(tǒng)232對應(yīng)的動態(tài)邏輯卷21的命令處理模式從通常模式變更為標(biāo)志操作模式。
返回圖19,然后,主機12的CPU211在把與文件系統(tǒng)232對應(yīng)的動態(tài)邏輯卷21的命令處理模式從通常模式變更為標(biāo)志操作模式后,執(zhí)行向不可釋放區(qū)域的訪問處理(S73)。
這里,對第一實施方式的存儲系統(tǒng)1的不可釋放區(qū)域訪問處理進行詳細地說明。圖21是表示與該存儲系統(tǒng)1的不可釋放區(qū)域訪問處理有關(guān)的主機12的具體的處理順序的流程圖。
主機1 2的CPU211,在初期,按照圖21所示的不可釋放區(qū)域訪問處理順序RT7,執(zhí)行不可釋放區(qū)域訪問處理,把通過對分區(qū)表進行分析取得的與文件系統(tǒng)232對應(yīng)的動態(tài)邏輯卷21的前端LBA設(shè)定為執(zhí)行塊狀態(tài)取得處理的LBA(S91)。
主機12的CPU211,對于設(shè)定的LBA,執(zhí)行文件系統(tǒng)232的塊狀態(tài)取得處理程序,由此執(zhí)行塊狀態(tài)取得處理,來檢查設(shè)定的LBA是否為正在使用(即,是否在設(shè)定的LBA中存儲了由主機12識別的數(shù)據(jù))(S92)。
而且,主機12的CPU211在所設(shè)定的LBA沒有正在使用時(S92NO),把執(zhí)行塊狀態(tài)取得處理的LBA設(shè)定為下一個LBA(S93)。
與此相對,主機12的CPU211,在設(shè)定的LBA為正在使用時,(S92YES),讀出存儲在與該LBA對應(yīng)的物理存儲區(qū)域中的數(shù)據(jù)(S94)。
此時,主機12的CPU211,把存儲在與該LBA對應(yīng)的物理存儲區(qū)域中的數(shù)據(jù)的讀出命令發(fā)送給存儲裝置11。存儲裝置11的端口處理器107根據(jù)該讀出命令,從與設(shè)定的LBA對應(yīng)的物理存儲區(qū)域中讀出讀出對象數(shù)據(jù),發(fā)送給主機12。
此時,存儲系統(tǒng)1的端口處理器107,因為命令處理模式為標(biāo)志操作模式,所以參照池管理表134,把與存儲了讀出對象數(shù)據(jù)的奇偶檢驗組19的物理存儲區(qū)域?qū)?yīng)的區(qū)域的訪問標(biāo)志欄193變更為[TRUE],由此,將該區(qū)域識別為不可釋放區(qū)域。
然后,主機12的CPU211在接收到基于讀出命令的讀出對象數(shù)據(jù)時,將執(zhí)行塊狀態(tài)取得處理的LBA設(shè)定為下一個區(qū)域的前端LBA(S95)。
即,主機12的CPU211在從對應(yīng)的區(qū)域讀出基于讀出命令的讀出對象數(shù)據(jù)之后,不從同一區(qū)域讀出基于其它讀出命令的讀出對象數(shù)據(jù)。
然后,主機12的CPU211檢查到終端LBA為止是否執(zhí)行了塊狀態(tài)取得處理(S96)。
然后,主機12的CPU211在到LBA為止沒有執(zhí)行塊狀態(tài)取得處理的情況下(S96NO),之后,對設(shè)定的LBA執(zhí)行塊狀態(tài)取得處理,來檢查設(shè)定的LBA是否正在使用(S92),之后反復(fù)進行同樣的處理(S92~S96-S92)。
與此相對,主機12的CPU211在到終端LBA為止執(zhí)行了塊狀態(tài)取得處理時(S96YES),之后,結(jié)束圖21所示的不可釋放區(qū)域訪問處理順序RT7(S97)。
此外,主機12的CPU211例如在文件系統(tǒng)232為LINUX(注冊商標(biāo))時,從inode/datablock bitmap取得塊狀態(tài)。
返回圖19,然后,主機12的CPU211在執(zhí)行了向不可釋放區(qū)域的訪問處理后,對于與應(yīng)該釋放的區(qū)域?qū)?yīng)的奇偶檢驗組19的物理存儲區(qū)域,從動態(tài)邏輯卷21釋放(S75)。
此時,主機12的CPU211生成指示開始區(qū)域釋放處理的控制指示,并發(fā)送給存儲裝置11的公共存儲部102(控制邏輯卷22)。
這里,對第一實施方式的存儲系統(tǒng)1的區(qū)域釋放處理進行詳細地說明。圖22是表示與該存儲區(qū)域1的區(qū)域釋放處理有關(guān)的存儲裝置11的具體的處理順序的流程圖。
存儲裝置11的端口處理器107,在確定為指示開始區(qū)域釋放處理的控制指示時,對于與應(yīng)該釋放的區(qū)域?qū)?yīng)的奇偶檢驗組19的物理存儲區(qū)域,執(zhí)行作為從動態(tài)邏輯卷21進行釋放的程序的區(qū)域釋放處理程序125,由此,按照圖22所示的區(qū)域釋放處理順序RT8(圖17),執(zhí)行區(qū)域釋放處理,根據(jù)對該控制指示指定的訪問標(biāo)志管理欄193進行重設(shè)的對象LBA區(qū)域,計算開始區(qū)域釋放處理的區(qū)域,來將該區(qū)域設(shè)定為開始區(qū)域釋放處理的區(qū)域(S101)。
然后,存儲裝置11的端口處理器107參照映射表135,將所設(shè)定的區(qū)域的加鎖標(biāo)志管理欄203變更為[TRUE],由此來加鎖設(shè)定的區(qū)域(S102)。
然后,存儲裝置11的端口處理器107通過參照池管理表134,檢查所設(shè)定的區(qū)域的訪問標(biāo)志管理欄193是否為[FALSE](S103)。
然后,存儲裝置11的端口處理器107在所設(shè)定的區(qū)域的訪問標(biāo)志管理欄193不是[FALSE]時(S103NO),參照映射表135將所設(shè)定的區(qū)域的加鎖標(biāo)志管理欄203變更為[FALSE],由此對所設(shè)定的區(qū)域進行解鎖(S104)。
與此相對,存儲裝置11的端口處理器107在所設(shè)定的區(qū)域的訪問標(biāo)志管理欄193為[FALSE]時(S103YES),參照池管理表134將所設(shè)定的區(qū)域的分配狀態(tài)管理欄194從已分配變更為空,并且參照映射表135將所設(shè)定的區(qū)域的分配狀態(tài)管理欄204從已分配變更為空,并將對應(yīng)的PGID205以及PGLBA開始值206變更為[-],并且,通過將所設(shè)定的區(qū)域的加鎖標(biāo)志管理欄203變更為[FALSE],對所設(shè)定的區(qū)域進行解鎖(S105)。
然后,存儲裝置11的端口處理器107,在關(guān)于全部的區(qū)域,沒有執(zhí)行步驟S102~步驟S105的一連串的處理時(S106NO),之后,將區(qū)域設(shè)定為下一次執(zhí)行一連串的處理的區(qū)域(S107),之后反復(fù)進行同樣的處理(S102~S106-S107、S102)。
與此相對,存儲裝置11的端口處理器107在對于全部的區(qū)域執(zhí)行了步驟S102~步驟S105的一連串的處理時(S106YES),將釋放的區(qū)域數(shù)量存儲在該端口處理器107的存儲器(未圖示)中,并且將釋放的區(qū)域數(shù)量發(fā)送給主機12(S108),然后,結(jié)束圖22所示的區(qū)域釋放處理順序RT8(S109)。
返回圖19,然后,主機12的CPU211關(guān)于與應(yīng)該釋放的區(qū)域?qū)?yīng)的奇偶檢驗組19的物理存儲區(qū)域,從動態(tài)邏輯卷21進行釋放,在接收到釋放區(qū)域數(shù)量時,將該釋放區(qū)域數(shù)量發(fā)送給管理服務(wù)器14(S76),之后,結(jié)束圖19所示的不使用區(qū)域釋放處理順序RT4(S77)。
如此,在存儲系統(tǒng)1中,將存儲了基于主機12的讀出命令的讀出對象數(shù)據(jù)的奇偶檢驗組19的物理存儲區(qū)域所對應(yīng)的區(qū)域識別為不可釋放區(qū)域,將沒有被識別為不可釋放區(qū)域的奇偶檢驗組19的物理存儲區(qū)域從動態(tài)邏輯卷21進行釋放,由此,存儲裝置11無需理解文件系統(tǒng)232的結(jié)構(gòu),就可以將不需要的物理存儲裝置從動態(tài)邏輯卷21進行釋放。
此外,在存儲系統(tǒng)1中,對于基于動態(tài)邏輯卷21的區(qū)域數(shù)量的使用容量和對應(yīng)的文件系統(tǒng)232的使用容量的背離離較大的文件系統(tǒng)232,通過對主機12執(zhí)行[不使用區(qū)域釋放處理],由此可以選擇對于基于動態(tài)邏輯卷21的區(qū)域數(shù)量的使用容量,文件系統(tǒng)232的使用容量少,物理存儲區(qū)域的利用效率差的文件系統(tǒng)232,來執(zhí)行[部使用區(qū)域釋放處理],所以可以釋放更多個物理存儲區(qū)域。
而且,在存儲系統(tǒng)1中,在將存儲了基于主機12的讀出命令的讀出對象數(shù)據(jù)的奇偶檢驗組19的物理存儲區(qū)域所對應(yīng)的區(qū)域識別為不可釋放區(qū)域時,將執(zhí)行塊狀態(tài)取得處理的LBA設(shè)定為下一區(qū)域的前端LBA,由此可以提前并且有效地防止從識別為不可釋放區(qū)域的區(qū)域執(zhí)行數(shù)據(jù)的讀出處理,可以進一步地提高不可釋放區(qū)域的區(qū)域處理。
(2)(第二實施方式)第二實施方式的存儲系統(tǒng)1除了主機12的軟件構(gòu)成圖以及不可釋放區(qū)域訪問處理不同之外,與第一實施方式的存儲系統(tǒng)1同樣地構(gòu)成。
圖23是主機12的軟件構(gòu)成圖。第二實施方式的主機12的軟件構(gòu)成圖除了不具備塊狀態(tài)取得處理244,以及追加了元數(shù)據(jù)配置信息301之外,與第一實施方式的主機12的軟件構(gòu)成圖相同地構(gòu)成。元數(shù)據(jù)配置信息301是表示在哪里存儲了文件系統(tǒng)232的元數(shù)據(jù)的信息。
然后,對第二實施方式的存儲系統(tǒng)1的不可釋放區(qū)域訪問處理進行詳細地說明。圖23是表示與該存儲系統(tǒng)1的不可釋放區(qū)域訪問處理有關(guān)的主機12的具體的處理順序的流程圖。
主機12的CPU211在初期,按照圖23所示的不可釋放區(qū)域訪問處理順序RT9,執(zhí)行不可釋放區(qū)域訪問處理,根據(jù)對分區(qū)表進行分析取得的與文件系統(tǒng)232對應(yīng)的動態(tài)邏輯卷21的前端LBA以及容量以及元數(shù)據(jù)配置信息301,對元數(shù)據(jù)的配置進行分析來確定元數(shù)據(jù)配置(S111)。此外,主機12的CPU211在不執(zhí)行元數(shù)據(jù)的讀出和無法對元數(shù)據(jù)的配置進行分析的情況下,原樣地進入下一步驟。
然后,主機12的CPU211根據(jù)所確定的元數(shù)據(jù)配置取得LBA,讀出存儲在對與該LBA對應(yīng)的動態(tài)邏輯卷21分配的奇偶檢驗組19的物理存儲區(qū)域中的元數(shù)據(jù)(S112)。
此時,主機12的CPU211把對應(yīng)的元數(shù)據(jù)的讀出命令發(fā)送給存儲裝置11。存儲裝置11的端口處理器107根據(jù)該讀出命令,從分配給與LBA的塊對應(yīng)的動態(tài)邏輯卷21的奇偶檢驗組19的物理存儲區(qū)域中讀出讀出對象元數(shù)據(jù),發(fā)送給主機12。此時,存儲裝置11的端口處理器107因為命令處理模式為標(biāo)志操作模式,所以把與物理存儲區(qū)域?qū)?yīng)的區(qū)域識別為不可釋放區(qū)域。
然后,主機12的CPU211檢查關(guān)于所確定的元數(shù)據(jù)配置的全部元數(shù)據(jù),是否執(zhí)行了讀出命令(S113)。
然后,主機12的CPU211在關(guān)于所確定的元數(shù)據(jù)配置的全部元數(shù)據(jù),漢有執(zhí)行讀出命令時(S113NO),取得下一LBA,執(zhí)行與該LBA對應(yīng)的動態(tài)邏輯卷21所被分配的奇偶檢驗組19的物理存儲區(qū)域中存儲的元數(shù)據(jù)的讀出命令(S112)。
與此相對,主機12的CPU211在關(guān)于所確定的元數(shù)據(jù)配置的全部元數(shù)據(jù),執(zhí)行了讀出命令時(S113YES),讀出在動態(tài)邏輯卷21中存儲的全部的文件數(shù)據(jù)(S114)。
此時,主機12的CPU211把對應(yīng)的文件數(shù)據(jù)的讀出命令發(fā)送給存儲裝置11。存儲裝置11的端口處理器107根據(jù)該讀出命令,讀出在動態(tài)邏輯卷21中存儲的全部的文件數(shù)據(jù),發(fā)送給主機12。此時,存儲裝置11的端口處理器107因為命令處理模式為標(biāo)志操作模式,所以把與存儲了文件數(shù)據(jù)的物理存儲區(qū)域?qū)?yīng)的區(qū)域識別為不可釋放區(qū)域。
然后,主機12的CPU211將其存儲在動態(tài)邏輯卷21中。例如,雖然不是日志等文件數(shù)據(jù),但讀出在動態(tài)邏輯卷21中存儲的全部需要的數(shù)據(jù)(S115)。
此時,主機12的CPU211把對應(yīng)的需要的數(shù)據(jù)的讀出命令發(fā)送給存儲裝置11。存儲裝置11的端口處理器107根據(jù)該讀出命令,讀出在動態(tài)邏輯卷21中存儲的全部的需要的數(shù)據(jù),發(fā)送給主機12。此時,存儲裝置11的端口處理器107因為命令處理模式為標(biāo)志操作模式,所以把與存儲了需要的數(shù)據(jù)的物理存儲區(qū)域?qū)?yīng)的區(qū)域識別為不可釋放區(qū)域。
然后,主機12的CPU211之后結(jié)束圖23所示的不可釋放區(qū)域訪問處理順序RT9(S116)。
如此,在存儲系統(tǒng)1中,文件系統(tǒng)232讀出在動態(tài)邏輯卷21中存儲的元數(shù)據(jù)以及文件數(shù)據(jù),把與存儲了該元數(shù)據(jù)以及文件數(shù)據(jù)的物理存儲區(qū)域?qū)?yīng)的區(qū)域識別為不可釋放區(qū)域,將沒有被識別為不可釋放區(qū)域的奇偶檢驗組19的物理存儲區(qū)域從動態(tài)邏輯卷21進行釋放,由此,不像第一實施方式那樣追加稱為塊狀態(tài)處理程序244的特殊的處理程序,依賴通常的文件系統(tǒng)232讀出元數(shù)據(jù)以及文件數(shù)據(jù),所以,可以通過更簡單的結(jié)構(gòu),將不需要的物理存儲區(qū)域從動態(tài)邏輯卷21中釋放。
(3)第三實施方式第三實施方式的存儲系統(tǒng)1除了不可釋放區(qū)域訪問處理之外,與第一實施方式的存儲系統(tǒng)1相同地構(gòu)成。
圖25是概略表示第三實施方式的容量信息取得處理以及不使用區(qū)域釋放處理的全體處理的流程的內(nèi)容的概念圖。這里,對第三實施方式的存儲系統(tǒng)1的不可釋放區(qū)域訪問處理進行詳細地說明。圖26是用于表示與該存儲系統(tǒng)1的不可釋放區(qū)域訪問處理有關(guān)的主機12的具體的處理流程的流程圖。
主機12的CPU211在初期,按照圖26所示的不可釋放區(qū)域訪問處理順序RT10,執(zhí)行不可釋放區(qū)域訪問處理,執(zhí)行與第一實施方式的不可釋放區(qū)域訪問處理順序RT7的步驟S91~步驟S93相同的處理(S121~S123)。
與此相對,主機12的CPU211在所設(shè)定的LBA為正在使用時(S122YES),將該LBA通知給存儲裝置11(S124)。
此時,主機12的CPU211生成指示通知已設(shè)定的LBA的控制指示,將該控制指示發(fā)送給公共存儲部102(控制邏輯卷22)。
存儲裝置11的端口處理器107根據(jù)該控制指示,參照池管理表134,把與所設(shè)定的LBA對應(yīng)的區(qū)域的訪問標(biāo)志管理欄193變更為[TRUE],由此,將該區(qū)域識別為不可釋放區(qū)域。
然后,主機12的CPU211執(zhí)行與第一實施方式的不可釋放區(qū)域訪問處理順序RT7的步驟S95~步驟S96相同的處理(S125~S126),之后,結(jié)束圖26所示的不可釋放區(qū)域訪問處理順序RT10(S127)。
如此,在存儲系統(tǒng)1中,在所設(shè)定的LBA為正在使用時,將該LBA通知給存儲裝置11,把與所設(shè)定的LBA對應(yīng)的區(qū)域識別為不可釋放區(qū)域,把沒有被識別為不可釋放區(qū)域的奇偶檢驗組19的物理存儲區(qū)域從動態(tài)邏輯卷21進行釋放,由此,代替讀出在與LBA對應(yīng)的物理存儲區(qū)域中存儲的數(shù)據(jù),通過將所設(shè)定的LBA通知給存儲裝置11,不會隨著數(shù)據(jù)的讀出壓迫SAN網(wǎng)絡(luò)的帶寬,就可以將不需要的物理存儲區(qū)域從動態(tài)邏輯卷21中釋放。
本發(fā)明可以適用于包含將可動態(tài)擴展容量的動態(tài)邏輯卷提供給主機計算機的存儲裝置的存儲系統(tǒng)。
權(quán)利要求
1.一種存儲系統(tǒng),包含提供可動態(tài)擴展的動態(tài)邏輯卷的存儲裝置、具有對所述動態(tài)邏輯卷輸入輸出數(shù)據(jù)的文件系統(tǒng)的主計算機、以及管理所述存儲裝置以及所述主計算機的管理服務(wù)器,其特征在于,所述存儲裝置具備分配部,其在把從所述主計算機發(fā)送的所述數(shù)據(jù)存儲在所述動態(tài)邏輯卷中時,給該動態(tài)邏輯卷按每個規(guī)定的單位分配存儲區(qū)域;管理部,在由所述分配部對所述動態(tài)的邏輯卷分配的所述存儲區(qū)域中,對識別為由所述文件系統(tǒng)正在使用的所述存儲區(qū)域進行管理;和釋放部,把沒有由所述管理部管理的所述存儲區(qū)域從該動態(tài)邏輯卷釋放。
2.根據(jù)權(quán)利要求1所述的存儲系統(tǒng),其特征在于,所述主計算機,具備從所述動態(tài)的邏輯卷讀出所述數(shù)據(jù)的數(shù)據(jù)讀出部,所述管理部,對存儲了由所述數(shù)據(jù)讀出部讀出的所述數(shù)據(jù)的所述存儲區(qū)域進行管理。
3.根據(jù)權(quán)利要求2所述的存儲系統(tǒng),其特征在于,所述數(shù)據(jù)讀出部,在從分配給所述動態(tài)邏輯卷的所述存儲區(qū)域中讀出所述數(shù)據(jù)后,從同一所述存儲區(qū)域部不讀出其它的所述數(shù)據(jù)。
4.根據(jù)權(quán)利要求2所述的存儲系統(tǒng),其特征在于,所述數(shù)據(jù)讀出部,從所述動態(tài)邏輯卷中讀出全部的元數(shù)據(jù)以及文件數(shù)據(jù)。
5.根據(jù)權(quán)利要求1所述的存儲系統(tǒng),其特征在于,所述主計算機,具有把所述文件系統(tǒng)現(xiàn)在使用的所述存儲區(qū)域通知給所述存儲裝置的通知部,所述管理部,對由所述通知部通知的所述存儲區(qū)域進行管理。
6.根據(jù)權(quán)利要求1所述的存儲系統(tǒng),其特征在于,所述主計算機,具備取得所述文件系統(tǒng)的使用容量的使用容量取得部,所述存儲裝置,具備存儲區(qū)域數(shù)量取得部,其取得對與所述文件系統(tǒng)對應(yīng)的所述動態(tài)邏輯卷分配的所述存儲區(qū)域的數(shù)量,所述管理服務(wù)器,具備釋放決定部,其根據(jù)由所述使用容量取得部所取得的所述文件系統(tǒng)的使用容量以及由所述存儲區(qū)域數(shù)量取得部所取得的與所述文件系統(tǒng)對應(yīng)的所述動態(tài)邏輯卷的所述存儲區(qū)域的數(shù)量,決定釋放所述存儲區(qū)域的所述動態(tài)邏輯卷。
7.根據(jù)權(quán)利要求6所述的存儲系統(tǒng),其特征在于,所述釋放決定部,將釋放所述存儲區(qū)域的所述動態(tài)邏輯卷,決定為基于所述文件系統(tǒng)的使用容量以及與所述文件系統(tǒng)對應(yīng)的所述動態(tài)邏輯卷的所述存儲區(qū)域的數(shù)量的使用容量的背離大的所述動態(tài)邏輯卷。
8.一種存儲區(qū)域釋放方法,其包含提供可動態(tài)擴展的動態(tài)邏輯卷的存儲裝置;具有對所述動態(tài)邏輯卷輸入輸出數(shù)據(jù)的文件系統(tǒng)的主計算機;以及管理所述存儲裝置以及所述主計算機的管理服務(wù)器,其特征在于,具備第一步驟,在把從所述主計算機發(fā)送的所述數(shù)據(jù)存儲在所述動態(tài)邏輯卷中時,對該動態(tài)邏輯卷按每個規(guī)定的單位分配存儲區(qū)域;第二步驟,在所述第一步驟中對所述動態(tài)的邏輯卷分配的所述存儲區(qū)域中,對識別為由所述文件系統(tǒng)現(xiàn)在使用的所述存儲區(qū)域進行管理;和第三步驟,把在所述第二步驟中沒有管理的所述存儲區(qū)域,從該動態(tài)邏輯卷釋放。
9.根據(jù)權(quán)利要求8所述的存儲區(qū)域釋放方法,其特征在于,在所述第二步驟中,對存儲了由所述文件系統(tǒng)從所述動態(tài)邏輯卷讀出的所述數(shù)據(jù)的所述存儲區(qū)域進行管理。
10.根據(jù)權(quán)利要求8所述的存儲區(qū)域釋放方法,其特征在于,在所述第二步驟中,對存儲了由所述文件系統(tǒng)從所述動態(tài)邏輯卷讀出的元數(shù)據(jù)以及文件數(shù)據(jù)的所述存儲區(qū)域進行管理。
11.根據(jù)權(quán)利要求8所述的存儲區(qū)域釋放方法,其特征在于,在所述第二步驟中,對由所述文件系統(tǒng)通知的所述存儲區(qū)域進行管理。
12.一種存儲裝置,其對由主計算機發(fā)送的所述數(shù)據(jù),提供可動態(tài)擴展的動態(tài)邏輯卷,其特征在于,具備分配部,其在把從所述主計算機發(fā)送的所述數(shù)據(jù)存儲在所述動態(tài)邏輯卷中時,對該動態(tài)邏輯卷按每個規(guī)定的單位分配存儲區(qū)域;管理部,在由所述分配部對所述動態(tài)的邏輯卷分配的所述存儲區(qū)域中,對被識別為由所述文件系統(tǒng)正在使用的所述存儲區(qū)域進行管理;和釋放部,把沒有由所述管理部管理的所述存儲區(qū)域從該動態(tài)邏輯卷釋放。
13.根據(jù)權(quán)利要求12所述的存儲裝置,其特征在于,所述管理部,對存儲了由所述主計算機從所述動態(tài)邏輯卷讀出的所述數(shù)據(jù)的所述存儲區(qū)域進行管理。
14.根據(jù)權(quán)利要求12所述的存儲裝置,其特征在于,所述管理部,對存儲了由所述主計算機從所述動態(tài)邏輯卷讀出的元數(shù)據(jù)以及文件數(shù)據(jù)的所述存儲區(qū)域進行管理。
15.根據(jù)權(quán)利要求12所述的存儲裝置,其特征在于,所述管理部,對由所述主計算機通知的所述存儲區(qū)域進行管理。
16.一種存儲系統(tǒng),包含提供可動態(tài)擴展的動態(tài)邏輯卷的存儲裝置、具有對所述動態(tài)邏輯卷輸入輸出數(shù)據(jù)的文件系統(tǒng)的主計算機、以及管理所述存儲裝置以及所述主計算機的管理服務(wù)器,其特征在于,所述主計算機,具備取得所述文件系統(tǒng)的使用容量的使用容量取得部,所述存儲裝置,具備存儲區(qū)域數(shù)量取得部,其取得對與所述文件系統(tǒng)對應(yīng)的所述動態(tài)邏輯卷分配的所述存儲區(qū)域的數(shù)量,所述管理服務(wù)器,具備釋放決定部,其根據(jù)由所述使用容量取得部所取得的所述文件系統(tǒng)的使用容量以及由所述存儲區(qū)域數(shù)量取得部所取得的與所述文件系統(tǒng)對應(yīng)的所述動態(tài)邏輯卷的所述存儲區(qū)域的數(shù)量,決定釋放所述存儲區(qū)域的所述動態(tài)邏輯卷。
17.根據(jù)權(quán)利要求16所述的存儲系統(tǒng),其特征在于,所述釋放決定部,將釋放所述存儲區(qū)域的所述動態(tài)邏輯卷,決定為基于所述文件系統(tǒng)的使用容量以及與所述文件系統(tǒng)對應(yīng)的所述動態(tài)邏輯卷的所述存儲區(qū)域的數(shù)量的使用容量的背離大的所述動態(tài)邏輯卷。
全文摘要
本發(fā)明提出了一種通過簡單的結(jié)構(gòu)可以有效地運用存儲區(qū)域的存儲系統(tǒng)。具備在將從主計算機發(fā)送的數(shù)據(jù)存儲在動態(tài)邏輯卷中時,對該動態(tài)邏輯卷按每個規(guī)定的單位分配存儲區(qū)域的分配部;在由分配部對動態(tài)的邏輯卷分配的存儲區(qū)域中,對被識別為由文件系統(tǒng)正在使用的存儲區(qū)域進行管理的管理部;和釋放部,把沒有由管理部管理的存儲區(qū)域從該動態(tài)邏輯卷釋放。
文檔編號G06F12/02GK101042676SQ200610164348
公開日2007年9月26日 申請日期2006年12月19日 優(yōu)先權(quán)日2006年3月23日
發(fā)明者下薗紀(jì)夫, 芹澤一, 江口賢哲 申請人:株式會社日立制作所