存儲系統(tǒng)及數(shù)據(jù)管理方法
【技術(shù)領域】
[0001]本發(fā)明涉及通過多個存儲裝置構(gòu)成RAID (Redundant Array of IndependentDisks:獨立磁盤冗余陣列)組的存儲系統(tǒng),優(yōu)選適用于對RAID組中的數(shù)據(jù)進行管理的存儲系統(tǒng)及數(shù)據(jù)管理方法。
【背景技術(shù)】
[0002]以往,通過存儲系統(tǒng)中的多個存儲裝置構(gòu)成RAID (Redundant Array ofIndependent Disks)組,并將基于RAID組而生成的邏輯卷向上級裝置(例如主機計算機)提供。
[0003]作為與RAID有關(guān)的技術(shù),在專利文獻I中公開有與分散式RAID有關(guān)的技術(shù)。分散式RAID是指,使包含常規(guī)數(shù)據(jù)和用于復原常規(guī)數(shù)據(jù)的冗余數(shù)據(jù)的條帶(stripe)列分散到向容量池提供存儲區(qū)域的多個存儲裝置來進行管理的技術(shù)。
[0004]現(xiàn)有技術(shù)文獻
[0005]專利文獻
[0006]專利文獻1:美國專利申請公開第2010/0107003號說明書
【發(fā)明內(nèi)容】
[0007]在普通的存儲裝置中,在構(gòu)成存儲冗余數(shù)據(jù)的RAID組的某一存儲裝置發(fā)生故障的情況下,使用冗余數(shù)據(jù)等對保存在發(fā)生了故障的存儲裝置中的數(shù)據(jù)進行復原(重建:rebuild)。近年來,隨著存儲裝置不斷大容量化,存在重建所需的時間變得長時間化的問題。在專利文獻I中,公開了分散于向容量池提供存儲區(qū)域的多個存儲裝置來進行管理的技術(shù)。根據(jù)專利文獻1,通過使重建負荷分散而能夠縮短重建所需的時間。
[0008]但是,在發(fā)生對于容量池內(nèi)的驅(qū)動器而超過冗余度(例如RAIDl的情況下為1,RAID6的情況下為2)的故障的情況下,數(shù)據(jù)丟失區(qū)域波及到與容量池對應的虛擬卷整體,存在從備份數(shù)據(jù)的恢復時間變得長時間化的問題。作為解決該問題的簡單方法,考慮通過將池分割為多個而將數(shù)據(jù)丟失帶來的影響局部化的方法,但存在導致主機I/O的負荷分散性和重建的負荷分散性降低的問題。
[0009]本發(fā)明是考慮到以上方面而研發(fā)的,提供一種能夠?qū)?shù)據(jù)丟失帶來的影響局部化,并防止主機I/o的負荷分散性和重建的負荷分散性降低的存儲系統(tǒng)及數(shù)據(jù)管理方法。
[0010]為了解決上述技術(shù)課題,在本發(fā)明中提供一種存儲裝置,經(jīng)由網(wǎng)絡與請求數(shù)據(jù)的輸入輸出的主機計算機連接,其特征在于,具有:多個存儲設備;和控制部,其將上述多個存儲設備的規(guī)定的存儲區(qū)域作為包含一個以上的虛擬卷的虛擬卷組而向上述主機計算機提供,上述控制部由上述多個存儲設備構(gòu)成一個以上的數(shù)據(jù)組,該數(shù)據(jù)組具有一個以上的冗余度,上述控制部將包含上述多個數(shù)據(jù)組的存儲池的存儲區(qū)域向上述虛擬卷的存儲區(qū)域的一部分提供,將構(gòu)成向上述虛擬卷分配的上述數(shù)據(jù)組的上述存儲設備的組合限定為兩個以上的固定數(shù)量的組合,將以上述固定數(shù)量的組合出現(xiàn)的上述存儲設備均等地分散于上述存儲池內(nèi)的存儲區(qū)域,并以上述虛擬卷組為單位使用向上述虛擬卷分配的上述存儲設備的固定數(shù)量的不同組合。
[0011]根據(jù)上述結(jié)構(gòu),將構(gòu)成向虛擬卷分配的頁的驅(qū)動器的組合限定為兩個以上的固定數(shù)量的組合(以下將該量表述為C),且定義成將該驅(qū)動器的組合均等分散于池內(nèi)的驅(qū)動器。而且,按每個虛擬卷或每個虛擬卷的集合,使用不同組合(個數(shù)c相同)。
[0012]例如,對于R個物理奇偶校驗組(PPG),設置與其對應的虛擬的R個虛擬奇偶校驗組(VPG)。在虛擬奇偶校驗組(VPG)中,以c個的循環(huán)實施固定模式(驅(qū)動器的組合為c種、c種下的平均每個驅(qū)動器的累計包裹配置量為Ceiling(C/R)以下,按每個虛擬奇偶校驗組(VPG)隨機改變c種驅(qū)動器組合(共計R種))的數(shù)據(jù)配置。而且,虛擬卷基于決定的優(yōu)先度,對特定的虛擬奇偶校驗組(VPG)優(yōu)先分配頁。
[0013]由此,能夠維持主機I/O負荷、進而重建負荷的均衡,且能夠?qū)?shù)據(jù)丟失區(qū)域局部化于特定的虛擬卷。
[0014]發(fā)明效果
[0015]根據(jù)本發(fā)明,能夠?qū)?shù)據(jù)丟失的影響局部化,防止主機I/O和重建的負荷分散性的降低,從而提高存儲系統(tǒng)整體的可用性。
【附圖說明】
[0016]圖1是說明本發(fā)明的第I實施方式的計算機系統(tǒng)的概要的概念圖。
[0017]圖2是表示該實施方式的計算機系統(tǒng)的邏輯結(jié)構(gòu)的概念圖。
[0018]圖3是表示該實施方式的驅(qū)動器的數(shù)據(jù)結(jié)構(gòu)的概念圖。
[0019]圖4是表示該實施方式的數(shù)據(jù)映射構(gòu)造的概念圖。
[0020]圖5是表示該實施方式的數(shù)據(jù)映射構(gòu)造的概念圖。
[0021]圖6是表示該實施方式的共享存儲器的內(nèi)容的框圖。
[0022]圖7是表示該實施方式的本地存儲器的內(nèi)容的框圖。
[0023]圖8是表不該實施方式的池管理表的一例的圖表。
[0024]圖9是表不該實施方式的虛擬備用管理表的一例的圖表。
[0025]圖10是表不該實施方式的驅(qū)動器狀態(tài)表的一例的圖表。
[0026]圖11是表不該實施方式的高速緩沖管理表的一例的圖表。
[0027]圖12是表不該實施方式的頁映射表的一例的圖表。
[0028]圖13是表不該實施方式的優(yōu)先度表的一例的圖表。
[0029]圖14A是表不該實施方式的數(shù)據(jù)映射表的一例的圖表。
[0030]圖14B是表不該實施方式的數(shù)據(jù)映射表的一例的圖表。
[0031]圖15是表不該實施方式的SEED表的一例的圖表。
[0032]圖16是表示該實施方式的預讀執(zhí)行驅(qū)動器目錄表的一例的圖表。
[0033]圖17A是表不該實施方式的備用轉(zhuǎn)換表的一例的圖表。
[0034]圖17B是表不該實施方式的備用轉(zhuǎn)換表的一例的圖表。
[0035]圖18是表示該實施方式的主機I/O處理的流程的流程圖。
[0036]圖19是表示該實施方式的集寫處理的流程的流程圖。
[0037]圖20是表示該實施方式的頁轉(zhuǎn)換處理的流程的流程圖。
[0038]圖21是表示該實施方式的LP轉(zhuǎn)換處理的流程的流程圖。
[0039]圖22是表示該實施方式的PL轉(zhuǎn)換處理的流程的流程圖。
[0040]圖23是表示該實施方式的VP/PV轉(zhuǎn)換處理的流程的流程圖。
[0041]圖24A是表示該實施方式的備用轉(zhuǎn)換處理的流程的流程圖。
[0042]圖24B是表示該實施方式的備用逆轉(zhuǎn)換處理的流程的流程圖。
[0043]圖25是表示該實施方式的包裹映射表生成處理的流程的流程圖。
[0044]圖26是表示該實施方式的備用映射表生成處理的流程的流程圖。
[0045]圖27是表示該實施方式的重建處理的流程的流程圖。
[0046]圖28是表示該實施方式的復原對象的數(shù)據(jù)預讀處理的流程的流程圖。
[0047]圖29A是表示該實施方式的數(shù)據(jù)映射的例子的概念圖。
[0048]圖29B是表示該實施方式的數(shù)據(jù)映射的例子的概念圖。
[0049]圖29C是表示該實施方式的數(shù)據(jù)映射的例子的概念圖。
[0050]圖30是表示本發(fā)明的第2實施方式的計算機系統(tǒng)的共享存儲器及本地存儲器的內(nèi)容的框圖。
[0051]圖31是表不該實施方式的DG互換指針表的內(nèi)容的圖表。
[0052]圖32是表示該實施方式的PPG增設處理的流程的流程圖。
[0053]圖33是表示該實施方式的PPG減設處理的流程的流程圖。
[0054]圖34是表示該實施方式的VP/PV轉(zhuǎn)換處理的流程的流程圖。
[0055]圖35是表示該實施方式的包裹再均衡處理的流程的流程圖。
[0056]圖36是表示該實施方式的數(shù)據(jù)互換處理的流程的流程圖。
[0057]圖37是表示該實施方式的增設時包裹變更映射確定處理的流程的流程圖。
[0058]圖38是表示該實施方式的減設時包裹變更映射確定處理的流程的流程圖。
[0059]圖39是表示該實施方式的頁再均衡處理的流程的流程圖。
[0060]圖40A是表示該實施方式的增設時的包裹映射的變形例的概念圖。
[0061]圖40B是表示該實施方式的減設時的包裹映射的變形例的概念圖。
【具體實施方式】
[0062]關(guān)于以下附圖,詳細說明本發(fā)明的一個實施方式。
[0063]此外,以下說明的實施方式不限定權(quán)利要求書所涉及的發(fā)明,另外在實施方式中說明的各要素及其組合不必全部為發(fā)明的解決方案所必須的。
[0064]此外,在以下說明中,存在用“aaa表”的表述來說明各種信息的情況,但各種信息也可以用表以外的數(shù)據(jù)構(gòu)造來表述。也能夠為了表示不依存于數(shù)據(jù)構(gòu)造這一情況而將“aaa表”稱作“aaa信息”。
[0065]另外,在以下說明中,存在以“程序”為主語來說明處理的情況,但程序由處理器(例如CPU (Central Processing Unit))執(zhí)行,從而一邊適當?shù)厥褂么鎯Y源(例如存儲器)及/或通信接口設備(例如端口)一邊進行已決定的處理,因此處理的主語也可以是程序。以程序為主語而說明的處理可以是處理器或具有該處理器的計算機(例如,管理計算機、主機計算機、存儲裝置等)所進行的處理。另外,控制器可以是處理器自身,也可以包含進行控制器所執(zhí)行的處理的一部分或全部的硬件電路。程序可以從程序源安裝到各控制器中。程序源可以是例如程序分發(fā)服務器或存儲介質(zhì)。
[0066](I)第I實施方式
[0067](1-1)計算機系統(tǒng)的概要
[0068]參照圖1,說明包含存儲系統(tǒng)的計算機系統(tǒng)的概要。如圖1所示,存儲系統(tǒng)例如由上級存儲裝置(第2存儲裝置)100構(gòu)成。另外,存儲系統(tǒng)可以包含作為第I存儲裝置的一例的外部存儲裝置40。
[0069]在上級存儲裝置100的DKU160中,具有多個作為第I存儲裝置的一例的下級存儲裝置180。上級存儲裝置100對由多個下級存儲裝置180的存儲區(qū)域構(gòu)成的容量池(以下稱作池)進行管理。另外,上級存儲裝置100使用池的區(qū)域來構(gòu)成RAID組。S卩,上級存儲裝置100使用構(gòu)成池的區(qū)域的多個下級存儲裝置180來構(gòu)成作為多個虛擬的RAID組的虛擬奇偶校驗組(VPG)。
[0070]虛擬奇偶校驗組的存儲區(qū)域由多個子存儲區(qū)域列構(gòu)成。各子存儲區(qū)域列橫跨構(gòu)成虛擬奇偶校驗組的多個存儲裝置(下級存儲裝置及/或外部存儲裝置),由與多個存儲裝置對應的多個子存儲區(qū)域構(gòu)成。在此,將一個子存儲區(qū)域稱作“條帶”,將由多個條帶構(gòu)成的一列稱作“條帶列”。通過多個條帶列而構(gòu)成RAID組的存儲區(qū)域。
[0071]在RAID中存在若干級別(以下稱作“RAID級別”)。例如,在RAID5中,由與RAID5對應的主機計算機指定的寫對象的數(shù)據(jù)被分割成規(guī)定尺寸的數(shù)據(jù)(以下,為了便于說明而稱作“數(shù)據(jù)單位”),各數(shù)據(jù)單位被分割為多個數(shù)據(jù)要素,多個數(shù)據(jù)要素被寫入到多個條帶中。另外,在RAID5中,為了對由于存儲裝置發(fā)生故障而無法從該存儲裝置讀出的數(shù)據(jù)要素進行重建,針對各數(shù)據(jù)單位,生成被稱作“奇偶校驗位”的冗余的信息(以下,“冗余碼”),并將該冗余碼也寫入到同一條帶列的條帶中。例如,在構(gòu)成RAID組的存儲裝置的數(shù)量為4的情況下,在與其中的三個存儲裝置對應的三個條帶中,寫入構(gòu)成數(shù)據(jù)單位的三個數(shù)據(jù)要素,并在與剩余一個存儲裝置對應的條帶中寫入冗余碼。以下,在不區(qū)分數(shù)據(jù)要素和冗余碼的情況下,有時也將兩者分別稱作條帶數(shù)據(jù)要素。
[0072]另外,在RAID6中,在由于構(gòu)成RAID組的多個存儲裝置中的兩個存儲裝置發(fā)生故障等原因而導致無法讀出構(gòu)成數(shù)據(jù)單位的多個數(shù)據(jù)要素中的兩個數(shù)據(jù)要素的情況下,為了能夠?qū)⑦@兩個數(shù)據(jù)要素復原,對各數(shù)據(jù)單位生成兩種冗余碼(稱作P奇偶校驗位、Q奇偶校驗位),并將各個冗余碼寫入到同一條帶列的條帶中。
[0073]另外,作為上述說明以外的RAID級別,例如,也存在RAIDl?4。另外,作為數(shù)據(jù)的冗余化技術(shù),也存在三重鏡像(Triplicat1n)、使用三個奇偶校驗位的三重奇偶校驗技術(shù)等。另外,關(guān)于冗余碼的生成技術(shù),也存在使用伽羅瓦運算的Reed-solomon碼、EVEN-ODD等各種技術(shù)。在本實施方式中,主要說明RAID5、6,但其不限定本發(fā)明,能夠通過置換而應用上述的方法。
[0074]上級存儲裝置100在下級存儲裝置180中的某一下級存儲裝置180發(fā)生故障的情況下,例如,通過以下所示的處理,將發(fā)生故障的存儲裝置180所保存的數(shù)據(jù)要素復原。
[0075]作為第I處理,微處理器(圖中標記為MP) 121將用于復原發(fā)生故障的下級存儲裝置180所保存的數(shù)據(jù)要素而需要的數(shù)據(jù)(例如,其他數(shù)據(jù)要素及奇偶校驗位)從保存該數(shù)據(jù)的多個下級存儲裝置180獲取,并經(jīng)由接口設備(例如,BEPK140)的傳輸緩存器142而保存到高速緩沖存儲器(CM) 131中。然后,通過BEPK140的奇偶校驗運算器141,基于高速緩沖存儲器(CM) 131的數(shù)據(jù)對數(shù)據(jù)要素進行復原,并將該數(shù)據(jù)要素保存到規(guī)定的下級存儲裝置180中。
[0076](1-2)計算機系統(tǒng)的硬件結(jié)構(gòu)
[0077]接下來,說明計算機系統(tǒng)的硬件結(jié)構(gòu)。如圖1所示,計算機系統(tǒng)包含一臺以上的主機計算機(以下,稱作主機)10、管理服務器20和上級存儲裝置100。主機計算機10、管理服務器20和上級存儲裝置100經(jīng)由網(wǎng)絡30而連接。網(wǎng)絡30可以是局域網(wǎng),也可以是廣域網(wǎng)。另外,可以在上級存儲裝置100上連接一個以上的外部存儲裝置40。外部存儲裝置40包含一個以上的存儲設備。存儲設備是非易失性的存儲介質(zhì),例如,是磁盤、閃存器、其他半導體存儲器。
[0078]主機10是例如執(zhí)行應用程序的計算機,從上級存儲裝置100讀出利用于應用程序的數(shù)據(jù),或向上級存儲裝置100寫入由應用程序生成的數(shù)據(jù)。
[0079]管理服務器20是用于根據(jù)管理者的輸入而執(zhí)行對計算機系統(tǒng)進行管理的管理處理的計算機。管理服務器20設定成,通過管理者對輸入設備的操作,受理在復原數(shù)據(jù)時執(zhí)行的數(shù)據(jù)復原處理的種類的設定,并使上級存儲裝置100執(zhí)行所受理的數(shù)據(jù)復原處理。
[0080]上級存儲裝置100具有:一個以上的前端封裝(FEPK) 110、維護接口(維護I/F) 115、一個以上的微處理器封裝(MPPK) 120、一個以上的高速緩沖存儲器封裝(CMPK) 130、一個以上的后端封裝(BEPK) 140、內(nèi)部網(wǎng)絡150、和一個以上的盤單元(DKU) 160。FEPK110、維護I/F115、MPPK120, CMPK130及BEPK140經(jīng)由內(nèi)部網(wǎng)絡150而連接。BEPK140經(jīng)由多條系統(tǒng)的總線而與DKU160連接。
[0081]FEPKl 10是接口設備的一例,具有一個以上的端口 111。端口 111將上級存儲裝置100經(jīng)由網(wǎng)絡30等與各種裝置連接。維護I/F115是用于將上級存儲裝置100與管理服務器20連接的接口。
[0082]MPPK120具有作為第I控制設備的一例的微處理器(MP) 121、和本地存儲器(LM) 122。本地存儲器122存儲各種程序和各種信息。微處理器121執(zhí)行保存在本地存儲器122中的程序而執(zhí)行各種處理。微處理器121經(jīng)由BEPK140而將各種指令(例如SCSI中的讀指令和寫指令等)向DKU160的下級存儲裝置180發(fā)送。另外,微處理器121經(jīng)由FEPKl 10而將各種指令向外部存儲裝置40發(fā)送。
[0083]CMPK130具有高速緩沖存儲器(CM) 131。高速緩沖存儲器131暫時保存從主機10向下級存儲裝置180等寫入的數(shù)據(jù)(寫數(shù)據(jù))、和從下級存儲裝置180讀出的數(shù)據(jù)(讀數(shù)據(jù))。
[0084]BEPK140具有奇偶校驗運算器141、作為第2控制設備的一例的傳輸緩存器(DXBF) 142、和后端控制器(BE控制器)143。
[0085]奇偶校驗運算器141為例如小型的處理器,在下級存儲裝置180發(fā)生故障時生成用于重建因該故障而無法讀出的數(shù)據(jù)要素的冗余碼(以下,奇偶校驗位)。奇偶校驗運算器141針對例如由RAID5構(gòu)成的RAID組的數(shù)據(jù)單位,通過取構(gòu)成數(shù)據(jù)單位的多個數(shù)據(jù)要素的邏輯異或而生成P奇偶校驗位。另外,奇偶校驗運算器141針對由RAID6構(gòu)成的RAID組的數(shù)據(jù)單位,通過在對構(gòu)成數(shù)據(jù)單位的多個數(shù)據(jù)要素乘以規(guī)定系數(shù)后,取各個數(shù)據(jù)的邏輯異或,而生成Q奇偶校驗位。另外,奇偶校驗運算器141基于針對數(shù)據(jù)單位的一個以上的條帶數(shù)據(jù)要素(數(shù)據(jù)要素及/或奇偶校驗位),進行將數(shù)據(jù)單位中的某一數(shù)據(jù)要素復原的復原處理。
[0086]傳輸緩存器142暫時保存從下級存儲裝置180發(fā)送來的數(shù)據(jù)、向下級存儲裝置180發(fā)送的數(shù)據(jù)。BE控制器143在與DKU160的下級存儲裝置180之間進行各種指令、寫數(shù)據(jù)、讀數(shù)據(jù)等的通信。
[0087]DKU160具有多個下級存儲裝置180 (以下,存在稱作驅(qū)動器的情況)。下級存儲裝置180包含一個以上的存儲設備。存儲設備是非易失性的存儲介質(zhì),例如,是磁盤、閃存器、其他半導體存儲器(PRAM、ReRAM等)。DKU160具有多個通過同一總線與BE控制器143連接的多個的下級存儲裝置180的組(總線組)170。屬于同一總線組170的下級存儲裝置180經(jīng)由開關(guān)161而連接。屬于同一總線組170的下級存儲裝置180彼此(以下稱作“同一線道的驅(qū)動器”)能夠直接通信,例如,能夠從屬于同一總線組170的一個下級存儲裝置180對其他下級存儲裝置180發(fā)送各種數(shù)據(jù)。此外,具有如下特性:在由于某種原因而開關(guān)或電源發(fā)生故障的情況下,同一線道的驅(qū)動器比其他線道的驅(qū)動器容易受到影響。
[0088](1-3)計算機系統(tǒng)的邏輯結(jié)構(gòu)
[0089]接下來說明計算機系統(tǒng)的邏輯結(jié)構(gòu)。圖2是表示計算機系統(tǒng)的邏輯結(jié)構(gòu)的概念圖。
[0090]上級存儲裝置100集束多個驅(qū)動器180來構(gòu)成物理性的奇偶校驗組(以下,稱作物理奇偶校驗組(PPG)) 205。例如,集束16個驅(qū)動器來構(gòu)成物理奇偶校驗組。該物理性的奇偶校驗組是針對分散組(DG) 207的增設、減設的單位。
[0091]分散組(DG)207集束多個物理奇偶校驗組205來構(gòu)成虛擬的奇偶校驗組(VPG) 204。在此,虛擬奇偶校驗組204上的虛擬的條帶構(gòu)造在分散組207的范圍內(nèi)分散于物理奇偶校驗組內(nèi)的驅(qū)動器中。也就是說,關(guān)于向虛擬奇偶校驗組204的I/O訪問,向其所屬的分散組207的范圍內(nèi)的物理性的驅(qū)動器訪問,而不會向超出該范圍的物理性的驅(qū)動器訪問。另外,在分散組內(nèi)存在相同數(shù)量的虛擬奇偶校驗組204和物理奇偶校驗組,其存在于分散組內(nèi)的標識符也相同。集束多個虛擬奇偶校驗組204而構(gòu)成作為邏輯性的存儲容量的集合的池200。
[0092]另外,如上所述,存在上級存儲裝置100作為驅(qū)動器180而具有例如閃存器、SAS驅(qū)動器、SATA驅(qū)動器等、性能及容量特性不同的多種存儲介質(zhì)的情況。根據(jù)這些不同特性,存儲介質(zhì)以所謂層級(Tier)206分類。由于各Tier的性能的特性不同,所以當使分散組橫跨Tier而構(gòu)成時,存在性能低的驅(qū)動器成為瓶頸的情況。因此,使分散組由同一 Tier構(gòu)成。
[0093]另外,在池內(nèi)存在多個虛擬卷(VVOL) 201。虛擬卷201是虛擬的設備,由主機10參照、訪問。上級存儲裝置的管理