專利名稱:經(jīng)由通信網(wǎng)絡(luò)向遠(yuǎn)程文件服務(wù)器傳送文件的本地文件服務(wù)器及具有該文件服務(wù)器的存儲系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及經(jīng)由通信網(wǎng)絡(luò)傳送并存儲文件的存儲控制。
背景技術(shù):
以往,企業(yè)或個人自費購買并利用服務(wù)器或軟件的形態(tài)為主流,但由于消減TCO(Total Cost of Ownership :總體擁有成本),因此傾向推廣經(jīng)由互聯(lián)網(wǎng)而利用服務(wù)器或軟件的云計算。作為云計算的一個示例,專利文獻(xiàn)I中記載了可經(jīng)由互聯(lián)網(wǎng)來利用存儲裝置的發(fā)明(以后,稱為云存儲裝置)。進(jìn)而,專利文獻(xiàn)2中記載了關(guān)于多個存儲裝置組合而成的分層存儲系統(tǒng)的發(fā)明。專利文獻(xiàn)I :日本特開2009-110401號公報專利文獻(xiàn)2 日本特開2009-289252號公報
發(fā)明內(nèi)容
在上述現(xiàn)有技術(shù)中,為了訪問云存儲裝置內(nèi)的文件,需要經(jīng)由互聯(lián)網(wǎng)進(jìn)行訪問。因此,發(fā)生數(shù)據(jù)傳送延遲,致使訪問速度變慢。并且,將文件存儲至云存儲裝置還是存儲至本地存儲裝置的判斷任由用戶來決定。如上所述,被存儲至云存儲裝置內(nèi)的文件的訪問速度是較為緩慢的。因此,用戶傾向于通過擴充本地存儲裝置,從而在本地存儲裝置中存儲數(shù)據(jù)來代替在云存儲裝置內(nèi)存儲數(shù)據(jù)。其結(jié)果是,云存儲裝置的利用機會減少,最終結(jié)果導(dǎo)致出現(xiàn)無法消減TCO的問題。因此,最好無需委托用戶就適當(dāng)判斷將文件存儲至本地存儲裝置還是存儲至云存儲裝置。但這樣一來,根據(jù)用戶利用的文件的種類不同,經(jīng)由互聯(lián)網(wǎng)的訪問頻繁發(fā)生,再加上上述傳送延遲,從而有可能導(dǎo)致文件的訪問功能(尤其是讀取功能)變差。當(dāng)通信網(wǎng)絡(luò)為互聯(lián)網(wǎng)以外的通信網(wǎng)絡(luò)時,以上問題也可能存在。因此,本發(fā)明的目的在于,增加遠(yuǎn)程存儲裝置的利用機會而盡可能不損害文件的訪問性能。對遠(yuǎn)程存儲裝置進(jìn)行管理的遠(yuǎn)程文件服務(wù)器與對本地存儲裝置進(jìn)行管理的本地文件服務(wù)器連接在通信網(wǎng)絡(luò)(例如互聯(lián)網(wǎng))上。本地文件服務(wù)器進(jìn)行如下動作A、將本地存儲裝置內(nèi)的文件復(fù)制到遠(yuǎn)程文件服務(wù)器內(nèi),B、在滿足了第一條件時,將被復(fù)制了的文件即已復(fù)制文件作為遷移對象文件進(jìn)行管理。本地文件服務(wù)器即使完成B也不從本地存儲裝置中刪除遷移對象文件,而在滿足了第二條件時,從本地存儲裝置中刪除遷移對象文件。其中,第二條件例如是指遷移對象文件在被參照后將不會從任何用戶終端中被參照。
圖I示出了本發(fā)明的一個實施例的概要。圖2示出了本發(fā)明的一個實施例的系統(tǒng)整體的硬件結(jié)構(gòu)。圖3示出了本發(fā)明的一個實施例的系統(tǒng)整體的軟件結(jié)構(gòu)。圖4示出了 inode管理表。圖5示出了圖4的inode管理表中的inode編號“100”的inode與文件位置之間的關(guān)系。圖6示出了 inode管理表400中追加的新種類的元數(shù)據(jù)。圖7示出了復(fù)制處理的流程。
圖8示出了與已復(fù)制文件或其元數(shù)據(jù)有關(guān)的寫入處理的流程。圖9示出了同步處理的流程。圖10示出了元數(shù)據(jù)讀取處理的流程。圖11示出了文件讀取處理的流程。圖12A示出了響應(yīng)打開請求進(jìn)行的處理。圖12B示出了響應(yīng)關(guān)閉請求進(jìn)行的處理。圖12C示出了文件的刪除。圖13示出了與已遷移文件有關(guān)的寫入處理的流程。圖14A示出了 LU內(nèi)的空閑容量的一示例。圖14B示出了被重新調(diào)用的文件寫入LU因而LU的空閑容量減少到小于閾值的例子。圖15示出了將復(fù)制對象外文件作為復(fù)制候選文件的處理的流程。圖16 示出了圖 15 的 STEP27-3 及 27-4。圖17示出了復(fù)制復(fù)制候選文件的流程。圖18示出了文件系統(tǒng)1211 (受理程序12110)的處理流程。圖19為表示數(shù)據(jù)移動程序的處理流程的流程圖。圖20表示監(jiān)視程序1214的處理流程的一部分的流程圖。圖21表示監(jiān)視程序1214的處理流程的另一部分的流程圖。圖22示出了在本發(fā)明的一個實施例的系統(tǒng)整體的軟件結(jié)構(gòu)中,對Edge側(cè)的LU應(yīng)用了自動精簡配置(Thin provisioning)的結(jié)構(gòu)。
具體實施例方式下面,對本發(fā)明的一個實施例進(jìn)行說明。另外,在下面的說明中,用“ XXX表”這樣的表述對各種信息進(jìn)行說明,但各種信息也可以采用表以外的數(shù)據(jù)構(gòu)造來表述。為了表示不依賴于數(shù)據(jù)構(gòu)造,可以將“XXX表”稱為“XXX信息”。并且,在下面的說明中,存在以“程序”為主語對處理進(jìn)行說明的情況,但程序由處理器(例如CPU (Central Processing Unit))執(zhí)行,從而適當(dāng)?shù)乩么鎯Y源(例如存儲器)和/或通信接口裝置(例如通信端口)并進(jìn)行預(yù)定的處理,因此,也可以將處理的主語作為處理器。以程序為主語所說明的處理也可以作為由文件服務(wù)器(例如,后述的文件存儲裝置、存檔裝置)進(jìn)行的處理。并且,處理器也可以包含進(jìn)行處理器進(jìn)行的一部分或全部處理的硬件電路。計算機程序也可以從程序源被安裝到各計算機內(nèi)。程序源例如也可以是程序分發(fā)服務(wù)器或存儲介質(zhì)。圖I示出了本發(fā)明的一個實施例的概要。存在本地計算機系統(tǒng)2、遠(yuǎn)程計算機系統(tǒng)3。本地計算機系統(tǒng)2具有客戶機(例如個人計算機)/主機(例如服務(wù)器)130、文件存儲裝置 120、RAID (Redundant Array of Independent (or Inexpensive) Disks)系統(tǒng)110。文件存儲裝置120連接有客戶機/主機130與RAID系統(tǒng)110。文件存儲裝置120是本地文件服務(wù)器的一個例子。遠(yuǎn)程計算機系統(tǒng)3具有存檔裝置220與RAID系統(tǒng)210。存檔裝置220是遠(yuǎn)程文件服務(wù)器的一個例子。文件存儲裝置120與存檔裝置220經(jīng)由通信網(wǎng)絡(luò)I連接。通信網(wǎng)絡(luò)I典型的是互聯(lián)網(wǎng),但也可以是除此以外的通信網(wǎng)絡(luò)(例如,LAN(Local Area Network))。在本實施例中,例如進(jìn)行以下處理。即,文件存儲裝置120從客戶機/主機130中接收文件的寫入請求,并按照該寫入請求,將文件10寫入到RAID系統(tǒng)110內(nèi)。然后,文件存儲裝置120復(fù)制文件IO(SlOOl)。具體而言,文件存儲裝置120從RAID系統(tǒng)110中讀出文件10,并將讀出的文件10經(jīng)由通信網(wǎng)絡(luò)I傳送至存檔裝置220內(nèi)。存檔裝置220將來自文件存儲裝置120的文件寫入RAID系統(tǒng)210。由此,處于RAID系統(tǒng)110與RAID系統(tǒng)210這兩者都存有文件10的狀態(tài)。文件存儲裝置120并不在完成文件10的復(fù)制后立刻從RAID系統(tǒng)110中刪除文件
10。因為這樣做與遷移文件10是等同的。為了在將文件10遷移至遠(yuǎn)程計算機系統(tǒng)3后將文件10提供給客戶機/主機130,需要文件存儲裝置120經(jīng)由通信網(wǎng)絡(luò)I向存檔裝置220請求文件10。因此,在本實施例中,文件存儲裝置120即使完成文件10的復(fù)制也保留文件10而不從RAID系統(tǒng)110將其刪除。因此,文件存儲裝置120在從客戶機/主機130中接收到文件10的讀取請求時(SllOl),能夠從RAID系統(tǒng)110中讀出文件10并提供給客戶機/主機130 (SI 102)。也就是說,并不需要文件存儲裝置120經(jīng)由通信網(wǎng)絡(luò)I從存檔裝置220中取得文件10。文件存儲裝置120在文件10從任何客戶機/主機130中都沒有被讀出(沒有被參照)時,刪除文件10(嚴(yán)格而言為該實體)(S1103)。其結(jié)果是,文件10實質(zhì)上只存儲在存檔裝置120側(cè)。另外,刪除文件10的定時可以采用滿足了其他條件的定時(例如,從對于文件10的訪問(讀取)的最終時刻經(jīng)過了一定時間)來代替文件10沒有從任何客戶機/主機130中被讀出的定時,或者還可以采用文件10沒有從任何客戶機/主機130中被讀出這種情況之外的滿足了其他條件的方式。下面,對本實施例進(jìn)行詳細(xì)說明。圖2示出了本發(fā)明一個實施例的系統(tǒng)整體的硬件結(jié)構(gòu)。存在EdgelOO與Core200。EdgelOO是指包含有本地計算機系統(tǒng)的據(jù)點,例如分店或營業(yè)廳等用戶實際進(jìn)行業(yè)務(wù)的據(jù)點。并且。COre200是包含有遠(yuǎn)程計算機系統(tǒng)的據(jù)點,例如統(tǒng)一管理服務(wù)器或存儲裝置的據(jù)點或提供云服務(wù)的據(jù)點。
另外,在圖I所示的例子中,EdgelOO為多個,Core200為單個,但EdgelOO也可以是單個,和/或COre200也可以為多個。并且,在圖I中,示出了 I個與存儲裝置120連接的客戶機/主機130,實際上,存儲裝置120連接有多個客戶機/主機130 (如圖所示,客戶機/主機130也可以為I個)。EdgelOO具備RAID系統(tǒng)110、文件存儲裝置120、客戶機/主機130。文件存儲裝置120例如經(jīng)由通信網(wǎng)絡(luò)(例如LA N)連接在客戶機/主機130上。并且,文件存儲裝置120例如經(jīng)由通信網(wǎng)絡(luò)(例如SAN(Storage Area Network))連接在RAID系統(tǒng)110上。RAID系統(tǒng)110大致分為控制器部與存儲部??刂破鞑烤邆銫HA (ChannelAdaptor) 111 與DKC(DisK Controller) 112。存儲部具備DISK113。DKC112連接有CHAlll 及DISK113。CHAlll是與文件存儲裝置120連接的通信接口裝置。DKC112為控制器。DISK113為磁盤型的物理存儲裝置(例如,HDD (Hard Disk Drive))。作為物理存儲裝置,也可以采用其他類型的物理存儲裝置(例如,閃存裝置)。并且,DISK113在圖I中為單個,實際上為多個(如圖所示,也可以是單個)??梢杂啥鄠€DISK113構(gòu)成I個以上的RAID組。RAID系統(tǒng)110利用CHAlll接收從文件存儲裝置120發(fā)送來的塊級1/0請求,并基于DKCl 12的控制,執(zhí)行適當(dāng)?shù)膶τ贒ISKl 13的1/0。文件存儲裝置120 具備存儲器 121、CPU (Central Processing Unit) 122、NIC (Network Interface Card) 123、HBA (Host Bus Adaptor) 124。存儲器 121、NIC123 及HBA124 連接有 CPU122。NIC 123是與存檔裝置220及客戶機/主機130通信的通信接口裝置。HBA124是與RAID系統(tǒng)110通信的通信接口裝置。存儲器121是CPU122可直接讀寫的存儲區(qū)域(例如,RAM (Random Access Memory)或ROM (Read-Only Memory))。文件存儲裝置120在存儲器121上讀入控制文件存儲裝置120的程序(例如OS (Operating System)),并使CPU122執(zhí)行該程序。文件存儲裝置120除了具有存儲器121還可以具有其他類型的存儲資源,或還可以具有其他類型的存儲資源而代替存儲器121。文件存儲裝置120經(jīng)由NIC123從客戶機/主機130中接收文件級1/0請求。文件存儲裝置120作成用于數(shù)據(jù)塊的1/0的1/0請求,該數(shù)據(jù)塊構(gòu)成由該1/0請求指定的文件。文件存儲裝置120經(jīng)由HBA124將塊級1/0請求發(fā)送至RAID系統(tǒng)110??蛻魴C/主機130具備存儲器131、CPU132、NIC133、DISK134??蛻魴C/主機130除了存儲器131和/或DISK134還可以具有其他類型的存儲資源,或還可以具有其他類型的存儲資源代替存儲器131和/或DISK134。客戶機/主機130在存儲器131上讀入DISK134中存儲的程序(控制客戶機/主機134的程序(例如OS)),并使CPU132執(zhí)行該程序。并且,客戶機/主機130經(jīng)由NIC133將文件級1/0請求發(fā)送至文件存儲裝置120。Core200具備RAID系統(tǒng)210、存檔裝置220。存檔裝置220連接有RAID系統(tǒng)210。RAID 系統(tǒng) 210 具備 CHA211、DKC212、DISK213。在圖 I 中,RAID 系統(tǒng) 210 的結(jié)構(gòu)與RAID系統(tǒng)110的結(jié)構(gòu)相同。因此,RAID系統(tǒng)210也利用CHA211接收從存檔裝置220中發(fā)送的塊級1/0請求,并基于DKC212的控制,執(zhí)行適當(dāng)?shù)膶τ贒ISK213的1/0。另外,RAID系統(tǒng)210的結(jié)構(gòu)與RAID系統(tǒng)110的結(jié)構(gòu)也可以不同。
存檔裝置220具備存儲器221、CPU222、NIC223、HBA224。還可以具備其他類型的存儲資源代替存儲器221,或除了具備存儲器221還可以具備其類型的存儲資源。存檔裝置220在存儲器221上讀入控制存檔裝置220的程序(例如OS),并使CPU222執(zhí)行該程序。并且,存檔裝置220經(jīng)由NIC223及通信網(wǎng)絡(luò)I與文件存儲裝置120通信。存檔裝置220經(jīng)由HBA224連接,并執(zhí)行塊單位的訪問。圖3示出了本實施例的系統(tǒng)整體的軟件結(jié)構(gòu)。RAID 系統(tǒng) 110(210)具有多個 LU (Logical Unit) 1100 (2100)。LU1100 (2100)是邏輯存儲裝置。LU1100(2100)也可以是基于I個以上的DISK113(213)的實體化LU,也可以是按照自動精簡配置(Thin Provisioning)的虛擬化LU。LU1100 (2100)有多個塊(存儲區(qū)域)構(gòu)成。LUllOO (2100)中存儲有文件。并且,LUllOO (2100)中也可以存儲全部或一部分后述的文件系統(tǒng)信息。
圖22為表示在本發(fā)明一個實施例的系統(tǒng)整體的軟件結(jié)構(gòu)中,對Edge側(cè)的LU應(yīng)用了自動精簡配置(Thin Provisioning)的結(jié)構(gòu)的圖。應(yīng)用了自動精簡配置(Thin Provisioning)的RAID系統(tǒng)110具備I個或多個存儲池120。存儲池120包含有多個頁面1130。頁面1130是通過以固定長度分割存儲池120得到的各個存儲區(qū)域。虛擬LU(應(yīng)用了自動精簡配置(Thin Provisioning)的LU)由多個虛擬區(qū)域構(gòu)成。當(dāng)對虛擬LUlllO進(jìn)行寫入時,每次都向虛擬LUlllO的寫入目標(biāo)虛擬區(qū)域分配頁面。磁盤的容量能夠以存儲池1120單位增設(shè)。存儲池120也可以包含有尺寸不同的多個頁面1130。再次參照圖3。文件存儲裝置120的存儲器121 (存檔裝置220的存儲器221)存儲有數(shù)據(jù)移動程序1210 (2210)、文件系統(tǒng)1211 (2211)、內(nèi)核/驅(qū)動器1212(2212)。文件存儲裝置120的存儲器121還存儲有文件共享程序1213。下面,將文件存儲裝置120內(nèi)的數(shù)據(jù)移動程序稱為“本地移動器”(local mover),將存檔裝置220內(nèi)的數(shù)據(jù)移動程序稱為“遠(yuǎn)程移動器”(remote mover),在不特別區(qū)分兩者時,稱為“數(shù)據(jù)移動程序”(data moverprogram)。在文件服務(wù)器裝置120與存檔裝置220之間,經(jīng)由本地移動移動器1210及遠(yuǎn)程移動器2210,進(jìn)行文件的交換。本地移動器1210從RAID系統(tǒng)110的LU1100中讀出復(fù)制對象文件,并將該文件傳送至存檔裝置220。遠(yuǎn)程移動器2210從文件存儲裝置120中接收復(fù)制對象文件,并將該文件寫入RAID系統(tǒng)210的LU2100。并且,本地移動器1210在滿足了預(yù)定條件時刪除LUllOO內(nèi)的已復(fù)制文件(嚴(yán)格地為該實體),由此實現(xiàn)已復(fù)制文件的實質(zhì)性遷移。然后,本地移動器1210在對于被刪除的文件的樁(元數(shù)據(jù))從客戶機/主機130中接受到讀取請求時,經(jīng)由遠(yuǎn)程移動器2210取得與樁鏈接的文件,并將取得的文件發(fā)送至客戶機/主機130。另外,在本實施例中,“樁”是指與文件的存儲目標(biāo)信息(表示鏈接目標(biāo))關(guān)聯(lián)在一起的對象(元數(shù)據(jù))。從客戶機/主機130中判明不出是文件還是樁。文件系統(tǒng)1211 (2211)是文件系統(tǒng)程序,對文件系統(tǒng)信息進(jìn)行管理。文件系統(tǒng)信息包含與各文件有關(guān)的信息(例如,表示文件尺寸或位置等的信息)。具體而言,例如,文件信息包含圖4所示的ionde管理表400。ionde管理表400由多個ionde構(gòu)成(I行對應(yīng)一個ionde)各ionde由多個元數(shù)據(jù)構(gòu)成。作為元數(shù)據(jù)的種類,有文件所有者、文件訪問權(quán)、文件尺寸、文件存儲位置(數(shù)據(jù)塊地址1、2、3、…)等。例如,根據(jù)包含有inode編號“100”的行可知,文件如圖5所示由下述塊(LU內(nèi)的塊)存儲的數(shù)據(jù)構(gòu)成。(*)以地址100的塊為排頭的3個連續(xù)的塊(由數(shù)據(jù)塊地址“10-3”確定的塊組)內(nèi)的數(shù)據(jù)。(*)以地址200的塊為排頭的2個連續(xù)的塊(由數(shù)據(jù)塊地址2 “200-2”確定的塊組)內(nèi)的數(shù)據(jù)。⑷以地址250的塊為排頭的5個連續(xù)的塊(由數(shù)據(jù)塊地址3 “250-5”確定的塊組)內(nèi)的數(shù)據(jù)。再次參照圖3。內(nèi)核/驅(qū)動器1212(2121)進(jìn)行在文件存儲裝置120 (存檔裝置220)上動作的多個程序(工序)的調(diào)度控制或?qū)τ布袛噙M(jìn)行處理等整體控制及硬件固有的控 制。文件共享程序1213 是使用所謂 CIFS(Common Internet File System)、NFS (Network File System)的通信協(xié)議,在與客戶機/主機130之間提供文件共享服務(wù)的程序??蛻魴C/主機130的存儲器131存儲有應(yīng)用軟件1310、文件系統(tǒng)1311、內(nèi)核/驅(qū)動器1312。應(yīng)用軟件1310是客戶機/主機130根據(jù)操作目的使用的軟件(應(yīng)用程序)。文件系統(tǒng)1311及內(nèi)核/驅(qū)動器1312與上述文件系統(tǒng)1211 (2211)、內(nèi)核/驅(qū)動器1212 (2212)大致相同。在本實施例中,inode管理表400中追加有新種類的元數(shù)據(jù)。圖6示出了 inode管理表400中追加的新種類的元數(shù)據(jù)。每個文件(每個inode)中都有新種類的元數(shù)據(jù),其為樁化標(biāo)志3100、數(shù)據(jù)需同步標(biāo)志3101、元數(shù)據(jù)需同步標(biāo)志3102、復(fù)制標(biāo)志3103及鏈接目標(biāo)3104。下面,針對這些元數(shù)據(jù),采用I個文件(在圖6的說明中稱為“對象文件”)為一示例進(jìn)行說明。樁化標(biāo)志3100表示對象文件是否被樁化。具體而言,例如,樁化標(biāo)志3100在對象文件被樁化時,被設(shè)為“開啟”,在對象文件沒有被樁化時,被設(shè)為“關(guān)閉”。數(shù)據(jù)需同步標(biāo)志3101 (元數(shù)據(jù)需同步標(biāo)志3102)表示是否需要使文件(元數(shù)據(jù))同步化。數(shù)據(jù)需同步標(biāo)志3101 (元數(shù)據(jù)需同步標(biāo)志3102)在已復(fù)制對象文件(該元數(shù)據(jù))在EdgelOO側(cè)與Core200側(cè)一致時,被設(shè)為“關(guān)閉”。并且,數(shù)據(jù)需同步標(biāo)志3101 (元數(shù)據(jù)需同步標(biāo)志3102)由于在EdgelOO側(cè)發(fā)生對象文件(該元數(shù)據(jù))更新,導(dǎo)致與Core200側(cè)的對象文件(該元數(shù)據(jù))不一致時(也就是說,未同步時)需要使兩文件(兩元數(shù)據(jù))互相一致,因此被設(shè)為“開啟”。復(fù)制標(biāo)志3103表示對象文件是否為復(fù)制對象。復(fù)制標(biāo)志3103在對象文件已復(fù)制時,被設(shè)為“開啟”,在對象文件沒有被復(fù)制時,被設(shè)為“關(guān)閉”。鏈接目標(biāo)3104是表示對象文件的存儲目標(biāo)(鏈接目標(biāo))的信息(例如,URL(Uniform Resource Locator))。接著,對本實施例中進(jìn)行的處理進(jìn)行說明。圖7示出了復(fù)制處理的流程。另外,圖中的S*是STEP* (*是I以上的整數(shù))的縮寫。
通過該處理,在EdgelOO側(cè)與Core200側(cè)共享復(fù)制對象文件。首先,在STEPl中,本地移動器1210獲取復(fù)制請求。復(fù)制請求發(fā)起源或發(fā)起復(fù)制請求的定時無特別限定。復(fù)制請求至少包含復(fù)制對象文件的識別信息(例如文件名)。接著,在STEP2-1中,本地移動器1210對存檔裝置220發(fā)出確保復(fù)制對象文件的存儲區(qū)域的指令。該指令例如也可以包含復(fù)制對象文件的識別信息及尺寸。存檔裝置220 (遠(yuǎn)程移動器2210)可以接受該指令,確保復(fù)制對象文件的存儲目標(biāo)存儲區(qū)域。存檔裝置220 (遠(yuǎn)程移動器2210)可以將復(fù)制對象文件的識別信息與該文件的存儲目標(biāo)的信息即鏈接目標(biāo)信息(表示被確保了的存儲區(qū)域的信息)之間的對應(yīng)關(guān)系存儲至存 儲器221內(nèi)。接著,在STEP2-2中,本地移動器1210從存檔裝置220 (遠(yuǎn)程移動器2210)中接收復(fù)制對象文件的鏈接目標(biāo)信息(例如URL),并將該接收到的鏈接目標(biāo)信息追加至inode管理表400中作為復(fù)制對象文件的鏈接目標(biāo)3104。接著,在STEP3中,文件系統(tǒng)1211從LU1100中讀出基于復(fù)制請求所確定出的復(fù)制對象文件,并將該文件傳送至本地移動器1210內(nèi)。接著,在STEP4中,本地移動器1210將來自文件系統(tǒng)1211的復(fù)制對象文件傳送至遠(yuǎn)程移動器2210。例如,遠(yuǎn)程移動器1210也可以將指定了在STEP2-2中接收到的鏈接目標(biāo)信息的、復(fù)制對象文件的寫入請求(文件級寫入請求)發(fā)送至遠(yuǎn)程移動器2210。在STEP5中,遠(yuǎn)程移動器2210從本地移動器1210中接收復(fù)制對象文件,并對文件系統(tǒng)2211(文件系統(tǒng)內(nèi)的受理程序22110)發(fā)出該文件的存儲請求。該存儲請求可以包含該文件的鏈接目標(biāo)信息。文件系統(tǒng)2211將復(fù)制對象文件寫入基于其鏈接目標(biāo)信息的位置(LU2100)。然后,將文件系統(tǒng)2211完成了寫入從文件系統(tǒng)2211通知到遠(yuǎn)程移動器2210。遠(yuǎn)程移動器2210在接受到該通知時,將復(fù)制完成通知發(fā)送至本地移動器1210。在STEP6中,本地移動器1210從遠(yuǎn)程移動器2210中接收復(fù)制完成通知,并通知文件系統(tǒng)系統(tǒng)1211的受理程序1211復(fù)制完成。然后,在STEP7中,文件系統(tǒng)1211(受理程序12110)使復(fù)制對象文件所對應(yīng)的復(fù)制標(biāo)志3103為“開啟”(參照圖6)。復(fù)制標(biāo)志3103變?yōu)椤伴_啟”的文件是已復(fù)制文件。圖8示出了與已復(fù)制文件或其元數(shù)據(jù)有關(guān)的寫入處理的流程。當(dāng)更新已復(fù)制文件或其元數(shù)據(jù)時,文件存儲裝置120側(cè)的已復(fù)制文件或其元數(shù)據(jù)與存檔裝置220側(cè)的已復(fù)制文件或其元數(shù)據(jù)不同。因此,需要同步處理(在文件存儲裝置120側(cè)與存檔裝置220側(cè)使文件(或其元數(shù)據(jù))的內(nèi)容互相一致的處理)已復(fù)制文件或其元數(shù)據(jù)。在本寫入處理中,設(shè)定(使已復(fù)制文件對應(yīng)的數(shù)據(jù)/元數(shù)據(jù)需同步標(biāo)志3101/3102為“開啟”)表示需要同步處理的信息。首先,在STEP8中,文件系統(tǒng)1211(受理程序12110)受理對于已復(fù)制文件(或其元數(shù)據(jù))的寫入請求(更新請求)。接著,在STEP9中,文件系統(tǒng)1211(受理程序12110)進(jìn)行該文件(或其元數(shù)據(jù))的更新。文件系統(tǒng)1211(受理程序12110)在更新了已復(fù)制文件時,使該文件對應(yīng)的數(shù)據(jù)需同步標(biāo)志3101為“開啟”,在更新了元數(shù)據(jù)時,使與該元數(shù)據(jù)有關(guān)的文件所對應(yīng)的元數(shù)據(jù)需同步標(biāo)志3102為“開啟”(參照圖6)。另外,更新了的文件或元數(shù)據(jù)是否是已復(fù)制文件或其元數(shù)據(jù)可以通過其對應(yīng)的復(fù)制標(biāo)志3103是否為“開啟”來判斷。數(shù)據(jù)/元數(shù)據(jù)需同步標(biāo)志3101/3102為“開啟”表示需要同步處理其對應(yīng)的文件或其元數(shù)據(jù)。在進(jìn)行了同步處理時,使數(shù)據(jù)/元數(shù)據(jù)需同步標(biāo)志3101/3102為“關(guān)閉”。圖9示出了同步處理的流程。針對與數(shù)據(jù)需同步標(biāo)志3101為“開啟”的文件、或元數(shù)據(jù)需同步標(biāo)志3102為“開啟”的文件有關(guān)的元數(shù)據(jù),進(jìn)行同步處理。首先,在STEP9中,本地移動器1210接受同步處理請求。同步處理請求發(fā)起源或發(fā)起同步處理的定時無特別限定。同步處理請求例如也可以定期地或不定期地(例如一日一次的頻度)發(fā)起。在STEPlO中,本地移動器1210對文件系統(tǒng)1211(受理程序12110)發(fā)出數(shù)據(jù)需同步標(biāo)志3101/3102變?yōu)椤伴_啟”的文件和/或元數(shù)據(jù)的檢索請求,并從文件系統(tǒng)1211中取得該文件和/或元數(shù)據(jù)。在STEPll中,本地移動器1210將所取得的文件和/或元數(shù)據(jù)傳送至遠(yuǎn)程移動器 2210。在STEP12中,遠(yuǎn)程移動器2210將來自本地移動器1210的文件和/或元數(shù)據(jù)存儲至LU2100和/或文件系統(tǒng)信息中。由此,在本地或遠(yuǎn)程上,文件(和/或元數(shù)據(jù))互相一致(也就是說,同步完成)。遠(yuǎn)程移動器2210在存儲了文件和/或元數(shù)據(jù)后,通知本地移動器1210存儲完成。在進(jìn)行了文件/或元數(shù)據(jù)的存儲后,在STEP13中,本地移動器1210將進(jìn)行了同步處理的文件(和/或元數(shù)據(jù))所對應(yīng)的數(shù)據(jù)/元數(shù)據(jù)需同步標(biāo)志3101/3102變更為“關(guān)閉”。另外,在本同步處理中,在完成了文件(和/或元數(shù)據(jù))的同步后,判斷是否可以從LUllOO中刪除已復(fù)制且已同步文件(即,是否可以將該文件從復(fù)制對象切換為遷移對象)。具體而言,例如,本地移動器1210檢查LUllOO的空閑容量。在LU1100的空閑容量小于預(yù)定閾值時,為了增加LUllOO的空閑容量,允許刪除(遷移)已復(fù)制且已同步文件。即,在STEP14中,本地移動器1210使已復(fù)制且已同步文件(復(fù)制標(biāo)志3103為“開啟”且數(shù)據(jù)/元數(shù)據(jù)需同步標(biāo)志3101/3102變?yōu)椤瓣P(guān)閉”的文件)所對應(yīng)的樁化標(biāo)志3100為“開啟”,使該文件所對應(yīng)的復(fù)制標(biāo)志3103為“關(guān)閉”。另外,允許刪除(遷移)文件的條件可以采用其他條件來代替存儲文件的存儲區(qū)域(LU)的空閑容量小于預(yù)定閾值的條件,或除了存儲文件的存儲區(qū)域(LU)的空閑容量小于預(yù)定閾值的條件之外還可以采用其他條件。例如,允許刪除的文件例如也可以是從該文件的最終訪問時刻經(jīng)過看了一定時間的文件。在本實施例中,從LUllOO中刪除允許刪除的文件(遷移對象文件)在該文件的復(fù)制剛結(jié)束之后或該文件的同步剛完成后不進(jìn)行。遷移對象文件保留在本地側(cè),直到針對該文件滿足預(yù)定條件為止。在本實施例中,從LUllOO中刪除遷移對象文件如后面所述,在文件的讀取處理中進(jìn)行。圖10示出了元數(shù)據(jù)的讀取處理的流程。首先,在STEP15-1中,文件系統(tǒng)1211(受理程序12110)從客戶機/主機130通過文件共享程序1213受理元數(shù)據(jù)的讀取請求。假設(shè)讀取對象元數(shù)據(jù)是從LUllOO中被刪除的文件的元數(shù)據(jù)。即使刪除文件(嚴(yán)格地為該實體),與該文件有關(guān)的元數(shù)據(jù)也存儲在文件存儲裝置120偵U。因此,文件系統(tǒng)1211不從存檔裝置220中取得元數(shù)據(jù)。具體而言,在STEP15-2及16-1中,文件系統(tǒng)1211從文件存儲裝置120側(cè)的文件系統(tǒng)信息(LU1100中存儲的信息)中取得讀取對象元數(shù)據(jù),在STEP16-2中,將該元數(shù)據(jù)通過文件共享程序1213傳送至客戶機/主機130。圖11示出了文件讀取處理的流程。首先,在STEP17中,文件系統(tǒng)1211(受理程序12110)從客戶機/主機130通過文件共享程序1213受理文件的讀取請求。文件系統(tǒng)1211(受理程序12110)判斷該文件是否為已重新調(diào)用。是否已重新調(diào)用例如可以通過與該文件有關(guān)的數(shù)據(jù)塊地址(參照圖4)表示的值是否為0(零)來判斷。地址表示的值為O是指文件沒有被存儲在LUllOO中。如果已重新調(diào)用,則文件系統(tǒng)1211(受理程序12110)在STEP18中從LU1100中讀出讀取對象文件,并在STEP20中將該文件通過文件共享程序1213發(fā)送至客戶機/主機130。另一方面,如果重新調(diào)用未結(jié)束,則文件系統(tǒng)1210(受理程序12110)在STEP19中重新調(diào)用、即從存檔裝置220中取得讀取對象文件(例如,通過將讀取對象文件的讀取請求發(fā)送至存檔裝置220,從而取得讀取對象文件)。然后,文件系統(tǒng)1210將該文件寫入LUl 100。在STEP20中,文件系統(tǒng)1210(受理程序12110)將該文件發(fā)送至客戶機/主機130。另外,文件的讀取請求,既可以是針對一個文件為一個也可以是針對一個文件為多個。在是后者時,文件被部分讀出。針對一個文件的多個讀取請求的每一個,可以被指定讀取文件的哪一部分?jǐn)?shù)據(jù)。具體而言,例如,讀取請求有來自文件排頭的偏移值與讀出的表示尺寸的信息(表示文件部分的信息),文件系統(tǒng)1210針對該文件部分可以判斷是否已重新調(diào)用。若已重新調(diào)用,則文件系統(tǒng)1210將已重新調(diào)用文件部分發(fā)送至客戶機/主機130,若重新調(diào)用未結(jié)束,則可以從存檔裝置220中取得該文件部分。但是,從客戶機/主機130在文件讀取請求之前發(fā)起打開請求,在文件讀取請求之后發(fā)起關(guān)閉請求。通過完成打開請求、讀取請求及關(guān)閉請求這3個請求的處理,從而完成I個讀取處理。在本實施例中,實際刪除遷移對象文件(允許刪除的文件)的定時,成為著眼于在讀取請求之前發(fā)起打開請求、并在讀取請求之后發(fā)起關(guān)閉請求這一做法而被定義的定時。具體而言,如圖12A所示,文件系統(tǒng)1211在接受到打開請求時,對與打開對象文件(被讀取的文件)有關(guān)的參照計數(shù)值加I。文件系統(tǒng)1211每當(dāng)受理打開請求時,對與打開對象文件有關(guān)的參照計數(shù)值加I。另一方面,如圖12B所示,文件系統(tǒng)1211在接收到關(guān)閉請求時,從與關(guān)閉對象文件(被讀取的文件)有關(guān)的參照計數(shù)值中減去I。文件系統(tǒng)1211每當(dāng)接受關(guān)閉請求時,從與關(guān)閉對象文件有關(guān)的參照計數(shù)值中減去I。然后,在與遷移對象文件(樁化標(biāo)志3100為“開啟”且數(shù)據(jù)/元數(shù)據(jù)需同步標(biāo)志3101/3102為“關(guān)閉”的文件)有關(guān)的參照計數(shù)值從大于O的值變?yōu)镺時,如圖12C所示,本地移動器1210從LUllOO中刪除該文件(嚴(yán)格地為該實體)。通過該刪除,實質(zhì)上完成了遷移。也就是說,遷移對象文件將成為已遷移文件。另外,此時,文件系統(tǒng)1211更新與被刪除了的文件有關(guān)的inode。因此,例如,假設(shè)與被刪除了的文件有關(guān)的數(shù)據(jù)塊地址表示的值為0(零)。并且,在對EdgelOO側(cè)的LU100應(yīng)用自動精簡配置(Thin provisioning)時(參照圖22),也可以通知可以以某固定值(例如O)的形式蓋寫該文件來代替刪除該文件,并對RAID系統(tǒng)110釋放存儲有該文件的虛擬區(qū)域(存儲有該文件的塊地址)。RAID系統(tǒng)110也可以接受該通知,從該虛擬區(qū)域中釋放被分配給所通知的虛擬區(qū)域的頁面1130。這里,虛擬區(qū)域如上所述是指構(gòu)成虛擬LU(應(yīng)用了自動精簡配置(Thin provisioning)的LU)1100的虛擬的存儲區(qū)域。并且,以固定值蓋寫該文件是指通過存儲該文件的虛擬區(qū)域,在被分配給該虛擬區(qū)域的頁面1130的整個區(qū)域內(nèi)蓋寫固定值。在頁面1130的整個區(qū)域內(nèi)蓋寫固定值時,客戶機/主機130不需要該頁面1130內(nèi)的數(shù)據(jù)。因此,只存儲該無用數(shù)據(jù)的頁面1130可以從虛擬區(qū)域中被釋放。由此,可以增加存儲池的空閑容量(未分配的頁面1130的數(shù)量)O根據(jù)這種刪除定時(遷移),可以將高參照頻度的文件保留在本地側(cè),從本地側(cè)刪除低參照頻度的文件并將其只保留在遠(yuǎn)程側(cè)。圖13示出了與已遷移文件有關(guān)的寫入處理的流程?!ぴ赟TEP23中,系統(tǒng)文件1211(受理程序12110)從客戶機/主機130中接受文件的寫入請求。在STEP24中,文件系統(tǒng)1211 (受理程序12110)檢查寫入對象文件所對應(yīng)的樁化標(biāo)志3100。在樁化標(biāo)志3100為“開啟”時,在STEP25中,文件系統(tǒng)1211從存檔裝置220中取得寫入對象文件,并將所取得的文件寫入LU1100。然后,文件系統(tǒng)1211針對該文件使樁化標(biāo)志3100為“關(guān)閉”,并且使復(fù)制標(biāo)志3103為“開啟”。另外,在寫入對象文件為已重新調(diào)用文件時,可以跳過從存檔裝置220中取得文件的處理。然后,文件系統(tǒng)1211按照在STEP23中接收到的寫入請求,更新LUllOO內(nèi)的該文件。然后,文件系統(tǒng)1211在STEP26中使與被更新了的文件有關(guān)的數(shù)據(jù)/元數(shù)據(jù)需同步標(biāo)志3101/3102為“開啟”。通過文件的更新,使得在文件存儲裝置120側(cè)與存檔裝置側(cè)220中文件及該元數(shù)據(jù)不同,因為需要同步處理。根據(jù)圖13所示的寫入處理,在針對已遷移文件接受到寫入請求時(針對從LUllOO中刪除的文件的樁接受到寫入請求時),解除文件的樁。根據(jù)上述說明,如圖14A所示,設(shè)有LUllOO的空閑容量的閾值。LU1100的空閑容量是從LUllOO的容量中除去LUllOO的使用量的容量。LU1100的使用量是復(fù)制對象外文件的總?cè)萘颗c已復(fù)制文件的總量的總和。根據(jù)圖14A所示的狀態(tài),復(fù)制對象外文件的總?cè)萘勘纫褟?fù)制文件的總?cè)萘慷啵襆UllOO的空閑容量超過閾值但接近閾值。在該狀態(tài)下,當(dāng)有對于已遷移文件(嚴(yán)格地為該樁)的寫入請求時,由于該文件重新調(diào)用(從存檔裝置220側(cè)讀出該文件),導(dǎo)致該文件被寫入LU1100,從而,致使文件的空閑容量減少,該結(jié)果,如圖14B所示,使得空閑容量小于閾值。此時,允許刪除已復(fù)制文件。并且,為了寫入處理而被重新調(diào)用的文件(從由樁確定的鏈接目標(biāo)中取得的文件)被更新且需要同步。因此,在同步處理的時間間隔被設(shè)定為較短時,由重新調(diào)用引起的文件移動與由同步引起的文件移動會頻繁進(jìn)行。也就是說,經(jīng)由通信網(wǎng)絡(luò)的文件傳送會頻繁發(fā)生。因此,在本實施例中,在預(yù)定條件下將復(fù)制對象外文件作為復(fù)制候選,并對復(fù)制候選進(jìn)行復(fù)制。圖15示出了將復(fù)制對象外文件作為復(fù)制候選文件的處理流程。圖16示出了圖15所示的 STEP27-3 及 27-4。在STEP27-1中,本地移動器1210受理復(fù)制請求。在STEP27-2中,本地移動器1210將該復(fù)制請求中包含的文件清單(例如復(fù)制對象文件的識別信息清單)保存在文件存儲裝置120內(nèi)(例如存儲器121)。由于復(fù)制對象文 件如上所述被復(fù)制,因此下面將被保存的文件稱為“已復(fù)制文件”。文件存儲裝置120例如在存儲器121上具有I個以上的已復(fù)制文件清單。在STEP27-3中,本地移動器1210基于與由保存的I個以上的已復(fù)制文件清單確定的多個已復(fù)制文件有關(guān)的I個以上的元數(shù)據(jù),提取這些多個已復(fù)制文件的公共特性(例如,文件尺寸或最終更新日期)。以下,將表示提取出的公共特性的信息成為“特性清單”。特性清單針對I種以上的元數(shù)據(jù)具有公共特性信息。并且,公共特性信息既可以是I個公共值也可以是值范圍(例如,從多個公共值中的最小值到最大值的范圍),也可以是I個或多個公共值加上或減去等一定值后的值。然后,在STEP27-4中,本地移動器1210將復(fù)制對象外文件(復(fù)制標(biāo)志3103為“關(guān)閉”且沒有設(shè)定鏈接目標(biāo)3104的文件)的I個以上的元數(shù)據(jù)與特性清單具有的公共特性信息進(jìn)行對比。本地移動器1210將復(fù)制對象外文件中的、適合公共特性信息的元數(shù)據(jù)所對應(yīng)的文件作為復(fù)制候選。復(fù)制復(fù)制候選文件。該復(fù)制定時例如基于圖17所示的監(jiān)視程序1214的判斷結(jié)果來決定。監(jiān)視程序1214如圖17所示是由文件存儲裝置120內(nèi)的CPU122執(zhí)行的程序。另夕卜,復(fù)制復(fù)制候選文件的定時可以不限定于此。圖17示出了復(fù)制復(fù)制候選文件的流程。定期或不定期地進(jìn)行STEP28。在STEP28中,監(jiān)視程序1214計算LU1100中的復(fù)制對象外文件的總?cè)萘肯鄬τ贚UllOO的使用量(LU1100中的已復(fù)制文件的總?cè)萘?的比例(以下,稱為對象外比例)。并且,在STEP29中,監(jiān)視程序1214在對象外比例超過某一定值時,實施作為復(fù)制候選的文件復(fù)制,直到對象外比例低于一定值為止。根據(jù)參照了圖15至圖17的說明,若對象外比例超過一定值,則作為復(fù)制對象而沒有被指定的多個文件(復(fù)制對象外文件)中的I個以上的文件被復(fù)制,由此成為已復(fù)制文件。也就是說,已復(fù)制文件增加。由于已復(fù)制文件即將被樁化,因此造成LUllOO的空閑容量增加。因此,期待擴大LUllOO的空閑容量與該閾值之間的差。因此,可以期待避免經(jīng)由通信網(wǎng)絡(luò)I的文件傳送頻繁發(fā)生。接著,參照圖18 圖21的流程圖,對各程序的處理流程進(jìn)行說明。圖18為表示文件系統(tǒng)1211 (受理程序12110)的處理流程的流程圖。在STEP300中,文件系統(tǒng)1211當(dāng)受理文件的處理請求(例如,訪問請求、打開請求或關(guān)閉請求)時,檢查由該處理請求確定的文件(下面,在圖18的說明中稱為“對象文件”)的樁化標(biāo)志3100。若樁化標(biāo)志3100為“開啟”(STEP300 :是),則進(jìn)入STEP301。若樁化標(biāo)志3100為“關(guān)閉” (STEP300 :否),則由于文件保留在LU1100內(nèi)因此進(jìn)入STEP305。STEP301中,文件系統(tǒng)1211檢查接收到的處理請求。在處理請求是讀取請求時,進(jìn)入STEP302,在是讀取請求以外時,進(jìn)入STEP310。在STEP302中,文件系統(tǒng)1211判斷對象文件的元數(shù)據(jù)的一種即數(shù)據(jù)塊地址是否有效。在數(shù)據(jù)塊地址有效時(STEP302 :是),進(jìn)入STEP303。在數(shù)據(jù)塊地址無效時(STEP302 :否),進(jìn)入 STEP304。在STEP303中,文件系統(tǒng)1211從LUl 100中讀出對象文件,并將讀出的文件發(fā)送至請求源(客戶機/主機130)。在STEP304中,文件系統(tǒng)1211進(jìn)行文件的重新調(diào)用。S卩,文件系統(tǒng)1211對本地移 動器1210請求從存檔裝置220側(cè)取得對象文件,在將響應(yīng)該請求從存檔裝置220中被取得的文件暫時存儲至LUllOO之后發(fā)送至請求源。在STEP305中,文件系統(tǒng)1211檢查接收到的處理請求。在處理請求是寫入請求以外時(STEP305 :否),進(jìn)入STEP306。在處理請求是寫入請求時,進(jìn)入STEP307。在STEP306中,文件系統(tǒng)1211進(jìn)行按照接收到的處理請求(打開請求或讀取請求)的處理。在STEP307中,文件系統(tǒng)1211確認(rèn)對象文件的復(fù)制標(biāo)志3103。在復(fù)制標(biāo)志3103為“開啟”時(STEP307 :是),進(jìn)入STEP308。在復(fù)制標(biāo)志3103為“關(guān)閉”時(STEP307 :否),進(jìn)入 STEP309。在STEP308中,文件系統(tǒng)1211使對象文件的數(shù)據(jù)/元數(shù)據(jù)需同步標(biāo)志3101/3102為“開啟”。因為由于后面的STEP309的寫入處理,會導(dǎo)致在文件存儲裝置120側(cè)與存檔裝置220側(cè)之間對象文件及其元數(shù)據(jù)不同。在STEP309中,文件系統(tǒng)1211執(zhí)行對象文件的寫入處理。并且,在對EdgelOO側(cè)的LUlllO應(yīng)用自動精簡配置(Thin provisioning)時(圖22),在執(zhí)行STEP309時分配頁面作為存儲區(qū)域。在STEP310中,文件系統(tǒng)1211檢查接收到的處理請求。在處理請求是寫入請求時,進(jìn)入STEP312。在處理請求是打開處理時,進(jìn)入STEP311。在處理請求是關(guān)閉請求時,進(jìn)入STEP316。在STEP311中,文件系統(tǒng)1211對與對象文件有關(guān)的參照計數(shù)值加I,并執(zhí)行打開處理。在STEP312中,文件系統(tǒng)1211請求數(shù)據(jù)移動程序1210重新調(diào)用對象文件(請求在存檔裝置220中取得文件)。在STEP313中,文件系統(tǒng)1211針對對象文件,使樁化標(biāo)志3100為關(guān)閉,使復(fù)制標(biāo)志3103為開啟。在STEP314中,文件系統(tǒng)1211更新在STEP312中取得的文件(在該文件上蓋寫按照處理請求的文件)。并且,在對EdgelOO側(cè)的LUlllO應(yīng)用自動精簡配置(Thinprovisioning)時(參照圖22),在執(zhí)行STEP314時分配頁面作為存儲區(qū)域。在STEP315中,文件系統(tǒng)1211使對象文件的數(shù)據(jù)/元數(shù)據(jù)需同步標(biāo)志3103/3102為“開啟”。在STEP316,文件系統(tǒng)1211從與對象文件有關(guān)的參照計數(shù)值中減去I,并執(zhí)行關(guān)閉處理。在STEP317中,文件系統(tǒng)1211判斷與對象文件有關(guān)的參照計數(shù)值是否為O且對象文件的數(shù)據(jù)/元數(shù)據(jù)需同步標(biāo)志3101/3102是否為“關(guān)閉”。在STEP317的判斷結(jié)果為肯定時(STEP317 :是),在STEP318中,文件系統(tǒng)1211判斷是否可以應(yīng)用自動精簡配置(Thin provisioning)。在判斷結(jié)果為否定時(STEP318 :否),在STEP319中,文件系統(tǒng)1211從LU1100中刪除對象文件(對象文件的元數(shù)據(jù)保留在文件系統(tǒng)信息中)。并且,在STEP318中,在判斷結(jié)果為肯定時(STEP318 :是),文件系統(tǒng)1211在STEP320中釋放分配區(qū)域(對象文件的元數(shù)據(jù)保留在文件系統(tǒng)信息中)。由此,完成對象文件的實質(zhì)性遷移。
在STEP317的判斷結(jié)果為否定時(STEP317 :否),文件系統(tǒng)1211不刪除對象文件。與對象文件有關(guān)的參照計數(shù)值為I以上是因為對象文件從任何客戶機/主機130中被參照。圖19為表示數(shù)據(jù)移動程序的處理流程的流程圖。在本實施例中,能夠使文件存儲裝置120與存檔裝置220兩者執(zhí)行同一數(shù)據(jù)移動程序。數(shù)據(jù)移動程序的動作模式有文件存儲裝置與存檔裝置,根據(jù)由裝置120及220中哪一個來執(zhí)行,被設(shè)定的動作模式而不同。在STEP400中,數(shù)據(jù)移動程序檢查被設(shè)定的動作模式。在動作模式為“文件存儲裝置”時,進(jìn)入STEP402,在動作模式為“存檔裝置”時,進(jìn)入STEP417。在STEP402中,數(shù)據(jù)移動程序判斷是否接收了對于復(fù)制對象文件的處理請求。這里,處理請求是復(fù)制請求或數(shù)據(jù)/元數(shù)據(jù)同步處理請求。在接收到處理請求時(STEP402:是),進(jìn)入 STEP403。在STEP403中,數(shù)據(jù)移動程序保存處理請求中包含的文件清單。在STEP404中,數(shù)據(jù)移動程序檢查處理請求的類別。在處理請求是復(fù)制請求時,進(jìn)入STEP405,在處理請求是同步處理請求時,進(jìn)入STEP410。在STEP405中,數(shù)據(jù)移動程序從存檔裝置220中取得由被保存的文件清單確定的文件(復(fù)制對象文件)的存儲目標(biāo)信息(例如URL)。在STEP406中,數(shù)據(jù)移動程序針對復(fù)制對象文件,注冊所取得的存儲目標(biāo)信息作為鏈接目標(biāo)3104。在STEP407中,數(shù)據(jù)移動程序從LU1100中讀出復(fù)制對象文件。在STEP408中,數(shù)據(jù)移動程序?qū)⒆x出的文件傳送至存檔裝置220。具體而言,例如,數(shù)據(jù)移動程序?qū)⒆x出的文件的讀取請求(具有該文件鏈接目標(biāo)3104表示的存儲目標(biāo)信息的寫入請求)發(fā)送至存檔裝置220。在STEP409中,數(shù)據(jù)移動程序使被傳送的文件的復(fù)制標(biāo)志3103為“開啟”。由此,該文件成為已復(fù)制文件。在STEP410中,數(shù)據(jù)移動程序從LU1100中讀出數(shù)據(jù)/元數(shù)據(jù)需同步標(biāo)志3101/3102變?yōu)殚_啟的文件。在STEP411中,數(shù)據(jù)移動程序?qū)⒆x出的文件傳送至存檔裝置220。具體而言,例如,數(shù)據(jù)移動程序?qū)⒆x出的文件的讀取請求(具有該文件的鏈接目標(biāo)3104表示的存儲目標(biāo)信息的寫入請求)發(fā)送至存檔裝置220。在STEP412中,數(shù)據(jù)移動程序針對被傳送的文件,使數(shù)據(jù)/元數(shù)據(jù)需同步標(biāo)志3101/3102為“關(guān)閉”。由此,完成已復(fù)制文件的同步處理。在STEP413中,數(shù)據(jù)移動程序判斷LU1100的空閑容量是否小于預(yù)定閾值。在LUl 100的空閑容量小于預(yù)定閾值時(STEP413 :是),在STEP415中,數(shù)據(jù)移動程序針對復(fù)制標(biāo)志3103為“開啟”的文件,使樁化標(biāo)志3100為“開啟”,并且使復(fù)制標(biāo)志3103為“關(guān)閉”。也就是說,允許刪除已復(fù)制文件。然后,至少進(jìn)行I次來自客戶機/主機130的與該文件有關(guān)的讀取處理,若與該文件有關(guān)的參照計數(shù)值變?yōu)?,則刪除該文件。也就是說,實質(zhì)上完成遷移。
在STEP417中,數(shù)據(jù)移動程序判斷是否從文件存儲裝置120中接收到文件。在接收到文件時(STEP417 :是),進(jìn)入STEP418。在STEP418中,數(shù)據(jù)移動程序?qū)⒔邮盏降奈募鎯χ罫U2100。圖20及圖21是表示監(jiān)視程序1214的處理流程的流程圖。在STEP500中,監(jiān)視程序1214檢查是否追加了文件清單(已復(fù)制文件清單)。在追加了文件清單時(S500 :是),進(jìn)入STEP502。在STEP502中,監(jiān)視程序1214檢查是否有特性清單。在有特性清單時(STEP502 是),進(jìn)入STEP503。在沒有特性清單時(STEP502 :否),為了作成特性清單,監(jiān)視程序1214進(jìn)行圖21所示的處理。在STEP503中,監(jiān)視程序1214將由追加的文件確定的文件的元數(shù)據(jù)與特性清單的公共特性信息進(jìn)行對比。該結(jié)果,在元數(shù)據(jù)適合公共特性信息時(STEP504:是),進(jìn)入STEP505。在元數(shù)據(jù)不適合共公告特性信息時(STEP504:否),為了在特性清單中追加新的公共特性信息,監(jiān)視程序1214進(jìn)行圖21所示的處理。在STEP505中,監(jiān)視程序1214將與遷移度對象外文件有關(guān)的元數(shù)據(jù)與特性清單具有的公共特性信息進(jìn)行對比,將適合公共特性信息的元數(shù)據(jù)所對應(yīng)的復(fù)制對象外文件作為復(fù)制候選。這里,作成復(fù)制候選的文件的清單(以下,稱為候選清單)。候選清單例如具有各復(fù)制候選文件的識別信息。在STEP506中,監(jiān)視程序1214求出所述對象外比例(復(fù)制對象外文件的總?cè)萘肯鄬τ贚UllOO的使用量(復(fù)制對象文件的總?cè)萘颗c復(fù)制對象外文件的總?cè)萘康目偤?的比例),并判斷該比例是否超過一定值。在超過時(STEP505 :是),進(jìn)入STEP506。在未超過時(STEP505 :否),返回至 STEP500。在STEP507中,監(jiān)視程序1214從候選清單中選擇I個以上的文件,以使對象外比例在上述一定值以下。這基于候選清單表示的各文件的容量來進(jìn)行。監(jiān)視程序1214作成選擇出的文件的清單(以下,稱為復(fù)制對象清單)。另外,也可以將上述候選清單作為復(fù)制對象清單來代替作成該清單。在STEP508中,監(jiān)視程序1214將具有作成的復(fù)制對象清單的復(fù)制請求發(fā)送給本地移動器1210。本地移動器1210響應(yīng)該復(fù)制請求,復(fù)制由復(fù)制對象清單確定的文件。如上所述,在STEP502 :否、或STEP504 :否時,進(jìn)行圖21所示的處理。該處理是作成或更新特性清單的處理。圖21中列舉了幾種檢查對象的元數(shù)據(jù),但該元數(shù)據(jù)種類為一個例子,并不限定于此。在STEP600 STEP605中,為了檢測公共特性,將各種特性(元數(shù)據(jù))與包含被追加了的已復(fù)制文件的多個已復(fù)制文件的元數(shù)據(jù)進(jìn)行對比。在STEP600中,監(jiān)視程序1214檢查多個已復(fù)制文件的更新日期是否在一定范圍內(nèi)。
在STEP601中,監(jiān)視程序1214檢查多個已復(fù)制文件的最終訪問日期是否在一定范圍內(nèi)。在STEP602中,監(jiān)視程序1214檢查多個已復(fù)制文件的容量(尺寸)是否在一定范圍內(nèi)。在STEP603中,監(jiān)視程序1214檢查多個已復(fù)制文件的參照頻度(讀取頻度)是否在一定范圍內(nèi)。在STEP604中,監(jiān)視程序1214檢查多個已復(fù)制文件的更新頻度(寫入頻度)是否在一定范圍內(nèi)。在STEP605中,監(jiān)視程序1214檢查多個已復(fù)制文件的擴展名是否相同。在STEP606中,監(jiān)視程序1214在STEP601 STEP605中,針對多個已復(fù)制文件,在檢測出公共特性時,將表示該特性的信息追加在特性清單中。以上,對本發(fā)明的一個實施例進(jìn)行了說明,這是用于說明本發(fā)明的示例,并不將本發(fā)明的范圍只限定于該實施例。本發(fā)明也可以以其他各種方式來實施。例如,也可以采用其他類型的存儲裝置來代替RAID系統(tǒng)110和/或210。并且,針對被復(fù)制了的文件,使復(fù)制標(biāo)志3103為“開啟”,但可以使數(shù)據(jù)/元數(shù)據(jù)需同步標(biāo)志3101/3102為“關(guān)閉”。并且,當(dāng)參照計數(shù)值變?yōu)镺時,也可以在其他定時刪除遷移對象文件(復(fù)制標(biāo)志3103為“開啟”且數(shù)據(jù)/元數(shù)據(jù)需同步標(biāo)志3101/3102為“關(guān)閉”的文件)。例如,也可以在從遷移對象文件的最終訪問日期經(jīng)過了一定時間時,刪除該文件。并且,也可以以不同于與樁所對應(yīng)的文件有關(guān)的更新的契機解除樁。并且,存儲文件的存儲區(qū)域可以不限于LU。附圖標(biāo)記的說明120文件存儲裝置、220存檔裝置
權(quán)利要求
1.一種本地文件服務(wù)器,與通信網(wǎng)絡(luò)連接而對本地存儲裝置進(jìn)行管理,該通信網(wǎng)絡(luò)連接有對遠(yuǎn)程存儲裝置進(jìn)行管理的遠(yuǎn)程文件服務(wù)器,該文件服務(wù)器特征在于,包括 第一通信接口裝置,其連接在所述通信網(wǎng)絡(luò)上; 第二通信接口裝置,其連接在發(fā)送指定了文件的讀取請求或?qū)懭胝埱蠹丛L問請求的用戶終端上,從用戶終端中接收所述訪問請求; 處理器,其連接在所述第一通信接口裝置和所述第二通信接口裝置上; 所述處理器進(jìn)行如下動作 A、將所述本地存儲裝置內(nèi)的文件復(fù)制到所述遠(yuǎn)程文件服務(wù)器內(nèi), B、在滿足了第一條件時,將被復(fù)制了的文件即已復(fù)制文件作為遷移對象文件進(jìn)行管理, C、即使完成所述B也不從所述本地存儲裝置中刪除所述遷移對象文件,而在滿足了第二條件時,從所述本地存儲裝置中刪除所述遷移對象文件。
2.根據(jù)權(quán)利要求I所述的本地文件服務(wù)器,其特征在于, 所述通信網(wǎng)絡(luò)為互聯(lián)網(wǎng), 所述第二通信接口裝置連接在多個用戶終端上, 所述第二條件是指所述遷移對象文件在被參照后將不會從任何用戶終端中被參照。
3.根據(jù)權(quán)利要求2所述的本地文件服務(wù)器,其特征在于, 各用戶終端在所述讀取請求之前,發(fā)送打開請求,在所述讀取請求之后,發(fā)送關(guān)閉請求, 所述處理器進(jìn)行如下動作 E、針對所述遷移對象文件,每當(dāng)接收所述打開請求時,按照第一規(guī)則更新與該文件有關(guān)的計數(shù)值, F、針對所述遷移對象文件,每當(dāng)接收所述關(guān)閉請求時,按照第二規(guī)則更新與該文件有關(guān)的計數(shù)值, 所述第二條件是指在開始了更新與所述遷移對象文件有關(guān)的計數(shù)值后,該計數(shù)值成為預(yù)定值; 所述預(yù)定值是相當(dāng)于文件沒有從任何用戶終端中被參照的值。
4.根據(jù)權(quán)利要求3所述的本地文件服務(wù)器,其特征在于, 所述第一條件是指所述本地存儲裝置的空閑容量小于規(guī)定閾值。
5.根據(jù)權(quán)利要求4所述的本地文件服務(wù)器,其特征在于, 所述處理器進(jìn)行如下動作 H、在接受到與所述已復(fù)制文件有關(guān)的寫入請求時,將該已復(fù)制文件作為同步化對象文件進(jìn)行管理, I、將所述同步化對象文件傳送至所述遠(yuǎn)程文件服務(wù)器,以使所述遠(yuǎn)程文件服務(wù)器管理的已復(fù)制文件與所述同步化對象文件一致, 所述處理器在所述I之后,判斷是否滿足所述第一條件。
6.根據(jù)權(quán)利要求5所述的本地文件服務(wù)器,其特征在于, 所述處理器進(jìn)行如下以下動作 K、在針對從所述本地存儲裝置中刪除的所述遷移對象文件的樁接受寫入請求時,從所述遠(yuǎn)程文件服務(wù)器中取得處于由該樁確定的鏈接目標(biāo)的、所述遠(yuǎn)程文件服務(wù)器管理的文件, L、將所述取得的文件存儲至所述本地存儲裝置內(nèi), M、按照所述K中接受的寫入請求更新所述取得的文件, 所述處理器在進(jìn)行了所述K時,解除所述樁。
7.根據(jù)權(quán)利要求6所述的本地文件服務(wù)器,其特征在于, 所述本地存儲裝置存儲多個已復(fù)制文件、多個已復(fù)制文件以外的I個以上的文件即I個以上的復(fù)制對象外文件, 所述處理器進(jìn)行如下動作 0、基于多個已復(fù)制文件的元數(shù)據(jù),提取所述多個已復(fù)制文件的I個以上的公共特性, P、從所述I個以上的復(fù)制對象外文件中選擇與適合所述I個以上公共特性的元數(shù)據(jù)所對應(yīng)的復(fù)制對象外文件, Q、將選擇出的復(fù)制對象外文件遷移到所述遠(yuǎn)程文件服務(wù)器內(nèi)。
8.根據(jù)權(quán)利要求I所述的本地文件服務(wù)器,其特征在于, 所述第一條件是指所述本地存儲裝置的空閑容量小于預(yù)定閾值。
9.根據(jù)權(quán)利要求8所述的本地文件服務(wù)器,其特征在于, 所述處理器進(jìn)行如下動作 H、在接受針對所述已復(fù)制文件的寫入請求時,將該已復(fù)制文件作為同步化對象文件進(jìn)行管理, 1、將所述同步化對象文件傳送至所述遠(yuǎn)程文件服務(wù)器,以使所述遠(yuǎn)程文件服務(wù)器管理的已復(fù)制文件與所述同步化對象文件一致, 所述處理器在所述I之后,判斷是否滿足所述第一條件。
10.根據(jù)權(quán)利要求I所述的本地文件服務(wù)器,其特征在于, 所述處理器進(jìn)行如下動作 K、在針對從所述本地存儲裝置中刪除的所述遷移對象文件的樁接受寫入請求時,從所述遠(yuǎn)程文件服務(wù)器中取得處于該樁確定的鏈接目標(biāo)的、所述遠(yuǎn)程文件服務(wù)器管理的文件, L、將所述取得的文件存儲至所述本地存儲裝置內(nèi), M、按照所述K中接受的寫入請求更新所述取得的文件, 所述處理器在進(jìn)行了所述K時,解除所述樁。
11.根據(jù)權(quán)利要求I所述的本地文件服務(wù)器,其特征在于, 所述本地存儲裝置存儲多個已復(fù)制文件、多個已復(fù)制文件以外的I個以上的文件即I個以上的復(fù)制對象外文件, 所述處理器進(jìn)行如下以下動作 O、基于多個已復(fù)制文件的元數(shù)據(jù),提取所述多個已復(fù)制文件的I個以上的公共特性, P、從所述I個以上的復(fù)制對象外文件中選擇與適合所述I個以上的公共特性的元數(shù)據(jù)所對應(yīng)的復(fù)制對象外文件, Q、將選擇出的復(fù)制對象外文件遷移至所述遠(yuǎn)程文件服務(wù)器內(nèi)。
12.根據(jù)權(quán)利要求11所述的本地文件服務(wù)器,其特征在于, 在所述I個以上的復(fù)制對象外文件的總?cè)萘肯鄬τ谒霰镜卮鎯ρb置容量的比例在一定值以上時,所述處理器執(zhí)行所述P。
13.根據(jù)權(quán)利要求12所述的本地文件服務(wù)器,其特征在于, 在所述P中,選擇I個以上的復(fù)制對象外文件,以使所述比例小于所述一定值。
14.一種存儲系統(tǒng),包括 遠(yuǎn)程文件服務(wù)器,對遠(yuǎn)程存儲裝置進(jìn)行管理; 本地文件服務(wù)器,對本地存儲裝置進(jìn)行管理,并經(jīng)由通信網(wǎng)絡(luò)與所述遠(yuǎn)程文件服務(wù)器連接, 所述存儲系統(tǒng)進(jìn)行如下動作 A、所述本地文件服務(wù)器將所述本地存儲裝置內(nèi)的文件經(jīng)由所述通信網(wǎng)絡(luò)傳送至所述遠(yuǎn)程文件服務(wù)器內(nèi),所述遠(yuǎn)程文件服務(wù)器將該文件存儲至所述遠(yuǎn)程存儲裝置內(nèi),由此復(fù)制該文件, B、所述本地文件服務(wù)器在滿足了第一條件時,將被復(fù)制了的文件即所述本地存儲裝置內(nèi)的已復(fù)制文件作為遷移對象文件進(jìn)行管理, C、所述本地文件服務(wù)器即使完成所述B也不從所述本地存儲裝置中刪除所述遷移對象文件,而在滿足了第二條件時,從所述本地存儲裝置中刪除所述遷移對象文件。
15.一種計算機程序,使本地文件服務(wù)器執(zhí)行如下A C的動作,其中,所述本地文件服務(wù)器與通信網(wǎng)絡(luò)連接而對本地存儲裝置進(jìn)行管理,該通信網(wǎng)絡(luò)連接有對遠(yuǎn)程存儲裝置進(jìn)行管理的遠(yuǎn)程文件服務(wù)器, 其中,所述A C的動作如下 A、將所述本地存儲裝置內(nèi)的文件復(fù)制到所述遠(yuǎn)程文件服務(wù)器內(nèi), B、在滿足了第一條件時,將被復(fù)制的文件即已復(fù)制文件作為遷移對象文件進(jìn)行管理, C、即使完成所述B也不從所述本地存儲裝置中刪除所述遷移對象文件,而在滿足了第二條件時,從所述本地存儲裝置中刪除所述遷移對象文件。
全文摘要
本發(fā)明提供一種經(jīng)由通信網(wǎng)絡(luò)向遠(yuǎn)程文件服務(wù)器傳送文件的本地文件服務(wù)器及具有該文件服務(wù)器的存儲系統(tǒng)。對遠(yuǎn)程存儲裝置進(jìn)行管理的遠(yuǎn)程文件服務(wù)器與對本地存儲裝置進(jìn)行管理的本地文件服務(wù)器連接在通信網(wǎng)絡(luò)(例如互聯(lián)網(wǎng))上。本地文件服務(wù)器進(jìn)行如下動作(A)將本地存儲裝置內(nèi)的文件復(fù)制到遠(yuǎn)程文件服務(wù)器內(nèi),(B)在滿足了第一條件時,將被復(fù)制了的文件即已復(fù)制文件作為遷移對象文件進(jìn)行管理。本地文件服務(wù)器即使完成(B)也不從本地存儲裝置中刪除遷移對象文件,而在滿足了第二條件時,從本地存儲裝置中刪除遷移對象文件。
文檔編號G06F12/00GK102870098SQ20108006369
公開日2013年1月9日 申請日期2010年5月27日 優(yōu)先權(quán)日2010年5月27日
發(fā)明者荒井仁, 蟹江譽, 雜賀信之 申請人:株式會社日立制作所