專利名稱:用于控制塊的重排列的存儲系統(tǒng)和方法
技術領域:
本發(fā)明涉及一種存儲系統(tǒng),包括磁盤陣列裝置和文件控制設備,所述文件控制設備接收來自主計算機的訪問請求,并且然后向磁盤陣列裝置輸出該請求,更具體地,本發(fā)明涉及一種用于控制卷的重新排列的存儲系統(tǒng)和方法,其中磁盤陣列裝置中的磁盤陣列控制設備的高速訪問控制功能被用于消除卷的碎片狀態(tài)。
背景技術:
存儲系統(tǒng)通常被通過網絡或通道網絡連接到使用該系統(tǒng)的主計算機(下面稱其為主機)。存儲系統(tǒng)包括磁盤設備(存儲設備)。硬盤設備(HDD)通常被用作所述的磁盤設備。存儲系統(tǒng)還包括以網絡文件系統(tǒng)(NFS)服務器為代表的文件服務器。文件服務器的文件系統(tǒng)接收來自運行在主機上的應用(應用軟件)的磁盤訪問請求。因此,與來自應用(主機)的磁盤訪問請求相符合的磁盤訪問被通過文件系統(tǒng)執(zhí)行。所述的磁盤訪問引起所述應用(主機)指定的卷的創(chuàng)建/刪除、文件大小的增加或減小等。然后,在卷中出現(xiàn)了一種被稱為“碎片”的狀態(tài),其中塊(塊是磁盤訪問的單元)被以一種蠕蟲狀的迂回(vermiculate)方式使用。在碎片狀態(tài)中,被實際使用的區(qū)域占據的整個卷的速度下降了。此外,物理上不連續(xù)的塊被使用。因此,在卷訪問過程中,磁盤設備(HDD)被不連續(xù)地訪問。這可能降低系統(tǒng)的性能。
因此,到目前為止,一個被稱為碎片整理的處理(碎片消除處理或碎片整理處理)被執(zhí)行,以便消除碎片狀態(tài)。這個處理被由主機或文件服務器內的軟件根據主機或文件服務器上管理的碎片信息執(zhí)行。這個處理通過僅對卷內使用中的塊進行讀或寫來移動數據。使用中的塊被重新排列,從而成為是物理上連續(xù)的。
然而,由于碎片消除處理(碎片整理處理)移動塊中的數據,所以它花費長時間以消除碎片狀態(tài)。此外,一個提高的負載被強加在主機或文件服務器上。這也影響了響應來自所述應用的正常磁盤訪問請求對磁盤訪問的執(zhí)行。結果,整個系統(tǒng)的吞吐量下降了。
因此,已經提出了一種技術,該技術使用相應于文件系統(tǒng)的分層管理文件裝置,以便使得卷根據用于管理的記錄單元的長度的多個類型成為是分層的卷。(見,例如,日本專利No.2000-200207(第0033到第0035段和圖2))。在這種情況下,卷被劃分為用于管理的第一記錄單元長度的簇。每個簇被劃分為比第一記錄單元長度較小的第二記錄單元長度的片段。文件分配表(FAT),即,文件排列管理表被用作分段信息,以便管理簇和所述的分段。這篇文檔中描述的技術將采用的記錄單元的長度在用于視頻或音頻的大的文件(它們必須被連續(xù)地再現(xiàn))和用于句子的小的文件(它們可以被不連續(xù)地再現(xiàn))之間轉換。這使得減少碎片狀態(tài)的出現(xiàn)是可能的。
然而,即使使用上文中描述的技術以便消除碎片狀態(tài),相應于文件系統(tǒng)的分層管理文件裝置通過根據由分層管理文件裝置管理的分段信息(文件排列管理表),在卷中使用中的簇或分段上執(zhí)行讀或寫來移動數據也是必須的。在這個情況下,消除碎片狀態(tài)要花費一個長的時間。此外,一個增加的負載被強加到分層管理文件裝置(文件系統(tǒng))上。結果,整個系統(tǒng)的吞吐量減小了。
此外,在碎片狀態(tài)中,卷內被實際使用的區(qū)域(被實際使用的一組塊)變?yōu)槭遣贿B續(xù)的。因此,即使卷具有1GB的大小,并且實際被使用的塊的組(使用中的塊)具有100MB的整體大小,當所述組中的塊是不連續(xù)的和分布的時,不使用碎片消除處理,1GB大小的卷不能被減小為100MB大小的卷。在這種情況下,另外的900MB可用的存儲資源不能被有效地利用。
近來出現(xiàn)了一種存儲系統(tǒng),該系統(tǒng)包括磁盤陣列裝置,所述磁盤陣列裝置包括多個磁盤設備(存儲設備)。此外,出現(xiàn)了一種包括多個磁盤陣列裝置的存儲系統(tǒng)。這種類型的存儲系統(tǒng)通常由多個主機共享。在多個主機共享一個包括磁盤陣列裝置的存儲系統(tǒng)的系統(tǒng)中,在各個主機上獨立運行的應用對獨立的存儲資源做出使用請求。由每個應用請求的存儲資源是由多個磁盤設備提供的,并且相應于來自所述應用的使用請求的一組磁盤區(qū)域。因此,當磁盤區(qū)域如在碎片狀態(tài)下沒有被有效地使用時,來自每個應用的整個使用請求所需的存儲資源的總數增加了。因此,希望有效地使用存儲資源。
此外,如果系統(tǒng)沒有用于增加或減小卷的大小的功能,而是僅有用于使得由磁盤陣列提供的多個邏輯單元看起來象一個卷的功能(用于連接邏輯單元的功能),當碎片出現(xiàn)在多個邏輯單元中時,沒有一個邏輯單元能夠被釋放。因此,不可能將大小減小為實際使用的一個邏輯單元的大小。
因此,對于存儲系統(tǒng),希望通過使用磁盤陣列控制設備的高速訪問控制功能,即時地消除卷中的碎片狀態(tài)而不增加主機和文件系統(tǒng)上的負載,磁盤陣列控制設備控制磁盤陣列,以便物理地進行所需的數據移動,以便消除卷中的碎片狀態(tài)。
發(fā)明內容
根據本發(fā)明的一個方面,提供了一種存儲系統(tǒng),包括具有磁盤陣列控制設備的磁盤陣列裝置,所述的磁盤陣列控制設備控制著包括多個磁盤設備的磁盤陣列,并且分析來自主計算機的文件級訪問請求,以便將文件級訪問請求轉換為對相應于該文件級訪問請求的多個磁盤設備中的一個設備的訪問請求;以及包括文件系統(tǒng)的文件系統(tǒng)控制設備,所述文件系統(tǒng)管理著來自主計算機的訪問請求中指定的文件,文件系統(tǒng)控制設備接收來自主計算機的訪問請求,以便向磁盤陣列裝置輸出該請求,文件系統(tǒng)控制設備包括碎片信息收集部分,它從文件系統(tǒng)收集碎片信息,所述碎片信息指出將被消除碎片狀態(tài)的目標卷中的塊的使用,所述的目標卷被包括在這樣的卷內,由文件系統(tǒng)管理的文件被存儲在這些卷內;分析部分,它根據由碎片信息收集部分收集的碎片信息分析目標卷的碎片狀態(tài),以便產生所需的塊重排列信息,以便在目標卷中在連續(xù)的區(qū)域內重排列目標卷內使用中的塊;和塊重排列命令產生部分,它產生所需的塊重排列命令列,以便使得磁盤陣列控制設備執(zhí)行由塊重排列信息指示的塊重排列,塊重排列命令產生部分向磁盤陣列控制設備發(fā)出所述的命令列,磁盤陣列控制設備包括塊重排列部分,它根據由塊重排列命令產生部分發(fā)出的塊重排列命令列控制磁盤陣列,以便執(zhí)行將目標卷內使用中的塊內的數據移動到連續(xù)區(qū)域的塊重排列處理。
根據本發(fā)明的另一方面,提供了一種控制塊重排列的方法,該方法被用于存儲系統(tǒng)內,所述存儲系統(tǒng)包括磁盤陣列裝置和文件系統(tǒng)控制設備所述磁盤陣列裝置具有磁盤陣列控制設備,磁盤陣列控制設備控制包括多個磁盤設備的磁盤陣列,并且分析來自主計算機的文件級訪問請求,以便將文件級訪問請求轉換為對相應于該文件級訪問請求的多個磁盤設備中的一個設備的訪問請求,所述文件系統(tǒng)控制設備包括文件系統(tǒng),所述文件系統(tǒng)管理著來自主計算機的訪問請求中指定的文件,所述文件系統(tǒng)控制設備接收來自主計算機的訪問請求,以便將該請求輸出到磁盤陣列裝置,磁盤陣列控制設備被用于執(zhí)行所需的塊重排列,以便消除碎片狀態(tài),該方法包括從文件系統(tǒng)收集指出將被消除碎片狀態(tài)的目標卷內的塊的使用的碎片信息,所述目標卷被包括在這樣的卷內,由所述文件系統(tǒng)管理的文件被存儲在這些卷內;根據收集的碎片狀態(tài)分析目標卷的碎片狀態(tài);產生所需的塊重排列信息,以便在目標卷內的連續(xù)區(qū)域內重排列目標卷內使用中的塊;產生所需的塊重排列命令列,以便使得磁盤陣列控制設備執(zhí)行由產生的塊重排列信息指示的塊重排列;并且將所產生的命令列發(fā)送到磁盤陣列控制設備,以便使得磁盤陣列控制設備執(zhí)行將目標卷內使用中的塊內的數據移動到連續(xù)區(qū)域的塊重排列處理。
與本說明書結合在一起并構成本說明書的一部分的附圖給出了本發(fā)明的實施例,并且和上面給出的總體說明以及下面給出的對實施例的詳細說明一起用于解釋本發(fā)明的原理。
圖1是給出了根據本發(fā)明的實施例的計算機系統(tǒng)的配置的方塊圖;圖2是給出了根據該實施例所使用的位圖122a的例子的示意圖;圖3是給出了圖1中的文件系統(tǒng)控制部分124的配置的方塊圖;圖4是給出了根據該實施例的操作程序的流程圖;圖5A和5B是給出了邏輯單元LU-n內的碎片狀態(tài)和消除了碎片狀態(tài)后的比較的示意圖;圖6是給出了塊重排列信息的格式的例子的示意圖;圖7A和7B是給出了邏輯單元LU-n內的塊重排列的例子的示意圖;圖8是給出了根據本發(fā)明的第一個變體的操作程序的流程圖;圖9A到圖9C是給出了一個邏輯單元的狀態(tài)的變化,并且其中通過在邏輯單元間重排列數據,整個邏輯單元被從相應卷的其它組成成員中斷開,以便獲得空閑的邏輯單元;圖10是一個示意圖,給出了根據該實施例的第二個變體所采用的LU配置信息表112a和HDD信息表112b中的數據結構的例子;圖11是給出了根據第二實施例的操作程序的流程圖;圖12是一個示意圖,給出了根據該實施例的第三個變體所采用的訪問統(tǒng)計信息表112c中的數據結構的例子;圖13是一個示意圖,給出了根據該實施例的第三個變體所采用的塊重排列信息的格式;圖14是給出了根據第三個變體的操作程序的流程圖;圖15是給出了根據該實施例的第四個變體的操作程序的流程圖;圖16是給出了根據第四個變體的卷復制的示意圖;圖17是給出了根據該實施例的第五個變體的操作程序的流程圖;具體實施方式
下面將參考
本發(fā)明的實施例。
圖1是一個方塊圖,給出了根據本發(fā)明的實施例的計算機系統(tǒng)的配置。圖1中的系統(tǒng)包括存儲系統(tǒng)10和共享該存儲系統(tǒng)的X個主機(主計算機)20-1到20-X。存儲系統(tǒng)10和主機20-1到20-X通過,例如,網絡30互連。網絡30是,例如,存儲區(qū)域網絡(SAN)或Ethernet(注冊商標)。通道網絡諸如SCSI(小型計算機系統(tǒng)接口)總線或光纖通道(FC)可以被用于替代網絡30。
存儲系統(tǒng)10包括至少一個磁盤陣列裝置,例如,N個磁盤陣列裝置11-1(#1)到11-N(#N),以及至少一個文件系統(tǒng)控制設備,例如,M路文件系統(tǒng)控制設備12-1(#1)到12-M(#M)。磁盤陣列裝置11-1到11-N和文件系統(tǒng)控制設備12-1到12-M通過網絡13互連。網絡13是,例如,存儲區(qū)域網絡(SAN)和Ethernet(注冊的商標)。通道網絡諸如SCSI總線或FC可以被用于替代網絡13。
應用(應用軟件)21運行于主機20-1上。應用還運行在其它的主機20-1到20-X上。根據該應用,主機20-1到20-X中的每一個向任意的文件系統(tǒng)控制設備12-1到12-M發(fā)出文件級訪問請求(讀/寫請求)。
磁盤陣列裝置11-1包括磁盤陣列111和磁盤陣列控制設備112。雖然圖中未示出,磁盤陣列裝置11-1到11-N中的其它的磁盤陣列裝置具有和磁盤陣列裝置11-1類似的配置。磁盤陣列111包括多個磁盤設備,例如,RAID(獨立磁盤冗余陣列或經濟磁盤冗余陣列)配置的x個HDD111-1到111-x。組成磁盤陣列111的HDD111-1到111-x被稱為磁盤陣列111的HDD。由成員HDD111-1到111-x實現(xiàn)的磁盤陣列111的磁盤區(qū)域被在管理上劃分為被稱為條塊組的預先指定大小的區(qū)域。一個條塊組的區(qū)域包括固定大小的具有相同物理地址的區(qū)域(條塊),這些區(qū)域出現(xiàn)在成員HDD111-1到111-x中。圖中給出了磁盤陣列111的磁盤區(qū)域是如何被分配到n個邏輯單元LU-1到LU-n的。每個邏輯單元LU-1到LU-n是一個條塊組的集合。LU-1到LU-n的使用被以稱為塊的固定大小的區(qū)域來管理。并不是總必須由同樣的HDD組提供被分配到邏輯單元LU-1到LU-n的磁盤區(qū)域。換言之,HDD組(HDD組的磁盤區(qū)域)的組合可以被分配到邏輯單元LU-1到LU-n。
磁盤陣列控制設備112根據由主機20-1到20-X通過文件系統(tǒng)控制設備12-1到12-M提供的訪問請求控制磁盤陣列111。磁盤陣列控制設備112包括主機接口114、HDD(磁盤)接口(未示出)、微處理器115和內部總線116。主機接口114與主機20-1到20-X連接。HDD接口與磁盤陣列111中的每個HDD111-1到111-x連接。微處理器115是磁盤陣列控制設備112的主控制器。磁盤陣列控制軟件117在微處理器115上運行。在圖1中,其中存儲(安裝)著磁盤陣列控制軟件117的存儲設備被略去了。當接收到來自任意主機20-1到20-X(運行在其上的應用)的文件級讀/寫請求之后,微處理器115分析該請求。然后微處理器115將該請求轉換為對相應于該請求的磁盤陣列中的HDD的讀/寫請求。然后微處理器115向該HDD輸出得到的請求。
文件系統(tǒng)控制設備12-1具有主機訪問處理部分121、文件系統(tǒng)122、驅動器123和文件系統(tǒng)控制部分124。雖然圖中未示出,文件系統(tǒng)控制設備12-1到12-N中其它的文件系統(tǒng)控制設備具有與文件系統(tǒng)控制設備12-1相類似的配置。
主機訪問處理部分121接收來自任意主機20-1到20-X的文件級讀/寫請求。
文件系統(tǒng)122具有用于管理由主機訪問處理部分121接收到的讀/寫請求所指定的文件的公知的功能。文件系統(tǒng)122使用存儲在,例如,存儲設備(未示出)中的位圖(BM)122a管理卷,所述文件被存儲在所述卷的塊單元中。在圖2的例子中,類似格子地示出了位圖122a。格子的每個部分示出了一個塊。陰影部分指示被使用的塊(下面被稱為使用中的塊)。不帶陰影的部分指示沒有使用的部分(下面被稱為未使用的塊)。即,位圖122a是使用中的塊(block-in-use)的信息(下面被稱為碎片信息),它指出每個塊是否正被使用。除了12-1之外,與122a相類似的位圖被保存在所有的文件系統(tǒng)控制設備的文件系統(tǒng)內。文件系統(tǒng)控制設備12-1到12-N之間的通信允許被保存在文件系統(tǒng)控制設備12-1到12-N的文件系統(tǒng)內的位圖保持同樣的內容。
驅動器123通過網絡或通道(在這個例子中,網絡13)根據來自文件系統(tǒng)122或文件系統(tǒng)控制部分124的請求訪問任意的磁盤陣列裝置11-1到11-N。
當文件系統(tǒng)控制設備讀并執(zhí)行安裝在文件系統(tǒng)控制設備12-1內的文件系統(tǒng)控制軟件(文件系統(tǒng)控制程序)時,文件系統(tǒng)控制部分124被實現(xiàn)。這個軟件可以通過將其存儲在計算機可讀存儲介質(以軟盤(注冊的商標)為代表的磁盤、以CD-ROM或DVD為代表的光盤、以快閃存儲器為代表的半導體存儲器等)被發(fā)布??商鎿Q地,可以通過網絡下載(發(fā)布)這個程序。
圖3是一個給出了文件系統(tǒng)控制部分124的配置的示意圖。文件系統(tǒng)控制部分124包括碎片信息收集部分124a、分析部分124b和塊重排列命令產生部分124c。碎片信息收集部分124a收集關于由文件系統(tǒng)122管理的每個卷的碎片信息。分析部分124b分析由碎片信息收集部分124a收集的碎片信息,以便確定所需的塊重排列狀態(tài),以便在相應的卷內消除碎片狀態(tài)。塊重排列命令產生部分124c產生塊重排列命令,塊重排列命令相應于用于實現(xiàn)由分析部分124b確定的塊重排列狀態(tài)所需的塊移動的指令。這個命令被通過驅動器123發(fā)送到具有相應卷的磁盤陣列裝置11-i(i是1到N中的一個)。
現(xiàn)在,將參考圖4中的流程圖說明圖1中的系統(tǒng)中的操作。
假設主機20-1到20-X中的一個,例如,主機20-1,請求文件系統(tǒng)控制設備12-1到12-M中的一個,例如,文件系統(tǒng)控制設備12-1,消除一個卷(下面被稱為目標卷)中的碎片狀態(tài),該卷(例如)僅在磁盤陣列裝置11-1中具有邏輯單元LU-n作為組成成員。然后,被提供在文件系統(tǒng)控制設備12-1內的文件系統(tǒng)控制部分124內的碎片信息收集部分124a從由文件系統(tǒng)122管理的位圖122a收集指出目標卷(即,邏輯單元LU-n)內的碎片狀態(tài)的碎片信息(步驟S1)。圖5A示出了由碎片信息指出的邏輯單元LU-n中的碎片狀態(tài)。
文件系統(tǒng)控制部分124內的分析部分124b根據由碎片信息收集部分124a收集的碎片信息分析邏輯單元LU-n內的碎片狀態(tài)(步驟S2)?;趫D5A中示出的碎片狀態(tài)的分析結果,分析部分124b產生消除碎片狀態(tài)所需的塊重排列(移動)信息,即,對排列在邏輯單元LU-n內的不連續(xù)的區(qū)域內的使用中的塊進行重排列,以便獲得,例如,如圖5B中所示,邏輯單元LU-n內的連續(xù)的區(qū)域(步驟S3)。
圖6示出了塊重排列(移動)信息的格式的例子。圖6中的塊重排列信息包括,對于邏輯單元LU-n內使用中的每一行塊(對于使用中的不連續(xù)的塊,針對每個塊),指出使用中的塊的行所需的一組源信息SRC,即,重排列(移動)的目標,指出使用中的塊的行的重排列(移動)的目的地所需的目的地信息DTS,和指出使用中的塊的行的大小(塊數)的大小信息SIZE。換言之,塊重排列信息是源信息SRC、目的地信息DTS和大小信息SIZE的一個列表。每個源信息SRC和目的地信息DTS包括標識目標卷所需的卷ID(標識信息)和該卷內的要被重排列的使用中的塊的行的起始塊的相對塊地址。如果如本實施例中所示,磁盤陣列裝置11-1被通過網絡13連接到文件系統(tǒng)控制設備12-1,卷ID包括IP(網際協(xié)議)地址和相應于目標卷的組成成員(邏輯單元)的號(LU號)的ID。與本實施例相反,如果磁盤陣列裝置11-1被通過通道網絡諸如SCSI連接到文件系統(tǒng)控制設備12-1,卷ID包括相應于SCSI-ID的ID和相應于LU號的ID??梢栽黾哟疟P附加信息,例如,給SRC、DTS和SIZE組指出相應HDD內的磁盤的速度的信息。
由分析部分124b產生的塊重排列信息被傳遞到文件系統(tǒng)控制部分124內的塊重排列命令產生部分124c。塊重排列命令產生部分124c從塊重排列信息中產生塊重排列所需的命令列(步驟S4)。由塊重排列命令產生部分124c產生的命令列(塊重排列命令列)被傳遞到文件系統(tǒng)控制部分124內的驅動器123。驅動器123通過網絡13向磁盤陣列裝置11-1發(fā)出該塊重排列命令列(步驟S5)。
當收到由驅動器123發(fā)出的塊重排列命令列之后,磁盤陣列裝置11-1中的磁盤陣列控制設備112起塊重排列裝置的作用,以便根據磁盤陣列控制軟件117執(zhí)行所述命令列。因此,磁盤陣列控制設備112執(zhí)行將邏輯單元LU-n中每個使用中的塊行(或使用中的塊)內的數據放置(移動)到邏輯單元LU-n中指定的重排列目的地的塊重排列處理(步驟S6)。圖7A給出了邏輯單元LU-n內使用中的塊內的數據是如何被移動的,即,塊重排列是如何執(zhí)行的。通過讀要進行塊重排列的使用中的行(或使用中的塊)內的數據,并且將讀出的數據寫到塊重排列目的地來實現(xiàn)圖7A中示出的塊重排列。因此,在本發(fā)明中,通過使用磁盤陣列控制設備112的磁盤訪問控制功能移動數據,與主機20-1通過讀并寫塊單元內的數據移動數據的情況相比,可以快速地消除碎片狀態(tài)。
圖7B示出作為執(zhí)行完所有所述的塊重排列命令列之后的結果,邏輯單元LU-n內的碎片狀態(tài)已被消除。在這種狀態(tài)下,在邏輯單元LU-n內使用中的塊被排列在一個連續(xù)的區(qū)域內。因此,邏輯單元LU-n被提供有一個空閑區(qū)域(未使用的塊的連續(xù)的區(qū)域)70,其中只有未使用的塊被連續(xù)地排列。此處,假設邏輯單元LU-n具有1GB的大小,使用中的塊所占據的邏輯單元部分的大小為100MB。則提供了多達900MB的未使用的塊的連續(xù)區(qū)域70。
此外,在本發(fā)明中,根據塊重排列命令讀出的數據不總是被立刻寫入塊重排列目的地。通常,磁盤陣列控制設備112具有寫緩沖區(qū)(未示出),該緩沖區(qū)保存要被寫到磁盤陣列111的一個條塊組的數據量。響應塊重排列命令從磁盤陣列111讀出的數據被保存在該寫緩沖區(qū)內。一旦存儲在該寫緩沖區(qū)內的重排列目標塊內的數據達到相應于一個條塊組的數量,一個條塊組的數據就被一起寫到磁盤陣列111。這使得可以進一步快速地消除碎片狀態(tài)。
一旦磁盤陣列控制設備112已經執(zhí)行了全部的塊重排列命令列,它就通知主機20-1完成了塊重排列(步驟S7)。響應由磁盤陣列控制設備112傳遞給主機20-1的塊重排列完成通知,文件系統(tǒng)控制部分12-1內的文件系統(tǒng)控制部分124為文件系統(tǒng)122提供指出塊重排列之后每個塊的使用的碎片信息(步驟S8)。
文件系統(tǒng)122根據來自文件系統(tǒng)控制部分124的通知更新由它自己管理的位圖122a(步驟S9)。這個更新也被反應在除了12-1之外的所有文件控制設備的文件系統(tǒng)內所保存的位圖中。另外,基于由文件系統(tǒng)控制部分124提供的碎片信息,文件系統(tǒng)122檢測未使用的塊的連續(xù)的區(qū)域70。然后,文件系統(tǒng)122將整個區(qū)域70或區(qū)域70內的某些連續(xù)的區(qū)域從目標卷(邏輯單元LU-n)斷開。然后,文件系統(tǒng)122減少該卷的容量(大小)(步驟S10)。因此,文件系統(tǒng)122可以將從目標卷斷開的未使用的塊的連續(xù)的區(qū)域分配給其它的卷,以便增加后者的容量。
現(xiàn)在,將參考圖8中的流程圖說明上面的實施例的第一個變體。第一個變體的特征在于通過在邏輯單元之間重排列數據,消除具有多個邏輯單元作為組成成員的卷的碎片狀態(tài),以便從相應卷的其它組成成員斷開至少一個整個的邏輯單元,從而獲得一個空閑的邏輯單元。
假設主機20-1請求文件系統(tǒng)控制設備12-1消除這樣的卷(下面被稱為目標卷V)的碎片狀態(tài),該卷具有磁盤陣列111(磁盤陣列裝置11-1)中的邏輯單元LU-1到LU-n中的特定一些邏輯單元LU-m到LU-n作為組成成員。
文件系統(tǒng)控制部分124中的碎片信息收集部分124a從文件系統(tǒng)122管理的位圖122a收集指出該目標卷(即,邏輯單元LU-m到LU-n)的碎片狀態(tài)的碎片信息(步驟S10)。
文件系統(tǒng)控制部分124中的分析部分124b基于由碎片信息收集部分124a收集的碎片信息分析目標卷V(邏輯單元LU-m到LU-n)內的碎片狀態(tài)(步驟S11)?;诓襟ES11中的碎片狀態(tài)分析結果,分析部分124b從作為目標卷V的組成成員的邏輯單元LU-m到LU-n中選擇具有最少的使用中的塊的邏輯單元LU-i(步驟S12)。分析部分124b產生所需的塊重排列(移動)信息,以便在目標卷V的其它邏輯單元LU-j,包括邏輯單元LU-m在內,(邏輯單元LU-j是除了LU-i(LU-n)之外的LU-m到LU-n)重排列(移動)選定的LU-i(LU-n)內的使用中的塊內的數據,以便消除其它邏輯單元LU-j的碎片狀態(tài)(步驟S13)。塊重排列信息還規(guī)定了用于在除了LU-i(LU-n)之外的LU-m到LU-n內的連續(xù)區(qū)域內重排列使用中的塊的塊重排列。
文件系統(tǒng)控制部分124中的塊重排列命令產生部分124c從由分析部分124b產生的塊重排列信息產生塊重排列所需的塊重排列命令列(步驟S14)。文件系統(tǒng)控制部分124中的驅動器123向磁盤陣列裝置11-1發(fā)出由塊重排列命令產生部分124c產生的塊重排列命令列(步驟S15)。
磁盤陣列裝置11-1中的磁盤陣列控制設備112執(zhí)行塊重排列(移動),涉及從目標卷V內的邏輯單元LU-n將使用中的塊移動到其它的邏輯單元LU(此處為除了LU-n之外的LU-m到LU-n)(步驟S16)。圖9A示出了如何在邏輯單元之間移動使用的塊。在步驟S16,與上面的實施例類似的塊重排列(移動)也被在除了LU-n之外的邏輯單元LU-m到LU-n上執(zhí)行。
一旦磁盤陣列控制設備112已經執(zhí)行了全部的塊重排列命令列,它就將塊重排列的完成通知給主機20-1(步驟S17)。圖9B示出目標卷V的組成成員的邏輯單元LU-m到LU-n的狀態(tài),所述狀態(tài)是在塊重排列完成時觀察到的。從圖9B可以明顯看到,在除了LU-n之外的邏輯單元LU-m到LU-n內,使用中的塊被排列在連續(xù)的區(qū)域內。相反,在邏輯單元LU-n內沒有出現(xiàn)使用中的塊。因此LU-n是空的。
響應由磁盤陣列控制設備112向文件系統(tǒng)控制設備12-1發(fā)出的塊重排列完成的通知,文件系統(tǒng)控制部分12-1中的文件系統(tǒng)控制部分124為文件系統(tǒng)122提供指出塊重排列之后卷V(邏輯單元LU-m到LU-n)中的每個塊的使用狀態(tài)的碎片信息。文件系統(tǒng)控制部分124還通知文件系統(tǒng)122邏輯單元LU-i(=LU-n)已經成為未使用的(步驟S18)。根據這個通知,文件系統(tǒng)122更新由它自己管理的位圖122a(步驟S19)。
此外,文件系統(tǒng)122起斷開裝置的作用(邏輯單元斷開裝置),以便從卷V的其它組成成員中刪除已經成為未被使用的邏輯單元LU-i(步驟S20)。換言之,文件系統(tǒng)122從卷V斷開邏輯單元LU-i(=LU-n)。圖9c示出了這個狀態(tài)。通過從卷V斷開沒有使用中的塊的邏輯單元LU-i,文件系統(tǒng)122可以減小該卷的容量(大小)。文件系統(tǒng)122還可以將邏輯單元LU-i(=LU-n)分配給其它的卷,以便增加這個卷的容量。
在第一個變體中,在同一個卷內執(zhí)行塊重排列。然而,卷V中使用中的塊可以被移動到另一個卷V’中的連續(xù)區(qū)域。在這種情況下,卷V’可以被在不同于11-1的磁盤陣列裝置中提供。以這種配置,磁盤陣列裝置11-1到11-N的存儲資源可以被有效地使用。
現(xiàn)在,將說明上面的實施例的第二個變體。
在第二個變體中,磁盤陣列裝置11-1中的磁盤陣列控制設備112具有LU配置信息表112a和HDD信息表112b。存儲系統(tǒng)10中的其它磁盤陣列裝置11-1中的磁盤陣列控制設備(未示出)具有和LU配置信息表112a和HDD信息表112b類似的表。
LU配置信息表112a被用于保存這樣的信息,這些信息為磁盤陣列裝置11-1中的每個邏輯單元LU-1到LU-n指出提供被分配給LU-1到LU-n的條塊組的HDD,即,構成LU-1到LU-n的HDD組。在圖1的例子中,每個邏輯單元LU-1到LU-n包括HDD111-1到111-x(由HDD111-1到111-x提供的條塊組)。因此,邏輯單元LU-1到LU-n具有同樣的磁盤配置信息。在另一方面,HDD信息表112b被用于保存關于磁盤陣列裝置中的每個HDD的物理信息。這個物理信息包括HDD的每個柱面的扇區(qū)數,HDD的每個頭(磁盤表面)的柱面數,和HDD的全部磁道數。
現(xiàn)在,將參考圖11中的流程圖說明上面的實施例的第二個變體。在這種情況下,如在上面的實施例中的情況,主機20-1請求文件系統(tǒng)控制設備12-1消除目標卷的碎片狀態(tài),所述目標卷僅具有磁盤陣列裝置11-1中的邏輯單元LU-n作為組成成員。
首先,被提供在文件系統(tǒng)控制設備12-1中的文件系統(tǒng)控制部分124中的碎片信息收集部分124a從由文件系統(tǒng)122管理的位圖122a中收集指出目標卷內的碎片狀態(tài)的碎片信息(步驟S21)。碎片信息收集部分124a還從由該目標卷所在的磁盤陣列裝置11-1中的磁盤陣列控制設備112擁有的LU配置信息表112a和HDD信息表112b中收集關于組成該邏輯單元(邏輯單元LU-n)(它是目標卷的組成成員)的HDD的信息,以及關于這些HDD的物理信息(步驟S22)。在這種情況下,因為邏輯單元LU-n是目標卷僅有的組成成員,碎片信息收集部分124a收集關于組成邏輯單元LU-n的HDD111-1到111-x的信息,以及關于HDD111-1到111-x的物理信息。
文件系統(tǒng)控制部分124中的分析部分124b基于由碎片信息收集部分124a收集的碎片信息分析目標卷(即,邏輯單元LU-n)中的碎片狀態(tài)(步驟S23)。基于步驟S23中的碎片狀態(tài)分析結果,分析部分124b產生消除目標卷(邏輯單元LU-n)中的碎片狀態(tài)所需的塊重排列信息(步驟S24)。
在步驟S24中的塊重排列信息的產生中,不僅考慮對碎片狀態(tài)的消除,而且還考慮在同一HDD上移動塊的速度的增加(塊重排列)(順序地排列,防止頻繁的尋道操作)。特別地,采取措施,從而在同一HDD上移動塊,HDD的頭(讀/寫頭)在磁盤的一個方向上移動,例如,從它的內圓周到外圓周。更具體地,采取措施,從而重排列要被在該HDD內、在該磁盤上進行塊重排列的使用中的塊的行,HDD的頭在磁盤的一個方向上移動,從而執(zhí)行順序訪問,這需要最短的時間用于HDD內的尋道操作。使用關于組成邏輯單元LU-n的HDD111-1到111-x的信息,以及關于HDD111-1到111-x的物理信息,增加了塊重排列的速度,這兩種信息都是由碎片信息收集部分124a收集的。在這個例子中,考慮到這樣的情況,其中容量被以HDD計值,關于HDD111-1到111-x的物理信息(扇區(qū)數/柱面數/磁道數)被用于計算在塊移動(重排列)過程中頭在HDD(磁盤)上的物理位置。
步驟S24中的塊重排列信息的產生之后的操作與圖4的流程圖的步驟S3中的操作類似。因此,忽略了對步驟S24以下的操作的說明。
現(xiàn)在,將說明上述實施例的第三個變體。
在第三個變體中,磁盤陣列裝置11-1中的磁盤陣列控制設備112具有如圖12中示出的訪問統(tǒng)計信息表112c。存儲系統(tǒng)10中的其它磁盤陣列裝置內的磁盤陣列控制設備(未示出)具有和訪問統(tǒng)計表112c類似的表。
訪問統(tǒng)計信息表112c保存有關于磁盤陣列裝置11-1內的每個邏輯單元LU-1到LU-n的訪問統(tǒng)計信息。關于邏輯單元LU-i(i=1到n)的訪問統(tǒng)計信息指出響應來自主機20-1到20-x(其上的應用)的訪問請求所做的對LU-i的訪問趨勢,即,訪問模式。在這種情況下,訪問統(tǒng)計信息包含地址(邏輯地址)和大小,以及單位時間對從所述地址開始的所述大小的區(qū)域(邏輯區(qū)域)的訪問數目(地址/大小/訪問數目)。
現(xiàn)在,將參考圖13和圖14說明上述實施例的第三個變體。如上述實施例的情況下,主機20-1請求文件系統(tǒng)控制設備12-1消除目標卷的碎片狀態(tài),該目標卷僅具有磁盤陣列裝置11-1中的邏輯單元LU-n作為組成成員。圖13是一個示意圖,示出了在第三個變體中使用的塊重排列信息的格式。圖14是一個流程圖,示出了根據第三個變體的操作程序。
首先,被提供在文件系統(tǒng)控制設備12-1中的文件系統(tǒng)控制部分124中的碎片信息收集部分124a從由文件系統(tǒng)122管理的位圖122a收集指出目標卷內的碎片狀態(tài)的碎片信息(步驟S31)。碎片信息收集部分124a還從目標卷所在的磁盤陣列裝置11-1內的磁盤陣列控制設備112中的訪問統(tǒng)計信息表112c收集關于邏輯單元(邏輯單元LU-n)(它是目標卷的組成成員)的訪問統(tǒng)計信息(步驟S32)。
文件系統(tǒng)控制部分124中的分析部分124b基于由碎片信息收集部分124a收集的碎片信息分析目標卷V(即,邏輯單元LU-n)內的碎片狀態(tài)(步驟S33)?;诓襟ES33中對碎片狀態(tài)的分析結果和由碎片信息收集部分124a收集的訪問統(tǒng)計信息,分析部分124b產生消除目標卷(邏輯單元LU-n)內的碎片狀態(tài)所需的塊重排列信息(步驟S34)。
在步驟S34的塊重排列信息產生中,為要被進行塊重排列的各個區(qū)域如下所述那樣確定用于塊重排列的優(yōu)先權,從而不僅消除碎片狀態(tài),而且還防止塊移動操作影響應用對該卷的訪問(下面稱為正常訪問)。
首先,基于訪問統(tǒng)計信息“地址/大小/訪問數目”和“碎片信息”,分析部分124b依下列所述計算如果對某個區(qū)域進行正常訪問,性能是如何被碎片降低的。假設對邏輯單元LU-n上從地址C000開始的1MB的區(qū)域(邏輯區(qū)域)進行訪問,并且在該HDD內這個區(qū)域被劃分為8個物理上不連續(xù)的128KB的區(qū)域。在這種情況下,當相應的訪問統(tǒng)計信息是“地址=C000/大小=1MB/單位時間的訪問數目=N”,則由于碎片引起的卷訪問性能下降率是8(劃分的數目)×(單位時間的訪問數目)。
分析部分124b為要被進行塊重排列的每個區(qū)域計算卷訪問性能下降率。然后,分析部分124b為這些區(qū)域的卷訪問性能下降率進行彼此間的比較。從而分析部分124b找出具有相對高的下降率的區(qū)域(例如,128KB×8或64KB×100),以便隨后確定優(yōu)先權。分析部分124b為要被進行塊重排列的每個區(qū)域產生消除碎片所需的塊重排列信息。分析部分124b將按如上所述確定的優(yōu)先權加到獲得的塊重排列信息上。圖13示出了帶有優(yōu)先權的塊重排列信息的格式的例子。
塊重排列命令產生部分124c從由分析部分124b產生的具有優(yōu)先權的塊重排列信息產生塊重排列所需的具有優(yōu)先權的塊重排列命令列(步驟S35)。驅動器123通過網絡13向磁盤陣列裝置11-1發(fā)出具有優(yōu)先權的塊重排列命令列(步驟S36)。
在收到由驅動器123發(fā)出的具有優(yōu)先權的塊重排列命令列后,磁盤陣列裝置11-1中的磁盤陣列控制設備112起塊重排列裝置的作用,以便執(zhí)行所述的命令列。因此,磁盤陣列控制設備112使用優(yōu)先權控制機制(未示出)以便執(zhí)行塊重排列處理,順序地根據相應的優(yōu)先權,將目標卷(在這個例子中,組成目標卷的邏輯單元LU-n)中使用中的塊的行(或使用中的塊)內的數據放置(移動)到該卷(邏輯單元LU-n)內相應指定的重排列目的地(步驟S37)。因此,在上面的例子中,如果在8個物理上不連續(xù)的128KB的區(qū)域(前一個區(qū)域)內的性能下降率比100個物理上不連續(xù)的64KB區(qū)域(后一個區(qū)域)內的高,優(yōu)先權被給予后一個區(qū)域的塊重排列。
因此,通過根據由碎片引起的卷訪問性能下降率,改變塊重排列的優(yōu)先權,能夠盡可能地保持對于正常訪問(應用對卷的讀/寫訪問)的固定的訪問性能。
根據步驟S37的塊重排列命令列執(zhí)行塊重排列之后的操作與圖4的流程圖內的步驟S6中的操作類似。因此,忽略了對步驟S37之后的操作的說明。
現(xiàn)在,將參考圖15中流程圖說明上述實施例的第四個變體。在第四個變體中,假設圖1中的存儲系統(tǒng)10被配置為能夠復制卷(從主卷獲得復制卷)。第四個變體的特征在于,當從主卷創(chuàng)建復制卷時自動地執(zhí)行塊重排列。
如圖16中所示,假設磁盤陣列裝置11-1中的邏輯單元LU-m(被在磁盤陣列裝置11-1中提供的磁盤陣列111)被定義為卷Vm的組成成員。在這種狀態(tài)下,例如,在文件系統(tǒng)控制設備12-1的控制下,卷Vm被用作主卷,以便在磁盤陣列裝置(#1)11-1(磁盤陣列裝置(#1)11-1中的邏輯單元LU-n)和磁盤陣列裝置(#N)11-N(磁盤陣列裝置(#N)11-N中的邏輯單元LU-m)中創(chuàng)建主卷Vm的復制卷Vr。
在這種情況下,文件系統(tǒng)控制部分124內的碎片信息收集部分124a從由文件系統(tǒng)122管理的位圖122a中收集指出目標卷(即,邏輯單元LU-m)內的碎片狀態(tài)的碎片信息(步驟S41)。
文件系統(tǒng)控制部分124中的分析部分124b基于由碎片信息收集部分124a收集的碎片信息分析目標卷Vm(即,邏輯單元LU-m)內的碎片狀態(tài)(步驟S42)?;诓襟ES42中的碎片狀態(tài)分析結果,分析部分124b產生在復制卷Vr上消除目標卷(邏輯單元LU-m)內的碎片狀態(tài)所需的塊重排列信息(步驟S43)。
塊重排列命令產生部分124c為磁盤陣列裝置11-1和11-N(對于它們,復制卷需要被創(chuàng)建)從由分析部分124b產生的塊重排列信息產生塊重排列命令列(步驟S44)。在這種情況下,塊重排列命令產生部分124c從磁盤陣列裝置11-1上組成主卷Vm的邏輯單元LU-m為在磁盤陣列裝置11-1上組成復制卷Vr的邏輯單元LU-n產生塊重排列命令列。塊重排列命令產生部分124c還從磁盤陣列裝置11-1上組成主卷Vm的邏輯單元LU-m為磁盤陣列裝置11-N上組成復制卷Vr的邏輯單元LU-m產生塊重排列命令列。
驅動器123通過網絡13向源和目的地磁盤陣列裝置,即磁盤陣列裝置11-1和11-N,發(fā)出由塊重排列命令產生部分124c產生的塊重排列命令列(步驟S45)。
因此,在第四個變體中,在為磁盤陣列裝置11-1和11-N從磁盤陣列裝置11-1上的卷Vm創(chuàng)建復制卷Vr而執(zhí)行的同步操作(復制操作)中,文件系統(tǒng)控制部分124產生消除復制卷Vr上的碎片狀態(tài)所需的塊重排列命令列。然后,文件系統(tǒng)控制部分124將塊重排列命令列傳輸到磁盤陣列裝置11-1和11-N。
當收到由文件系統(tǒng)控制設備12-1中的驅動器123發(fā)送的塊重排列命令列后,磁盤陣列裝置11-1中的磁盤陣列控制設備112和磁盤陣列裝置11-N中的磁盤陣列控制設備(未示出)起塊重排列裝置的作用,并且在執(zhí)行所述命令列時彼此協(xié)作(步驟S46)。這產生了如圖16中所示的磁盤陣列裝置11-1和11-N內的復制卷Vr(邏輯單元LU-n和LU-m)的創(chuàng)建復制卷Vr(邏輯單元LU-n和LU-m)相應于磁盤陣列裝置11-1中的主卷Vm(邏輯單元LU-m),并且經過了消除碎片狀態(tài)所需的塊重排列。換言之,通過將磁盤陣列裝置11-1內的LU-m內的塊移動到同一磁盤陣列裝置11-1內的LU-n創(chuàng)建復制卷Vr。復制卷Vr還被通過將磁盤陣列裝置11-1內的LU-m內的塊移動到磁盤陣列裝置11-N內的LU-m來創(chuàng)建。
步驟S46中根據塊重排列命令列執(zhí)行塊重排列之后的操作與圖4的流程圖中的步驟S6中的類似。因此,忽略了對步驟S46之后的操作的說明被。
現(xiàn)在將參考圖17中的流程圖說明上面的實施例的第五個變體。第五個變體的特征在于塊重排列被用于分布負載,并且訪問統(tǒng)計信息表112c被用于分布所述的負載。
文件系統(tǒng)控制設備12-1內的文件系統(tǒng)控制部分124從由文件系統(tǒng)122管理的位圖122a收集指出每個磁盤陣列裝置11-1到11-N上的卷內的碎片狀態(tài)的碎片信息(步驟S51)。另外,碎片信息收集部分124a從訪問統(tǒng)計信息表112c收集關于每個邏輯單元(它們是磁盤陣列裝置11-1上的卷的組成成員)的訪問統(tǒng)計信息(S52)。在步驟S52,碎片信息收集部分124a還收集關于這樣的每個邏輯單元的訪問統(tǒng)計信息,所述的邏輯單元是除了11-1之外的所有磁盤陣列裝置上的每個卷的組成成員。
文件系統(tǒng)控制部分124中的分析部分124b基于由碎片信息收集部分124a收集的碎片信息分析所述的碎片狀態(tài)和每個卷(組成每個卷的邏輯單元)的訪問模式(步驟S53)。基于對碎片狀態(tài)和訪問模式的分析結果,分析部分124b在每個卷內尋找具有超過一個規(guī)定值的訪問頻率的區(qū)域(邏輯區(qū)域)。然后分析部分124b產生所需的塊重排列信息,以便在組成相應的卷的多個HDD之間、在每個區(qū)域內分布(重排列)塊的組,從而為所述HDD以及為所述卷平均對所述塊組的訪問。
隨后的操作基本與上面的實施例中的那些步驟類似。即,文件系統(tǒng)控制部分124中的塊重排列命令產生部分124c基于由分析部分124b產生的塊重排列信息為每個磁盤陣列裝置11-1和11-N產生進行塊重排列所需的塊重排列命令列。然后,文件系統(tǒng)控制設備12-1內的驅動器123通過網絡13向磁盤陣列裝置11-1和11-N發(fā)出由塊重排列命令產生部分124c產生的用于磁盤陣列裝置11-1到11-N的塊重排列命令列。磁盤陣列裝置11-1到11-N內的磁盤陣列控制設備基于由文件系統(tǒng)控制設備12-1內的驅動器123發(fā)出的塊重排列命令在這些塊之間重排列數據(移動數據塊)。因此,如果訪問集中在特定的塊組上,對這個塊組的訪問可以被分布在多個HDD之間,即,負載可以被分布。即使卷是針對多個磁盤陣列被定義的,負載也可以被類似地分布。
因此,在第五個變體中,可以通過基于由被保存在磁盤陣列裝置11-1到11-N中的訪問統(tǒng)計信息表所指出的訪問(磁盤使用)趨勢進行塊重排列來分布負載。因此,磁盤陣列裝置11-1到11-N的存儲資源可以被有效地利用。
如上面詳細的說明,根據本發(fā)明,通過使用磁盤陣列控制設備的高速訪問功能物理地移動數據,從而消除卷內的碎片狀態(tài),可以快速地消除卷中的碎片而不增加主機或文件系統(tǒng)的負載。
本領域的技術人員可以構想出其它的優(yōu)點和修改。因此,本發(fā)明在其較寬的方面不限于此處說明的特定的細節(jié)和典型的實施例。因此,可以做出各種修改而不脫離由所附權利要求和它們的等同物所定義的總的發(fā)明概念的精神和范圍。
權利要求
1.一種存儲系統(tǒng)(10),其特征在于包括磁盤陣列裝置(11),具有磁盤陣列控制設備(112),所述磁盤陣列控制設備(112)控制著包括多個磁盤設備的磁盤陣列(111),還分析來自主計算機的文件級訪問請求,以便將文件級訪問請求轉換為對相應于該文件級訪問請求的多個磁盤設備中的一個設備的訪問請求;和文件系統(tǒng)控制設備(12),包括文件系統(tǒng)(122),該文件系統(tǒng)(122)管理著來自所述主計算機的訪問請求中指定的文件,所述文件系統(tǒng)控制設備接收來自所述主計算機的訪問請求,以便將該請求輸出到所述磁盤陣列裝置(11),所述文件系統(tǒng)控制設備(12)包括碎片信息收集部分(124a),它從所述文件系統(tǒng)(122)收集指出要被消除碎片狀態(tài)的目標卷內的塊的使用的碎片信息,目標卷被包括在這樣的卷中,由所述文件系統(tǒng)(122)管理的文件被存儲在這些卷上;分析部分(124b),它基于由所述碎片信息收集部分(124a)收集的碎片信息分析目標卷的碎片狀態(tài),以便產生在該卷內的連續(xù)的區(qū)域內重排列目標卷內使用中的塊所需的塊重排列信息;和塊重排列命令產生部分(124c),它產生使得所述磁盤陣列控制設備(112)執(zhí)行由所述塊重排列信息指出的塊重排列所需的塊重排列命令列,塊重排列命令產生部分向所述磁盤陣列控制設備(112)發(fā)出該命令列,所述磁盤陣列控制設備(112)包括塊重排列部分,所述塊重排列部分根據由所述塊重排列命令產生部分(124c)發(fā)出的塊重排列命令列控制所述磁盤陣列(111),以便執(zhí)行將目標卷內使用中的塊內的數據移動到所述連續(xù)區(qū)域內的塊重排列處理。
2.如權利要求1的存儲系統(tǒng),其特征在于所述文件系統(tǒng)(122)包括斷開部分,如果作為由所述磁盤陣列控制設備(112)執(zhí)行的塊重排列處理的結果,目標卷被提供有未使用的塊的連續(xù)的區(qū)域,其中未使用的塊被連續(xù)地排列,則斷開部分運行,以便將整個未使用的塊的連續(xù)的區(qū)域或未使用的塊的連續(xù)的區(qū)域內的某個連續(xù)的區(qū)域從目標卷斷開。
3.如權利要求1的存儲系統(tǒng),其特征在于所述文件系統(tǒng)(122)包括斷開部分,如果所述卷具有多個邏輯單元作為該卷的組成成員,并且如果作為由所述磁盤陣列控制設備(112)執(zhí)行的塊重排列處理的結果,任意邏輯單元變?yōu)槭俏词褂玫?,則所述斷開部分運行,以便將變?yōu)槲词褂玫倪壿媶卧獜哪繕司頂嚅_。
4.如權利要求1的存儲系統(tǒng),其特征在于所述文件系統(tǒng)控制設備(12)還包括選擇部分,如果所述卷具有多個邏輯單元作為組成成員,則所述選擇部分運行,以便從所述多個邏輯單元中選擇一個邏輯單元,和所述分析部分(124b)產生所需的塊重排列信息,使得由選擇部分選出的邏輯單元的所有使用中的塊內的數據能夠被移動到所述目標卷內的其它邏輯單元。
5.如權利要求1的存儲系統(tǒng),其特征在于所述磁盤陣列控制設備(112)為組成所述卷的每個邏輯單元包括邏輯單元配置信息表(112a),該邏輯單元配置信息表(112a)保存有這樣的信息,以作為指出組成該邏輯單元的磁盤設備的邏輯單元配置信息,該信息指出為所述邏輯單元提供被分配給所述邏輯單元的磁盤區(qū)域的磁盤設備,所述碎片信息收集部分(124a)在收集關于所述卷的碎片信息時,從所述磁盤陣列控制設備(112)的邏輯單元配置信息表(112a)收集關于組成該卷的邏輯單元的邏輯單元配置信息,和當基于所述碎片信息產生塊重排列信息時,所述分析部分(124b)產生所需的塊重排列信息,以便執(zhí)行,作為順序地訪問,與由所述碎片信息收集部分(124a)收集的邏輯單元配置信息所指出的磁盤設備上的塊的移動相關的使用中的塊的移動。
6.如權利要求1的存儲系統(tǒng),其特征在于所述磁盤陣列控制設備(112)為組成所述卷的每個邏輯單元包括訪問統(tǒng)計信息表(112c),該表保存有指出發(fā)生在所述邏輯單元上的訪問的趨勢的訪問統(tǒng)計信息,當收集關于所述卷的碎片信息時,所述碎片信息收集部分(124a)從所述磁盤陣列控制設備(112)的訪問統(tǒng)計信息表(112c)收集關于組成所述卷的邏輯單元的訪問統(tǒng)計信息,所述分析部分(124b)基于由所述碎片信息收集部分(124a)收集的訪問統(tǒng)計信息分析目標卷的訪問模式,并且根據由碎片引起的訪問性能下降率,為每個相應的區(qū)域確定該區(qū)域內的使用中的塊組的塊重排列優(yōu)先權,所述下降率被從所述的分析結果中計算出來,然后,當基于所述碎片信息產生塊重排列信息時,分析部分產生具有優(yōu)先權的塊重排列信息,所述塊重排列命令產生部分(124c)從具有優(yōu)先權的塊重排列信息產生具有被增加到每個命令上的優(yōu)先權的塊重排列命令列,并且所述塊重排列部分根據相應的優(yōu)先權,基于所述的塊重排列命令列為每個命令執(zhí)行塊重排列處理。
7.如權利要求1的存儲系統(tǒng),其特征在于所述分析部分(124b)從對碎片狀態(tài)的分析結果中產生在復制卷上消除目標卷內的碎片狀態(tài)所需的塊重排列信息,所述塊重排列命令產生部分(124c)從在復制卷上消除目標卷內的碎片狀態(tài)所需的塊重排列信息產生塊重排列命令列,和當創(chuàng)建目標卷的復制卷時,所述重排列部分根據所述的塊重排列命令列在目標卷的復制卷上執(zhí)行塊重排列。
8.如權利要求1的存儲系統(tǒng),其特征在于所述磁盤陣列控制設備(112)為組成所述卷的每個邏輯單元包括訪問統(tǒng)計信息表(112c),該表保存有指出發(fā)生在所述邏輯單元上的訪問的趨勢的訪問統(tǒng)計信息,所述碎片信息收集部分(124c)從所述文件系統(tǒng)(122)為由該文件系統(tǒng)(122)管理的每個卷收集指出該卷中的塊的使用的碎片信息,并且從所述訪問統(tǒng)計信息表(112c)收集訪問統(tǒng)計信息,和所述分析部分(124b)基于由所述碎片信息收集部分(124c)收集的所述碎片信息和所述訪問統(tǒng)計信息分析碎片狀態(tài)和每個卷的訪問模式,以便產生所需的塊重排列信息,以便將對具有超過一個規(guī)定值的訪問頻率的區(qū)域內的使用中的塊組的訪問分布在組成該卷的多個磁盤設備間。
9.一種控制塊重排列的方法,該方法被用于存儲系統(tǒng)(10)中,存儲系統(tǒng)(10)包括磁盤陣列裝置(11)和文件系統(tǒng)控制設備(12),所述磁盤陣列裝置(11)具有磁盤陣列控制設備(112),該磁盤陣列控制設備(112)控制著包括多個磁盤設備的磁盤陣列(111),還分析來自主計算機的文件級訪問請求,以便將文件級訪問請求轉換為對相應于該文件級訪問請求的多個磁盤設備中的一個設備的訪問請求,所述文件系統(tǒng)控制設備(12)包括文件系統(tǒng)(122),該文件系統(tǒng)(122)管理著來自所述主計算機的訪問請求中指定的文件,所述文件系統(tǒng)控制設備(12)接收來自所述主計算機的訪問請求,以便將該請求輸出到所述磁盤陣列裝置(11),所述磁盤陣列控制設備(112)被用于執(zhí)行消除碎片狀態(tài)所需的塊重排列,該方法包括從所述文件系統(tǒng)收集指出要被消除碎片狀態(tài)的目標卷內的塊的使用的碎片信息,目標卷被包括在這樣的卷中,由所述文件系統(tǒng)管理的文件被存儲在這些卷上(S1);基于收集的碎片信息分析目標卷的碎片狀態(tài)(S2);產生在該卷內的連續(xù)的區(qū)域內重排列目標卷內使用中的塊所需的塊重排列信息(S3);產生所需的塊重排列命令列,以便使得所述磁盤陣列控制設備執(zhí)行由所產生的塊重排列信息指出的塊重排列(S4);向所述磁盤陣列控制設備發(fā)出所產生的命令列,使得所述磁盤陣列控制設備執(zhí)行將目標卷內的使用中的塊內的數據移動到所述連續(xù)區(qū)域內的塊重排列處理(S5,S6)。
10.如權利要求9的方法,其特征在于還包括如果作為由所述磁盤陣列控制設備執(zhí)行的塊重排列處理的結果,目標卷被提供有未使用的塊的連續(xù)的區(qū)域,其中未使用的塊被連續(xù)地排列,則運行以便將整個未使用的塊的連續(xù)的區(qū)域或未使用的塊的連續(xù)的區(qū)域內的某個連續(xù)的區(qū)域從目標卷斷開(S10)。
11.如權利要求9的方法,其特征在于還包括如果所述卷具有多個邏輯單元作為該卷的組成成員,并且如果作為由所述磁盤陣列控制設備執(zhí)行的塊重排列處理的結果,任意邏輯單元變?yōu)槭俏词褂玫?,則運行以便將變?yōu)槲词褂玫倪壿媶卧獜哪繕司頂嚅_(S20)。
12.如權利要求11的方法,其特征在于還包括如果所述卷具有多個邏輯單元作為組成成員,則運行,以便從所述多個邏輯單元中選擇一個邏輯單元(S12);和產生所需的塊重排列信息,以便使得被選出的邏輯單元內的所有使用中的塊內的數據能夠被移動到所述目標卷內的其它邏輯單元(S13)。
13.如權利要求9的方法,其特征在于還包括為組成所述卷的每個邏輯單元提供邏輯單元配置信息表,該表保存有這樣的信息以作為指出構成該邏輯單元的所述磁盤設備的邏輯單元配置信息,該信息指出為所述邏輯單元提供被分配給所述邏輯單元的磁盤區(qū)域的磁盤設備,當收集關于所述卷的碎片信息時,從所述磁盤陣列控制設備的邏輯單元配置信息表收集關于組成該卷的邏輯單元的邏輯單元配置信息(S21,S22),和當基于所述碎片信息產生塊重排列信息時,產生所需的塊重排列信息,以便執(zhí)行,作為順序地訪問,與由所收集的邏輯單元配置信息所指出的磁盤設備上的塊重排列相關的使用中的塊的移動(S23,S24)。
14.如權利要求9的方法,其特征在于還包括為組成所述卷的每個邏輯單元提供訪問統(tǒng)計信息表,該表保存有指示著發(fā)生在所述邏輯單元上的訪問的趨勢的訪問統(tǒng)計信息;當收集關于所述卷的碎片信息時,從所述磁盤陣列控制設備的訪問統(tǒng)計信息表收集關于組成所述卷的邏輯單元的訪問統(tǒng)計信息(S31,S32);基于收集到的訪問統(tǒng)計信息分析目標卷的訪問模式,并且根據由碎片引起的訪問性能下降率,為每個相應的區(qū)域確定該區(qū)域內的使用中的塊組的塊重排列優(yōu)先權,所述的下降率被從所述的分析結果中計算出來,然后,當基于所述碎片信息產生塊重排列信息時,產生具有優(yōu)先權的塊重排列信息(S33,S34);從具有優(yōu)先權的塊重排列信息產生具有被增加到每個命令上的優(yōu)先權的塊重排列命令列(S35),并且根據相應的優(yōu)先權,基于所述的塊重排列命令列為每個命令執(zhí)行塊重排列處理(S36,S37)。
15.如權利要求9的方法,其特征在于還包括從對碎片狀態(tài)的分析結果中產生在復制卷上消除目標卷內的碎片狀態(tài)所需的塊重排列信息(S41到S43);從在復制卷上消除目標卷內的碎片狀態(tài)所需的塊重排列信息,產生塊重排列命令列(S44);和當創(chuàng)建目標卷的復制卷時,根據所述的塊重排列命令列在目標卷的復制卷上執(zhí)行塊重排列(S45,S46)。
16.如權利要求9的方法,其特征在于還包括為組成所述卷的每個邏輯單元提供訪問統(tǒng)計信息表,該表保存有指出發(fā)生在所述邏輯單元上的訪問的趨勢的訪問統(tǒng)計信息;為由所述文件系統(tǒng)管理的每個卷從文件系統(tǒng)收集指出該卷中的塊的使用的碎片信息,并且從訪問統(tǒng)計信息表收集訪問統(tǒng)計信息(S51,S52),和基于收集到的所述碎片信息和所述訪問統(tǒng)計信息,分析碎片狀態(tài)和每個卷的訪問模式,以便產生所需的塊重排列信息,以便將對具有超過一個規(guī)定值的訪問頻率的區(qū)域中的使用中的塊組的訪問分布在組成該卷的多個磁盤設備之間(S53,S54)。
全文摘要
文件系統(tǒng)控制部分(124)中的碎片信息收集部分收集要被消除碎片狀態(tài)的目標卷上的碎片信息,所述的目標卷被文件系統(tǒng)(122)管理。文件系統(tǒng)控制部分(124)中的分析部分基于收集到的碎片信息分析目標卷的碎片狀態(tài),以便產生消除目標卷上的碎片狀態(tài)所需的塊重排列信息。文件系統(tǒng)控制部分(124)中的塊重排列命令產生部分產生相應于所述塊重排列信息的塊重排列命令列。磁盤陣列控制設備(112)執(zhí)行所述的塊重排列命令列以便消除目標卷的碎片狀態(tài)。
文檔編號G06F12/00GK1677367SQ20051005388
公開日2005年10月5日 申請日期2005年3月14日 優(yōu)先權日2004年3月29日
發(fā)明者高桑正幸 申請人:東芝解決方案株式會社