計(jì)算機(jī)系統(tǒng)及數(shù)據(jù)控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明大概涉及儲(chǔ)存控制,例如涉及從服務(wù)器向存儲(chǔ)設(shè)備的I/0(Input/0utput:輸入/輸出)。
【背景技術(shù)】
[0002]通常,在具有服務(wù)器裝置和存儲(chǔ)裝置的計(jì)算機(jī)系統(tǒng)中,通過經(jīng)由通信網(wǎng)絡(luò)(例如FC (Fibre Channel:光纖通道)網(wǎng)絡(luò)或IP (Internet Protocol:互聯(lián)網(wǎng)協(xié)議))連接由不同的供應(yīng)商制造的服務(wù)器裝置和存儲(chǔ)裝置來構(gòu)成。在進(jìn)行來自服務(wù)器裝置的I/O的處理時(shí),若在存儲(chǔ)裝置內(nèi)搭載的多個(gè)的MP(Micrc) Processor:微處理器)(實(shí)施數(shù)據(jù)保存處理的處理器)及各MP所利用的存儲(chǔ)器產(chǎn)生偏差,則1/0性能不會(huì)如預(yù)期一樣上升。與之相對(duì),存在存儲(chǔ)設(shè)備的控制器能夠動(dòng)態(tài)地變更處理執(zhí)行MP的技術(shù)(例如參照專利文獻(xiàn)I)。
[0003]另外,若采用將多個(gè)服務(wù)器裝置分別與不同的存儲(chǔ)裝置連接的結(jié)構(gòu),則由于各服務(wù)器裝置的訪問范圍被限定,所以信息分散,導(dǎo)致管理成本的增加及便利性的下降。另外,會(huì)因服務(wù)器裝置的維護(hù)、存儲(chǔ)容量的追加等的管理任務(wù)而產(chǎn)生不能夠訪問特定的保存數(shù)據(jù)的狀態(tài)。因此,在通信網(wǎng)絡(luò)之間設(shè)置網(wǎng)絡(luò)交換機(jī)(例如FC交換機(jī)或路由器),使得從服務(wù)器裝置向存儲(chǔ)裝置的1/0能夠通過基于網(wǎng)絡(luò)交換機(jī)設(shè)備的路由選擇而將多個(gè)服務(wù)器與同一個(gè)存儲(chǔ)裝置連接。通過使多個(gè)服務(wù)器裝置共用存儲(chǔ)裝置,實(shí)現(xiàn)從哪個(gè)服務(wù)器裝置都能夠訪問相同的數(shù)據(jù),例如,即使在服務(wù)器裝置發(fā)生故障時(shí)也能從其他服務(wù)器裝置訪問數(shù)據(jù)。另夕卜,能夠?qū)崿F(xiàn)存儲(chǔ)容量的一元管理等,在管理成本及便利性方面很有益。
[0004]現(xiàn)有技術(shù)文獻(xiàn)
[0005]專利文獻(xiàn)
[0006]專利文獻(xiàn)1:美國公報(bào)2008/0263190號(hào)公報(bào)
【發(fā)明內(nèi)容】
[0007]為了配合因服務(wù)器及存儲(chǔ)設(shè)備各自的性能提高及快閃儲(chǔ)存裝置的存儲(chǔ)設(shè)備利用而使后端寬帶化,服務(wù)器與存儲(chǔ)設(shè)備之間的連接帶寬也需要進(jìn)一步實(shí)現(xiàn)寬帶化。另外,為了配合服務(wù)器性能上升,使來自存儲(chǔ)設(shè)備的響應(yīng)時(shí)間提高也成為課題。作為其解決策略,有增加FC的端口數(shù)量、利用新時(shí)代物品等,但都需要高成本。若以用低成本實(shí)現(xiàn)更寬的寬帶、更低延遲時(shí)間為目標(biāo)器,則適合用總線連接這種簡單且能夠連接得更粗的方法。因此,期待通過不依賴于網(wǎng)絡(luò)交換機(jī)的轉(zhuǎn)發(fā)功能而將服務(wù)器與存儲(chǔ)設(shè)備直接連接(直接連結(jié))以構(gòu)成一體型底盤(chassis)結(jié)構(gòu),來解決帶寬和延遲時(shí)間的課題。另外,在該結(jié)構(gòu)中,考慮實(shí)現(xiàn)存儲(chǔ)設(shè)備MP的負(fù)載降低并且將MP之間的負(fù)載均等化。而且,將采用直接連結(jié)服務(wù)器和存儲(chǔ)設(shè)備的結(jié)構(gòu)并且保持系統(tǒng)的靈活性、擴(kuò)張性作為課題。
[0008]本發(fā)明的目的在于,實(shí)現(xiàn)服務(wù)器與存儲(chǔ)設(shè)備之間的更緊密的連接,并且降低計(jì)算系統(tǒng)的靈活性或擴(kuò)張性的下降情況。
[0009]計(jì)算機(jī)系統(tǒng)具有第一存儲(chǔ)控制模塊和至少一個(gè)服務(wù)器模塊。第一存儲(chǔ)控制模塊具有多個(gè)存儲(chǔ)處理器。各服務(wù)器模塊具有服務(wù)器處理器和服務(wù)器接口設(shè)備,該服務(wù)器接口設(shè)備為服務(wù)器I/F,與該服務(wù)器處理器和多個(gè)存儲(chǔ)處理器中的至少兩個(gè)存儲(chǔ)處理器連接。發(fā)行服務(wù)器的服務(wù)器處理器發(fā)行I/O請(qǐng)求,該發(fā)行服務(wù)器為至少一個(gè)服務(wù)器模塊中的某一個(gè)服務(wù)器。發(fā)行服務(wù)器的服務(wù)器I/F從發(fā)行服務(wù)器的服務(wù)器處理器接收I/O請(qǐng)求,通過參照指派信息來確定出存儲(chǔ)處理器,并向確定出的存儲(chǔ)處理器送出基于所述I/O請(qǐng)求的指令,其中,指派信息是指,將接收到的I/O請(qǐng)求的發(fā)行服務(wù)器識(shí)別信息、該I/O請(qǐng)求的接收目的地存儲(chǔ)設(shè)備儲(chǔ)存區(qū)域的識(shí)別信息、擔(dān)當(dāng)該接收目的地存儲(chǔ)設(shè)備儲(chǔ)存區(qū)域的所述存儲(chǔ)處理器的識(shí)別信息建立對(duì)應(yīng)關(guān)系的信息。
[0010]發(fā)明的效果
[0011]能夠?qū)崿F(xiàn)服務(wù)器與存儲(chǔ)設(shè)備之間的更緊密的連接,并且降低計(jì)算系統(tǒng)的靈活性或擴(kuò)張性的下降情況。
【附圖說明】
[0012]圖1示出實(shí)施例1的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)。
[0013]圖2示出SVIF(服務(wù)器接口)的結(jié)構(gòu)。
[0014]圖3示出發(fā)行源ID及發(fā)行目的地ID的結(jié)構(gòu)。
[0015]圖4示出MP檢索表的結(jié)構(gòu)。
[0016]圖5示出初始化處理的流程。
[0017]圖6示出實(shí)施例1的寫處理的流程。
[0018]圖7示出實(shí)施例1的讀處理的流程。
[0019]圖8示出實(shí)施例2的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)。
[0020]圖9示出實(shí)施例2的存儲(chǔ)設(shè)備存儲(chǔ)器的結(jié)構(gòu)。
[0021]圖10示出實(shí)施例2的寫處理的流程。
[0022]圖11示出高速緩存判斷結(jié)果處理的詳細(xì)。
[0023]圖12示出實(shí)施例2的讀處理的流程。
[0024]圖13示出實(shí)施例3的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)。
[0025]圖14示出BEIF部的端口編號(hào)與MP的編號(hào)之間的對(duì)應(yīng)關(guān)系的第一例及第二例。
【具體實(shí)施方式】
[0026]以下,說明幾個(gè)實(shí)施例。
[0027]在以下的說明中,有時(shí)利用“XXX表”的表現(xiàn)形式說明信息,但信息可以用任何數(shù)據(jù)結(jié)構(gòu)來表現(xiàn)。即,為了表示信息不依賴于數(shù)據(jù)結(jié)構(gòu),能夠?qū)ⅰ癤 X X表”稱為“X X X
信息”。
[0028]另外,在以下的說明中,使用編號(hào)來作為各種各樣的對(duì)象(例如框體、端口 )的識(shí)別信息,也可以取代編號(hào)或在編號(hào)的基礎(chǔ)上,使用其他種類的識(shí)別信息。
[0029]另外,在以下的說明中,“V0L”為邏輯卷的簡稱,是邏輯性的儲(chǔ)存設(shè)備。VOL可以為實(shí)體的VOL(RVOL),也可以為虛擬的VOL(VVOL)。另外,VOL可以包括向與提供該VOL的存儲(chǔ)裝置連接的外部的裝置(例如服務(wù)器裝置)提供的在線(online) VOL和不向外部的裝置提供的(外部的裝置不識(shí)別的)脫機(jī)(offline) VOL?!癛V0L”為基于具有該RVOL的存儲(chǔ)裝置所具有的物理性的儲(chǔ)存資源(例如,由多個(gè)I3DEV構(gòu)成的RAID (Redundant Arrayof Independent (or Inexpensive)Disks:磁盤陣列)組)的 VOL。作為“VV0L”,可以例舉有:外部連接VOL(EVOL),其為基于與具有該VVOL的存儲(chǔ)裝置連接的外部的存儲(chǔ)裝置的儲(chǔ)存資源(例如V0L),且遵照存儲(chǔ)虛擬化技術(shù)的VOL ;VOL (TPVOL),其由多個(gè)虛擬頁面(虛擬化的儲(chǔ)存區(qū)域)構(gòu)成,且遵照容量虛擬化技術(shù)(典型地為自動(dòng)精簡配置技術(shù)(ThinProvis1ning));和快照V0L,其為作為原始的VOL的快照而被提供的VOL。TPVOL典型地為在線V0L??煺誚OL可以為RV0L。“PDEV”為非易失性的物理性儲(chǔ)存設(shè)備的簡稱??梢岳枚鄠€(gè)I3DEV來構(gòu)成多個(gè)RAID組??梢詫AID組稱為奇偶校驗(yàn)組。“池”為邏輯性的儲(chǔ)存區(qū)域(例如多個(gè)池VOL的集合),可以根據(jù)不同用途來準(zhǔn)備“池”。例如,池可以包括TP池和快照池。TP池為由多個(gè)實(shí)際頁(實(shí)體的儲(chǔ)存區(qū)域)構(gòu)成的儲(chǔ)存區(qū)域??梢詮腡P池向TPVOL的虛擬頁分配實(shí)際頁。快照池可以為保存有從原始的VOL備份的數(shù)據(jù)的儲(chǔ)存區(qū)域?!俺豓0L”為作為池的結(jié)構(gòu)要素的V0L。池VOL可以為RV0L,也可以為EV0L。池VOL典型地為脫機(jī)VOL。
[0030] 實(shí)施例1
[0031 ] 圖1示出實(shí)施例1的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)。
[0032]首先,說明實(shí)施例1的概要。
[0033]計(jì)算機(jī)系統(tǒng)具有服務(wù)器模塊(以下,稱為服務(wù)器)111和用總線與服務(wù)器111連接的存儲(chǔ)控制模塊113。在本實(shí)施例中,存在多個(gè)服務(wù)器模塊,所有這些都與存儲(chǔ)控制模塊連接。存儲(chǔ)控制模塊113具有多個(gè)MP (Micro Processor) 141。另外,多個(gè)服務(wù)器111的每一個(gè)可以與存儲(chǔ)控制模塊113內(nèi)的多個(gè)控制器131的每一個(gè)都連接,確保面向一個(gè)控制器131 (例如CTL A)的路徑和面向其他控制器131 (例如CTL B)的冗余路徑。各服務(wù)器111具有發(fā)行 1/0 (Input/Output)請(qǐng)求的 CPU (Central Processing Unit:中央處理器)122 和服務(wù)器I/F (以下,稱為SVIF) 123,該服務(wù)器I/F為通信接口電路。SVIF123基于發(fā)行的I/O請(qǐng)求,使用MP檢索表(MP檢索用的管理表),從多個(gè)MP141中確定出成為目標(biāo)器(target)的MP141,向目標(biāo)器MP141發(fā)行針對(duì)該目標(biāo)器MP141的1/0指令。也就是,SVIF123按照每個(gè)1/0請(qǐng)求指定用來處理1/0指令的MP141。該1/0指令由被指定的目標(biāo)器MP141處理。這樣一來,SVIF123指定包含冗余路徑在內(nèi)的多個(gè)路徑中所使用的路徑及位于該路徑的目的地的用來處理1/0指令的目標(biāo)器MP141,并發(fā)送1/0指令,由此,能夠以無網(wǎng)絡(luò)交換機(jī)的方式連接多個(gè)服務(wù)器111和存儲(chǔ)控制模塊113,并且能夠降低計(jì)算機(jī)系統(tǒng)的靈活性或擴(kuò)張性的下降。此外,基于1/0指令的1/0對(duì)象數(shù)據(jù)的傳送通過DMA (Direct Memory Access:直接存儲(chǔ)器訪問)來進(jìn)行。另外,1/0指令本體也可以通過DMA來傳送。通過DMA,從服務(wù)器存儲(chǔ)器121向存儲(chǔ)設(shè)備存儲(chǔ)器143直接傳送數(shù)據(jù)或指令。
[0034]以下,詳細(xì)地說明實(shí)施例1。
[0035]計(jì)算機(jī)系統(tǒng)具有底盤101。底盤101具有N臺(tái)服務(wù)器111和與N臺(tái)服務(wù)器111連接的存儲(chǔ)模塊(以下,稱為存儲(chǔ)設(shè)備)112。也就是,計(jì)算機(jī)系統(tǒng)為事先使服務(wù)器111及存儲(chǔ)設(shè)備112以結(jié)合的方式裝入同一底盤101的綜合型系統(tǒng),提供(實(shí)現(xiàn))基于構(gòu)成完畢的導(dǎo)入容易化、運(yùn)用管理的一元化。在實(shí)施例1中,N = 8,但N只要為2以上的整數(shù)即可,N臺(tái)服務(wù)器111共用存儲(chǔ)設(shè)備112。存儲(chǔ)設(shè)備112具有存儲(chǔ)控制模塊113和與存儲(chǔ)控制模塊113連接的多個(gè)I3DEV 132。存儲(chǔ)控制模塊113具有能夠用于控制針對(duì)TOEV 132進(jìn)行1/0 (Input/Output:輸入/輸出)的控制器(以下,稱為CTL) 131。
[0036]各服務(wù)器111為例如印刷基板(例如所謂的刀片服務(wù)器)。各服務(wù)器111具有服務(wù)器存儲(chǔ)器(memory) 12USVIF123以及與這些連接的CPU122。服務(wù)器存儲(chǔ)器121保存計(jì)算機(jī)程序及數(shù)據(jù)。CPU122執(zhí)行在服務(wù)器存儲(chǔ)器121中保存的計(jì)算機(jī)程序。作為計(jì)算機(jī)程序,例舉有服務(wù)器虛擬化程序(例如管理程序(hypervisor))及應(yīng)用程序。CPU122執(zhí)行服務(wù)器虛擬化程序,作為結(jié)果,能夠執(zhí)行一個(gè)或多個(gè)虛擬機(jī)(以下,稱為VM)。另外,CPU122也能夠執(zhí)行應(yīng)用程序。CPU122通過執(zhí)行這種計(jì)算機(jī)程序,能夠發(fā)行包含I/O目的地信息在內(nèi)的I/O請(qǐng)求。I/O目的地信息為表示VOL中的區(qū)域的信息,可以為例如包含LUN(Logical UnitNumber:邏輯單元號(hào))和LBA(Logical Block Address:邏輯區(qū)塊地址)的信息。SVIF123為通信接口電路,例如為 ASIC(Applicat1n Specific Integrated Circuit:專用集成電路)。SVIF能夠基于發(fā)行的I/O請(qǐng)求來發(fā)送I/O指令,該I/O指令具有I/O請(qǐng)求所具有的I/O目的地信息。
[0037]CTL131為例如印刷基板。CTL131具有存儲(chǔ)端口 142、存儲(chǔ)設(shè)備存儲(chǔ)器(memory) 143、PDEV I/F(以下,稱為PIF) 145、存儲(chǔ)I/F(以下,稱為STIF) 144和與這些連接的MP (Micro Processor) 141。PIF145與一個(gè)以上PDEV 132連接。存儲(chǔ)設(shè)備存儲(chǔ)器143保存計(jì)算機(jī)程序及數(shù)據(jù)。作為數(shù)據(jù),例如有MP檢索表。如后述那樣,MP檢索表由MP141來創(chuàng)建。MP141通過執(zhí)行在存儲(chǔ)設(shè)備存儲(chǔ)器143中保存的計(jì)算機(jī)程序,能夠按照1/0指令經(jīng)由PIF145對(duì)I3DEV 132進(jìn)行1/0。在PIF145與I3DEV 132之間,能夠以規(guī)定的協(xié)議例如FC (FibreChannel)或SAS(Serial Attached SCS1:串行連接小型計(jì)算機(jī)系統(tǒng)接口)進(jìn)行通信??梢葬槍?duì)每個(gè)MP141設(shè)置存儲(chǔ)設(shè)備存儲(chǔ)器143??梢葬槍?duì)每個(gè)MP141設(shè)置PIF145及STIF144中的至少一個(gè)。STIF144為通信接口電路,例如為ASIC。STIF144能夠與其他存儲(chǔ)控制模塊(未圖示)內(nèi)的STIF連接。這樣一來,能夠?qū)崿F(xiàn)存儲(chǔ)控制模塊113的橫向擴(kuò)展(scaleout)(利用實(shí)施例2說明具有橫向擴(kuò)展了的存儲(chǔ)控制模塊的計(jì)算機(jī)系統(tǒng)的一個(gè)例子)。此夕卜,在實(shí)施例1及實(shí)施例3中,可以不設(shè)置STIF144。另外,取代STIF,可以采用僅設(shè)置PIF的結(jié)構(gòu)。此外,STIF與SVIF可以為相同硬件。
[0038]CTL131具有一個(gè)或多個(gè)MP141。每個(gè)MP141的擔(dān)當(dāng)VOL(能夠設(shè)為1/0目的地的V0L)可以不同。另外,CTL131被雙重化,因此,MP141被雙重化??梢栽诒浑p重化后的MP141之間(在被雙重化的CTL131之間)進(jìn)行通信,在一個(gè)MP141發(fā)生故障的情況下,可以在與被雙重化后的另一個(gè)CTL之間進(jìn)行故障復(fù)原。
[0039]8臺(tái)服務(wù)器111利用總線與存儲(chǔ)控制模塊113連接。由于采用將該總線也用于各服務(wù)器111或存儲(chǔ)控制模塊113中的要素間連接的內(nèi)部總線連接方式,因此,與通常的外部連接方式相比,能夠獲得寬帶。作為例子,利用了 PCIe (PC1-Express)協(xié)議。通過利用內(nèi)部總線,無需創(chuàng)建FC幀,能夠減輕處理負(fù)擔(dān)。而且,能夠從服務(wù)器存儲(chǔ)器121直接向存儲(chǔ)設(shè)備存儲(chǔ)器143傳送數(shù)據(jù),由此,能夠減輕MP的負(fù)擔(dān),實(shí)現(xiàn)低延遲時(shí)間。而且,通過利用PCIe直接連接服務(wù)器111和存儲(chǔ)設(shè)備112,無需設(shè)置以往必要的FC交換機(jī)這種網(wǎng)絡(luò)交換機(jī),另外,通過構(gòu)成為一個(gè)框體,能夠削減電纜的長度,因此,能夠獲得降低成本的優(yōu)點(diǎn)。
[0040]各SVIF123具有F個(gè)后端接口部(以下,稱為BEIF部)(在圖1中未圖示)。因此,N臺(tái)服務(wù)器111具有(NXF)個(gè)BEIF部。另外,各CTL131具有G個(gè)存儲(chǔ)端口 142。由于CTL131被H重化(在實(shí)施例1中H = 2),所以存儲(chǔ)控制模塊113具有(GXH)個(gè)存儲(chǔ)端口142。(NXF)與(GXH)可以為不同的值,但在實(shí)施例1中,(NXF)與(GXH)為相同的值,N=8、F = 2、G = N = 8、H = F = 2。各SVIF123所具有的兩個(gè)BEIF部分別與兩個(gè)CTL131的存儲(chǔ)端口 142連接。此外,H也可以不是2以上的整數(shù)而是I。另外,SVIF123不必須位于服務(wù)器111內(nèi),可以位于服務(wù)器111與控制器131之間,只要發(fā)揮在本實(shí)施例中說明的功能即可。若將SVIF123置于服務(wù)器111內(nèi),則能夠擔(dān)保服務(wù)器111與存儲(chǔ)設(shè)備112之間的冗余化,從而能夠提高可靠性。可以使一個(gè)服務(wù)器111具備多個(gè)SVIF123。
[0041]各CTL131具有P個(gè)MP141(p為I以上的整數(shù)),因此,存儲(chǔ)控制模塊113具有(P X H)個(gè)MP141。存儲(chǔ)控制模塊113通過具備多個(gè)MP141,能夠分散地處理多個(gè)服務(wù)器111的I/O處理,從而能夠期待提高響應(yīng)時(shí)間。(pXH)個(gè)MP1