国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      計算機系統(tǒng)及數(shù)據(jù)輸入輸出方法

      文檔序號:6496541閱讀:526來源:國知局
      計算機系統(tǒng)及數(shù)據(jù)輸入輸出方法
      【專利摘要】存儲裝置具有能夠與服務器通信的多個端口、多個處理器內(nèi)核、多個LU(Logical?Unit)。按每個端口決定受理端口所接收的I/O請求的處理器內(nèi)核即端口擔當內(nèi)核,按每個LU決定擔當I/O的處理器內(nèi)核即LU擔當內(nèi)核。LU擔當內(nèi)核動態(tài)地變更。服務器定期地從存儲裝置獲取LU擔當內(nèi)核的識別信息。服務器發(fā)送I/O請求的情況下,從通向由發(fā)送對象的I/O請求所指定的LU即I/O目標LU的多條路徑,選擇LU擔當內(nèi)核和端口擔當內(nèi)核為相同的處理器內(nèi)核的路徑即非交叉調(diào)用路徑,通過選擇的路徑發(fā)送發(fā)送對象的I/O請求。
      【專利說明】計算機系統(tǒng)及數(shù)據(jù)輸入輸出方法
      【技術(shù)領域】
      [0001]本發(fā)明涉及從服務器向存儲裝置內(nèi)的LlXLogical Unit:邏輯單元)的1/0(Input/Output:輸入輸出)。
      【背景技術(shù)】
      [0002]一般來說,計算機系統(tǒng)具有:具有LU的存儲裝置;與存儲裝置連接的服務器。服務器將用于輸入輸出數(shù)據(jù)的I/o請求發(fā)送到存儲裝置的LU。存儲裝置接收I/O請求,對于該I/O請求所指定的LU,輸入輸出根據(jù)該I/O請求的數(shù)據(jù)。LU是邏輯存儲設備,也被稱為邏輯卷。LU既可以是虛擬LU,也可以是實體LU。虛擬LU可以是例如根據(jù)Thin Provisioning(自動精簡配置)的LU,也可以是根據(jù)存儲虛擬化技術(shù)的LU (存儲裝置的外部的存儲裝置的存儲資源被虛擬化而成的LU)。實體LU是基于物理存儲設備(以下稱為PDEVM^ LU。例如,以由多個 F1DEV 構(gòu)成的 RAID (Redundant Array of Independent (or Inexpensive)Disks:獨立磁盤冗余陣列)組為基礎形成I個或多個實體LU。
      [0003]存在如下存儲裝置:具有多個處理器,決定哪個處理器擔當對于哪個LU的1/0。關(guān)于這樣的存儲裝置,公知一種技術(shù),根據(jù)處理器的負荷,變更擔當LU的處理器(例如,參照專利文獻I)。
      [0004]另外,還公知一種技術(shù),準備從服務器通向LU的多條路徑,通過控制從多條路徑選擇的路徑,來分散網(wǎng)絡的負荷及存儲裝置中的端口的負荷。 [0005]【現(xiàn)有技術(shù)文獻】
      [0006]【專利文獻】
      [0007]【專利文獻I】日本特開2008-269424號公報
      【發(fā)明內(nèi)容】

      [0008]從多條路徑被選擇的路徑例如以循環(huán)方式切換。由此,在決定了擔當LU的處理器(或處理器內(nèi)核)的存儲裝置中,有時會發(fā)生通過由服務器選擇的路徑受理了 I/o請求的處理器(或處理器內(nèi)核)、和擔當由該I/O請求所指定的LU的處理器(或處理器內(nèi)核)不同的情形。在該情形中,發(fā)生所謂的交叉調(diào)用。這里所謂的“交叉調(diào)用”是指,在處理器間(或處理器內(nèi)核間)授受1/0請求,即,1/0請求從受理了 1/0請求的處理器(或處理器內(nèi)核)被傳送到擔當由該I/o請求所指定的LU的處理器(或處理器內(nèi)核)。由于發(fā)生交叉調(diào)用,導致授受1/0請求的雙方的處理器(或處理器內(nèi)核)的性能降低。
      [0009]存儲裝置具有能夠與服務器通信的多個端口、多個處理器內(nèi)核、多個LU。按每個端口決定端口擔當內(nèi)核,按每個LU決定LU擔當內(nèi)核,其中,所述端口擔當內(nèi)核是受理端口所接收的1/0請求的處理器內(nèi)核,所述LU擔當內(nèi)核是擔當1/0的處理器內(nèi)核。LU擔當內(nèi)核動態(tài)地變更。服務器定期地從存儲裝置獲取LU擔當內(nèi)核的識別信息。服務器在發(fā)送1/0請求的情況下,從通向由發(fā)送對象的1/0請求所指定的LU即1/0目標LU的多條路徑,選擇LU擔當內(nèi)核和端口擔當內(nèi)核為相同的處理器內(nèi)核的路徑即非交叉調(diào)用路徑,通過選擇的路徑發(fā)送發(fā)送對象的I/O請求。
      【專利附圖】

      【附圖說明】
      [0010]圖1是表示實施方式的存儲裝置所具有的控制器的概要的圖。
      [0011]圖2是用于說明通向LU的I/O處理的一例的圖。
      [0012]圖3是用于說明內(nèi)核交叉調(diào)用的一例的圖。
      [0013]圖4是用于說明CPU交叉調(diào)用的一例的圖。
      [0014]圖5是用于說明交叉調(diào)用的一例的發(fā)生的圖。
      [0015]圖6是用于說明實施方式的計算機系統(tǒng)的概要的第一圖。
      [0016]圖7是用于說明實施方式的計算機系統(tǒng)的概要的第二圖。
      [0017]圖8是用于說明實施方式的計算機系統(tǒng)的概要的第三圖。
      [0018]圖9是用于說明實施方式的計算機系統(tǒng)的概要的第四圖。
      [0019]圖10是用于說明實施方式的計算機系統(tǒng)的概要的第五圖。
      [0020]圖11是用于說明實施方式的計算機系統(tǒng)的概要的第六圖。
      [0021]圖12是實施方式的計算機系統(tǒng)的結(jié)構(gòu)圖。
      [0022]圖13是表示實施方式的服務器I的路徑表的一例的圖。
      [0023]圖14是表不實施方式的服務器2的路徑表的一例的圖。
      [0024]圖15是表不實施方式的服務器3的路徑表的一例的圖。
      [0025]圖16是表不實施方式的服務器I的主路徑表的一例的圖。
      [0026]圖17是表不實施方式的服務器2的主路徑表的一例的圖。
      [0027]圖18是表不實施方式的服務器3的主路徑表的一例的圖。
      [0028]圖19是表不實施方式的主表的一例的圖。
      [0029]圖20是表不實施方式的交叉調(diào)用表的一例的圖。
      [0030]圖21是實施方式的路徑選擇處理的流程圖。
      [0031]圖22是實施方式的主路徑表更新處理的流程圖。
      【具體實施方式】
      [0032]參照【專利附圖】

      【附圖說明】實施方式。此外,以下說明的實施方式不限定權(quán)利請求書涉及的發(fā)明,另外,實施方式中說明的各要素及其組合的全部對于發(fā)明的解決手段來說不是必須的。
      [0033]此外,在以下的說明中,有時利用“aaa表”的表現(xiàn)說明各種信息,但各種信息也可以用表以外的數(shù)據(jù)構(gòu)造表現(xiàn)。為表達不依賴于數(shù)據(jù)構(gòu)造的情況,能夠?qū)ⅰ癮aa表”稱為“aaa
      信息”。
      [0034]而且,說明各信息的內(nèi)容時,使用“識別信息”、“標識符”、“名”、“名稱”、“ ID” “編
      號”這樣的表現(xiàn),但關(guān)于它們,能夠相互置換。
      [0035]另外,在以下的說明中,存在將“程序”作為主語進行說明的情況,但程序通過處理器(典型地來說,CPU (Central Processing Unit:中央處理器))執(zhí)行而一邊使用存儲器及通信端口一邊進行預定的處理,因此也可以采用將處理器作為主語的說明。另外,將程序作為主語公開的處理也可以為由服務器、存儲裝置等的計算機、信息處理裝置所進行的處理。另外,程序的一部分或全部也可以通過專用硬件實現(xiàn)。另外,各種程序也可以通過程序分發(fā)服務器或計算機可讀取的存儲介質(zhì)而安裝到各計算機。
      [0036]首先,對交叉調(diào)用進行說明。
      [0037]圖1是用于說明存儲裝置的控制器的概要的圖。
      [0038]存儲裝置具有I個以上的控制器210。控制器210具備CPU212,該CPU212具有多個(例如2個)CPU內(nèi)核(以下稱為內(nèi)核)212X、212Y。另外,控制器210具有用于對與服務器等的裝置之間的通信進行中繼的多個(例如,8個)通信端口(以下稱為端口)211。在控制器210中,使用端口 A?D的通信處理由內(nèi)核212Χ (也稱為Core-X)擔當,使用端口 E?H的通信處理由內(nèi)核212Υ (也稱為Core-Y)擔當。
      [0039]圖2是用于說明相對于LU的I/O的一例的圖。
      [0040]圖2中作為LU220的一例示出了 LU6。擔當對LU6的I/O處理的內(nèi)核是O系列的控制器2IOA的Core-X (內(nèi)核212ΑΧ)。另外,按每個端口 211,決定擔當?shù)膬?nèi)核。
      [0041]端口 A接收對LU6的I/O請求時(圖2的(I )),擔當端口 A的內(nèi)核212ΑΧ受理該I/O請求(圖2的(2))。這里,擔當LU6的內(nèi)核212ΑΧ受理了 I/O請求,從而不發(fā)生交叉調(diào)用。SP,內(nèi)核212ΑΧ按照該I/O請求執(zhí)行對LU6的1/0,不需要將該I/O請求向其他內(nèi)核傳送(圖2 的(3))。
      [0042]圖3是用于說明內(nèi)核交叉調(diào)用的一例的圖。
      [0043]內(nèi)核交叉調(diào)用是指內(nèi)核間的交叉調(diào)用。在圖3中,擔當LU6的內(nèi)核是O系列的控制器 210Α 的 Core-X (內(nèi)核 212ΑΧ)。
      [0044]這里,端口 E接收指定了 LU6的I/O請求時(圖3的(I)),擔當端口 E的內(nèi)核212ΑΥ受理該I/O請求(圖3的(2))。這里,擔當LU6的內(nèi)核不是受理了 I/O請求的內(nèi)核212ΑΥ,而是其他內(nèi)核212ΑΧ。由此,在I個CPU212中,發(fā)生內(nèi)核交叉調(diào)用。即,I/O請求從內(nèi)核212ΑΥ向內(nèi)核212ΑΧ交付(圖3的(3))。受理了 I/O請求的內(nèi)核212ΑΧ對LU6執(zhí)行I/O (圖中(4))。像這樣,發(fā)生內(nèi)核交叉調(diào)用時,用于授受I/O請求的負荷施加于雙方的內(nèi)核212ΑΧ及212ΑΥ。此外,內(nèi)核交叉調(diào)用與后述的CPU交叉調(diào)用相比,對于CPU的負荷更低。
      [0045]圖4是用于說明CPU交叉調(diào)用的一例的圖。
      [0046]CPU交叉調(diào)用是指CPU間的交叉調(diào)用。在同一控制器中,若還發(fā)生CPU交叉調(diào)用,則在控制器間也發(fā)生CPU交叉調(diào)用。在以下的說明中,“交叉調(diào)用”這樣的記載是指內(nèi)核交叉調(diào)用和CPU交叉調(diào)用雙方。
      [0047]在圖4中,在存儲裝置中,存在O系列控制器210Α和I系列控制器210Β這兩個,擔當LU6的內(nèi)核是O系列控制器210Α的Core-X (內(nèi)核212ΑΧ),擔當LU7的內(nèi)核是I系列控制器210Β的Core-Y (內(nèi)核212ΒΥ)。
      [0048]O系列控制器210Α的端口 F接收指定了 LU7的I/O請求時(圖4的(1)),擔當端口 F的內(nèi)核212ΑΥ受理該I/0請求(圖4的(2 ))。這里,擔當LU7的內(nèi)核不是受理了 I/0請求的內(nèi)核212ΑΥ,而是I系列控制器210Β的內(nèi)核212ΒΥ。由此,發(fā)生CPU交叉調(diào)用。S卩,I/O請求從具有內(nèi)核212ΑΥ的CPU被傳送到其他CPU的內(nèi)核212ΒΥ (圖4的(3))。受理了 I/O請求的內(nèi)核212ΒΥ對LU7執(zhí)行I/O (圖4的⑷)。
      [0049]另一方面,I系列控制器2IOB的端口 A接收指定了 LU6的I/O請求時(圖4的(5)),擔當端口 A的內(nèi)核212ΒΧ受理該I/O請求(圖4的(6))。這里,擔當LU6的內(nèi)核不是受理了I/O請求的內(nèi)核212ΒΧ,而是O系列控制器210Α的內(nèi)核212ΑΧ。由此,發(fā)生CPU交叉調(diào)用。即,I/O請求從具有內(nèi)核212BX的CPU被傳送到具有其他內(nèi)核212AX的CPU (圖4的(7))。受理了 I/O請求的內(nèi)核212AX對LU6執(zhí)行I/O (圖4的(8))。
      [0050]如上所述,發(fā)生CPU交叉調(diào)用時,用于執(zhí)行CPU交叉調(diào)用的負荷施加于雙方的CPU。
      [0051]圖5是用于說明交叉調(diào)用的一例的發(fā)生的圖。
      [0052]服務器1000通過例如光纖電纜與多個(例如2個)開關(guān)150A、150B (FC-SffUFC-SW2)連接,2個開關(guān)150AU50B通過例如光纖電纜與存儲裝置200連接。
      [0053]如該圖所示,在計算機系統(tǒng)中,作為通向LU6的路徑,例如準備了:經(jīng)由服務器1000的HBAl、FC-SWUO系列控制器2IOA的端口 D的路徑;經(jīng)由服務器1000的HBA2、FC-Sff2U系列控制器210B的端口 A的路徑。
      [0054]利用服務器1000的CPU執(zhí)行應用程序(以下稱為應用111)和多路徑管理程序1010。應用111發(fā)出例如指定了 LU6的I/O請求。多路徑管理程序1010從通向同一 LU6的多條路徑,選擇使從應用111發(fā)出的I/O請求(指定了 LU6的I/O請求)經(jīng)由的路徑。多路徑管理程序1010例如以循環(huán)方式從多條路徑選擇I條路徑,使用所選擇的路徑,發(fā)送從應用111發(fā)出的I/O請求。由此,指定了 LU6的I/O請求能夠從通向LU6的2條路徑中的任意一方到達存儲裝置200。
      [0055]這里,在存儲裝置200中,擔當LU6的內(nèi)核是O系列控制器210A的Core-X (內(nèi)核212AX)。
      [0056]該情況下,從應用111發(fā)出的I/O請求被傳遞到多路徑管理程序1010 (圖5的
      (1)),并通過多路徑管理程序1010選擇該I/O請求所經(jīng)由的路徑。
      [0057]將經(jīng)由HBA1、FC-Sffl及O系列控制器210A的端口 D的路徑選擇為指定了 LU6的I/o請求所經(jīng)由的路徑的情況下,多路徑管理程序1010使I/O請求向HBAl交付(圖5的
      (2))。交付到HBAl的I/O請求從HBAl被發(fā)送到FC-SWl(圖5的(3)),并從FC-Sffl被發(fā)送到O系列控制器210A的端口 D (圖5的(4))。
      [0058]端口 D接收指定了 LU6的I/O請求的、擔當端口 D的內(nèi)核212AX受理該I/O請求(圖5的(5))。這里,擔當LU6的內(nèi)核是受理了 I/O請求的內(nèi)核212AX,從而不發(fā)生交叉調(diào)用,內(nèi)核212AX對LU6執(zhí)行I/O (圖5的(6))。
      [0059]另一方面,將經(jīng)由HBA2、FC_SW2及I系列控制器210B的端口 A的路徑選擇為指定了 LU6的I/O請求所經(jīng)由的路徑的情況下,多路徑管理程序1010使該I/O請求向HBA2交付(圖5的(11))。交付到HBA2的I/O請求從HBA2被發(fā)送到FC-SW2 (圖5的(12)),并從FC-SW2被發(fā)送到I系列控制器210B的端口 A (圖5的(13))。
      [0060]I系列控制器210B的端口 A接收指定了 LU6的I/O請求時,擔當端口 A的內(nèi)核212BX受理該I/O請求(圖5的(14))。這里,擔當LU6的內(nèi)核不是受理了 I/O請求的內(nèi)核212BX,而是內(nèi)核212AX。由此,發(fā)生CPU交叉調(diào)用。S卩,I/O請求從內(nèi)核212BX的CPU被傳送到內(nèi)核212AX的CPU (圖5的(15))。受理了 I/O請求的內(nèi)核212AX對LU6執(zhí)行I/O (圖5 的(16))。
      [0061]在本實施方式的計算機系統(tǒng)中,以盡量不發(fā)生上述交叉調(diào)用的方式進行控制。以下,對該計算機系統(tǒng)的概要進行說明。
      [0062]圖6是用于說明實施方式的計算機系統(tǒng)的概要的第一圖。
      [0063]作為通向LU6的路徑,例如準備了:經(jīng)由服務器100的HBA1、FC_SW1、0系列控制器210A的端口 D的路徑Pl ;經(jīng)由服務器的HBA2、FC-SW2、1系列控制器210B的端口 A的路徑P2。
      [0064]多路徑管理程序112預先從存儲裝置200獲取表示哪個控制器及內(nèi)核擔當哪個LU的信息并存儲在服務器100內(nèi)的存儲資源(例如存儲器)。多路徑管理程序112基于該信息,從通向由來自應用111的I/O請求所指定的LU的多條路徑,選擇即使I/O請求經(jīng)由也不發(fā)生交叉調(diào)用的路徑(以下稱為非交叉調(diào)用路徑)。在該圖所示的例子中,發(fā)送指定了 LU6的I/O請求的情況下,多路徑管理程序112選擇非交叉調(diào)用路徑。LU6的非交叉調(diào)用路徑是通向LU6的路徑Pl及P2中的、經(jīng)由了擔當LU6的內(nèi)核212AX所擔當?shù)亩丝?D的路徑P1。也就是說,非交叉調(diào)用路徑Pl是受理路徑Pl所經(jīng)由的端口 D所接收的I/O請求的內(nèi)核和LU6的擔當內(nèi)核相同的路徑。由此,能夠避免交叉調(diào)用的發(fā)生。
      [0065]圖7是用于說明實施方式的計算機系統(tǒng)的概要的第二圖。
      [0066]通向由來自應用111的I/O請求所指定的LU220的多條路徑具有多條非交叉調(diào)用路徑(在圖7的例子中,經(jīng)由端口 C的路徑P3、經(jīng)由端口 D的路徑P4)的情況下,多路徑管理程序112可以根據(jù)循環(huán)方式等規(guī)定的方式使從多個非交叉調(diào)用路徑選擇的非交叉調(diào)用路徑不同。
      [0067]以下,對在存儲裝置200中發(fā)生故障的情況下進行的處理的概要及該故障恢復的情況下進行的處理的概要進行說明。
      [0068]圖8是用于說明實施方式的計算機系統(tǒng)的概要的第三圖。圖9是用于說明實施方式的計算機系統(tǒng)的概要的第四圖。圖10是用于說明實施方式的計算機系統(tǒng)的概要的第五圖。圖11是用于說明實施方式的計算機系統(tǒng)的概要的第六圖。
      [0069]如圖8所示,多路徑管理程序112使用路徑P5發(fā)送I/O請求的情況下,在O系列控制器210A中發(fā)生了故障的情況下,多路徑管理程序112如圖9所示地選擇對I系列控制器210B發(fā)送I/O請求的路徑(例如路徑P6)。
      [0070]在O系列控制器2IOA中發(fā)生故障的情況下,在存儲裝置200中,如圖9所示,I系列控制器210B的內(nèi)核(例如,內(nèi)核212BX)代替O系列控制器210A的內(nèi)核而被設定為LU6的擔當內(nèi)核。
      [0071]這里,存儲裝置200的O系列控制器210A已從故障恢復的情況下,如圖10所示,通過負荷監(jiān)視設備230,監(jiān)視各控制器(210A、210B)的負荷,為了使各控制器的負荷分散,例如,使LU6的擔當內(nèi)核恢復為內(nèi)核212AX。
      [0072]在擔當內(nèi)核剛被變更之后,I/O請求從服務器100通過路徑P7被發(fā)送,從而I系列控制器210B的內(nèi)核212BX接收該I/O請求,發(fā)生CPU交叉調(diào)用(I/O請求從內(nèi)核212BX被傳送到擔當LU6的內(nèi)核212AX)。服務器100獲取表示哪個內(nèi)核擔當對哪個LU的I/O的信息(以下稱為擔當內(nèi)核特定信息)。由此,服務器100獲取對LU6的擔當變更后的內(nèi)核進行特定的信息(控制器編號及內(nèi)核編號)。
      [0073]像這樣,在獲取了對變更后的內(nèi)核進行特定的信息之后,多路徑管理程序112如圖11所示地作為用于發(fā)送指定了 LU6的I/O請求的路徑,選擇非交叉調(diào)用路徑P8,該I/O請求被發(fā)送到擔當LU6的內(nèi)核212AX。由此,避免交叉調(diào)用。
      [0074]以下,詳細說明實施方式的計算機系統(tǒng)。
      [0075]圖12是實施方式的計算機系統(tǒng)的結(jié)構(gòu)圖。[0076]計算機系統(tǒng)具有I個以上的服務器100、I個以上的存儲裝置200、連接I個以上的服務器100及I個以上的存儲裝置200的多個開關(guān)150 (150AU50B)。服務器100和開關(guān)150例如通過光纖電纜被連接。另外,開關(guān)150和存儲裝置200例如通過光纖電纜被連接。
      [0077]開關(guān)150是例如將與光纖通道對應的設備(服務器100、存儲裝置200等)相互連接起來的開關(guān)。在本實施方式中,開關(guān)150AU50B分別與多個服務器100連接。另外,開關(guān)150A與存儲裝置200的O系列控制器210A的多個端口 21IA連接。另外,開關(guān)150B與存儲裝置200的I系列控制器210B的多個端口 211B連接。
      [0078]服務器100具有通信接口設備、存儲設備及與它們連接的控制設備。通信接口設備是例如HBA (Host Bus Adapter:主機總線適配器)130。HBA130設有多個。存儲設備是例如存儲器110??刂圃O備是例如CPU120。
      [0079]存儲器110存儲應用111、多路徑管理程序112、路徑表113、主路徑表114。
      [0080]應用111是用于執(zhí)行規(guī)定的業(yè)務處理的程序,發(fā)出與業(yè)務處理相關(guān)的數(shù)據(jù)的I/O請求,即,對于存儲裝置200的LU220 (嚴密來說,例如,通過安裝LU220而識別的邏輯存儲設備)的I/O請求。多路徑管理程序112實現(xiàn)如下功能:從通向由來自應用111的I/O請求所指定的LU的多條路徑中選擇I條路徑的功能;在檢測到要選擇的路徑的故障時選擇與該路徑不同的路徑并通過該選擇的路徑發(fā)送I/O請求的功能;適當?shù)刈兏鼜亩鄺l路徑選擇的路徑的功能;閉塞任意的路徑的功能等。路徑表113具有與通向LU220的路徑相關(guān)的彳目息。主路徑表114具有對擔當LU220的控制器及內(nèi)核進行特定的信息(擔當內(nèi)核特定信息)。
      [0081]CPU120通過執(zhí)行存儲在存儲器110中的程序,執(zhí)行各種處理。此時,適當?shù)貐⒖急?13 及 114。
      [0082]HBA130是與光纖通道對應的適配器,對與外部的裝置(存儲裝置200等)之間的通信進行中繼。此外,在對服務器100內(nèi)的HBA130進行區(qū)分時,有時記作“HBA1”、“HBA2”。在本實施方式中,HBAl與開關(guān)150Α連接,ΗΒΑ2與開關(guān)150Β連接。
      [0083]存儲裝置200具有多個控制器210 (O系列控制器210Α、I系列控制器210Β)、多個LU220、負荷監(jiān)視設備230、公共存儲器設備240、多個TOEV?;诙鄠€I3DEV的存儲區(qū)域可以是多個LU220中的任意一方的實體LU,也可以是被分配給多個LU220中的虛擬LU的存儲區(qū)域。
      [0084]公共存儲器設備240存儲主表241、交叉調(diào)用表242和負荷監(jiān)視控制程序243。主表241是用于對擔當對于LU220的I/O處理的內(nèi)核進行管理的表。交叉調(diào)用表242具有與發(fā)生的交叉調(diào)用相關(guān)的信息。負荷監(jiān)視控制程序243是用于定期或不定期地執(zhí)行負荷監(jiān)視處理的程序。負荷監(jiān)視處理例如可以包括如下處理:對各控制器210的負荷(例如使用率)進行特定;根據(jù)特定出的負荷,變更擔當LU220的內(nèi)核;根據(jù)LU220的擔當內(nèi)核的變更,更新主表241。在本實施方式中,負荷監(jiān)視控制程序243以使各內(nèi)核的使用率均衡的方式,決定哪個內(nèi)核擔當哪個LU220。
      [0085]負荷監(jiān)視設備230具有CPU231。此外,也可以代替CPU231,使用控制器210的CPU212(也就是說,也可以沒有CPU231,至少I個的CPU212除了執(zhí)行對于LU的I/O以外,還執(zhí)行負荷監(jiān)視處理)。CPU231執(zhí)行存儲在公共存儲器設備240中的負荷監(jiān)視控制程序243,由此執(zhí)行負荷監(jiān)視處理。
      [0086]LU220如上所述地既可以是虛擬LU也可以是實體LU。實體LU也可以是基于由多個I3DEV構(gòu)成的RAID組的LU。
      [0087]在該圖中,作為向SVl(服務器 I)提供的 LU220 有 LU0(LDEV0010)、LUl(LDEVOO11)、LU2(LDEV0012)o 作為向 SV2(服務器 2)提供的 LU220 有 LU10(LDEV0020)、LU11(LDEV0021)、LU12 (LDEV0022)。另外,作為向 SV3 (服務器 3)提供的 LU220 有 LU20 (LDEV0030)、LU21(LDEV0031)、LU22 (LDEV0032)。此外,“LDEV”是邏輯存儲設備,實質(zhì)上與LU相同。具體來說,在本實施方式中,存儲裝置關(guān)于LU,具有作為從服務器指定的識別信息的LU編號、和作為存儲裝置內(nèi)部使用的識別信息的LDEV編號。
      [0088]O系列控制器210A具有多個(例如,A~H這8個)端口 211A和CPU212A。此外,I系列控制器210B也采用與O系列控制器210A同樣的結(jié)構(gòu),這里,省略說明。
      [0089]端口 211A是與光纖通道對應的端口(CHA端口),對與其他裝置之間的通信進行中繼。這里,區(qū)分多個端口來說明的情況下,有時記作端口 Α、Β...Η。
      [0090]CPU212Α具有多個內(nèi)核212ΑΧ、內(nèi)核212Αy。此外,有時將各內(nèi)核212ΑΧ、212Αy分別記作“Core-X”、“Core-Y”。內(nèi)核212AX、內(nèi)核212AY能夠分別獨立地工作,例如,執(zhí)行使用端口 211A的通信處理、對于LU220的I/O。在本實施方式中,對各內(nèi)核,確定擔當?shù)亩丝诤蛽數(shù)腖U。換言之,按每個端口確定端口擔當內(nèi)核,按每個LU確定LU擔當內(nèi)核,其中,端口擔當內(nèi)核是受理端口所接收的I/O請求的內(nèi)核,LU擔當內(nèi)核是執(zhí)行對LU的I/O的內(nèi)核。具體來說,端口 A~D的端口擔當內(nèi)核是內(nèi)核212AX,端口 E~H的端口擔當內(nèi)核是內(nèi)核212AY。
      [0091]各內(nèi)核212AX、212AY能夠通信地與TOEV連接,在對LU的I/O時,將I/O請求發(fā)送到具有與I/o目標的LU區(qū)域(LU中的區(qū)域)對應的物理存儲區(qū)域(PDEV中的存儲區(qū)域)的PDEV0但是,在本實施方式中,對于I/O目標的LU220,該LU220的LU擔當內(nèi)核執(zhí)行I/O。LU擔當內(nèi)核能夠通過負荷監(jiān)視設備230的控制而變更。
      [0092]圖13是表示實施方式的服務器I的路徑表的一例的圖。圖14是表示實施方式的服務器2的路徑表的一例的圖。圖15是表示實施方式的服務器3的路徑表的一例的圖。此外,服務器1、服務器2、服務器3的路徑表的結(jié)構(gòu)是相同的,存儲在路徑表中的信息是與各個服務器對應的信息。
      [0093]路徑表113按每條路徑具有下述信息,
      [0094](* )唯一地識別路徑的ID即路徑ID113a ;
      [0095](*)表示具有路徑所經(jīng)由的端口的存儲裝置200的供應商名的供應商名113b ;
      [0096](*)表示具有路徑所經(jīng)由的端口的存儲裝置200的產(chǎn)品名的產(chǎn)品名113c ;
      [0097](*)表示具有路徑所經(jīng)由的端口的存儲裝置200的產(chǎn)品編號的制造編號113d ;
      [0098](*)與路徑相連的LU220的LU編號即LU編號113e ;
      [0099](* )與路徑相連的LU220的LDEV編號即LDEV編號113f ;
      [0100](* )表示路徑的狀態(tài)的路徑狀態(tài)113g ;
      [0101](* )路徑所經(jīng)由的端口的編號即CHA端口 113h ;
      [0102](*)具有路徑所經(jīng)由的端口的端口擔當內(nèi)核的控制器的編號即受理控制器編號113? ;及
      [0103](*)路徑所經(jīng)由的端口的端口擔當內(nèi)核的編號即端口擔當內(nèi)核編號113J。
      [0104]作為路徑狀態(tài)113g的值例如有表示路徑能夠使用的“Online”、和表示路徑不能使用的“Offline”。另外,作為端口擔當內(nèi)核編號113J的值例如有表示Core-X的“X”和表示 Core-Y 的 “Y”。
      [0105]這里,對收集路徑表113所具有的各種信息的方法的一例進行說明。
      [0106]例如,在服務器100的起動時等的規(guī)定的情形中,服務器100的未圖示的OS(Operating System:操作系統(tǒng))從HBA130向存儲裝置200所具有的各端口發(fā)送LU —覽信息的獲取請求。作為對于該獲取請求的響應,包含LU —覽信息的響應從存儲裝置200被發(fā)送到服務器100。LU —覽信息包含與接收了獲取請求的端口附帶關(guān)聯(lián)的LU相關(guān)的信息(包含供應商名、產(chǎn)品名、產(chǎn)品編號、LU編號、LDEV編號等的信息)。然后,多路徑管理程序112發(fā)送包含所獲取的LU —覽信息所具有的LU編號的查詢請求(例如Inquiry指令)。作為對于查詢請求的響應,包含受理了查詢請求的端口的端口擔當內(nèi)核的識別信息(受理控制器編號和端口擔當內(nèi)核編號)、和從查詢請求所含有的LU編號識別的LU的LU擔當內(nèi)核的識別信息在內(nèi)的響應從存儲裝置200被發(fā)送到服務器100。多路徑管理程序112將LU —覽信息所含有的信息和查詢請求的響應所含有的信息存儲在路徑表113中。此外,多路徑管理程序112在通向由查詢請求所指定的LU的多條路徑中包含交叉調(diào)用路徑及非交叉調(diào)用路徑的情況下,選擇交叉調(diào)用路徑,并通過交叉調(diào)用路徑獲取查詢請求。這是因為非交叉調(diào)用路徑在I/O請求的發(fā)送時被優(yōu)選使用。交叉調(diào)用路徑是指發(fā)生交叉調(diào)用的路徑。具體來說,作為交叉調(diào)用路徑,具有LU擔當內(nèi)核和端口擔當內(nèi)核不同但位于同一 CPU的內(nèi)核交叉調(diào)用路徑、和LU擔當內(nèi)核和端口擔當內(nèi)核位于不同的CPU的CPU交叉調(diào)用路徑。非交叉調(diào)用路徑是指LU擔當內(nèi)核和端口擔當內(nèi)核相同的路徑。
      [0107]根據(jù)路徑表113的例子,存儲裝置的識別信息由供應商名、產(chǎn)品名及制造編號構(gòu)成。此外,存儲裝置200的供應商名是“HIT”,產(chǎn)品名是“600F”,產(chǎn)品編號是“9300080”。另夕卜,根據(jù)圖13所示的路徑表113的例子,作為通向LUO的路徑,有路徑ID“ 00001”、“ 00004”、“00007”、“00010”所示的4條路徑。例如,路徑“00001”是經(jīng)由端口 “0A” (O系列控制器211A的端口 A)的路徑,端口 “0A”的端口擔當內(nèi)核是O系列控制器210A的內(nèi)核212AX。另夕卜,路徑“00007”是經(jīng)由端口 “ 1A” (I系列控制器211B的端口 A)的路徑,端口 “ 1A”的端口擔當內(nèi)核是I系列控制器210B的內(nèi)核212BX。
      [0108]圖16是表示實施方式的服務器I的主路徑表的一例的圖。圖17是表示實施方式的服務器2的主路徑表的一例的圖。圖18是表示實施方式的服務器3的主路徑表的一例的圖。此外,服務器1、服務器2、服務器3的主路徑表的結(jié)構(gòu)是相同的,存儲在主路徑表中的信息成為與各個服務器對應的信息。
      [0109]主路徑表114按每條路徑具有下述信息:
      [0110]U )表示存儲裝置200的供應商名的供應商名114a ;
      [0111](*)表示存儲裝置200的產(chǎn)品名的產(chǎn)品名114b ;
      [0112](*)表示存儲裝置200的產(chǎn)品編號的產(chǎn)品編號114c ;
      [0113](*)表示與路徑相連的LU的LDEV編號的LDEV編號114d ;
      [0114](*)表示具有與路徑相連的LU的LU擔當內(nèi)核的控制器(主控制器)的編號的控制器編號114e ;
      [0115](*)表示與路徑相連的LU的LU擔當內(nèi)核的編號的LU擔當內(nèi)核編號114f ;及,
      [0116](*)表示路徑選擇處理(參照圖21)的步驟S2以后的處理對于路徑選擇的執(zhí)行是有效還是無效的信息的I/O路徑控制114g。[0117]例如,使用服務器100中的輸入裝置指定有效或無效的設定信息時,多路徑管理程序112將該被指定的設定信息作為I/O路徑控制114g存儲在主路徑表114。此外,設定信息可以對每個LU進行指定,也可以作為對于多個LU而言的共用信息來指定。
      [0118]這里,根據(jù)主路徑表114及路徑表113,能夠?qū)Σ话l(fā)生交叉調(diào)用的路徑進行特定。例如,根據(jù)服務器I所存儲的圖16所示的主路徑表114及圖13所示的路徑表113,使用路徑ID為“00001”、“00005”、“00009”的路徑發(fā)送I/O請求的情況下,由于LU擔當內(nèi)核和端口擔當內(nèi)核相同,所以可知內(nèi)核交叉調(diào)用及CPU交叉調(diào)用都沒有發(fā)生。同樣地,根據(jù)服務器2所存儲的圖17所示的主路徑表114及圖14所示的路徑表113,使用路徑ID為“00002”、“00006”、“00010”的路徑發(fā)送I/O請求的情況下,由于LU擔當內(nèi)核和端口擔當內(nèi)核相同,所以可知內(nèi)核交叉調(diào)用及CPU交叉調(diào)用都沒有發(fā)生。另外,根據(jù)服務器3所存儲的圖18所示的主路徑表114及圖15所示的路徑表113,使用路徑ID為“00003”、“00007”、“00011”的路徑發(fā)送I/O請求的情況下,由于LU擔當內(nèi)核和端口擔當內(nèi)核相同,所以可知內(nèi)核交叉調(diào)用及CPU交叉調(diào)用都沒有發(fā)生。
      [0119]圖19是表不實施方式的主表的一例的圖。
      [0120]主表241按每個LU具有下述信息:
      [0121](* )表示LU的LDEV編號的LDEV編號241a ;
      [0122]U )表示具有LU的LU擔當內(nèi)核的控制器的編號的控制器編號241b '及,
      [0123]U )表示LU的LU擔當內(nèi)核的編號的LU擔當內(nèi)核編號241c。
      [0124]根據(jù)主表241,可知例如LU “0010”通過控制器“O” (O系列控制器210A)的內(nèi)核“X”(內(nèi)核 212AX)執(zhí)行 I/O。
      [0125]圖20是表不實施方式的交叉調(diào)用表的一例的圖。
      [0126]交叉調(diào)用表242按每個被執(zhí)行的交叉調(diào)用具有下述信息:
      [0127](*)唯一地表不交叉調(diào)用的編號即受理編號242a ;
      [0128](*)表示發(fā)生了交叉調(diào)用的I/O請求所指定的LU220的LDEV編號的LDEV編號242b ;
      [0129](*)受理發(fā)生了交叉調(diào)用的I/O請求的控制器的編號即受理控制器編號242c ;
      [0130](*)表示受理發(fā)生了交叉調(diào)用的I/O請求的端口擔當內(nèi)核的編號的端口擔當內(nèi)核編號242d ;
      [0131](*)表不具有如下內(nèi)核的控制器的編號的處理控制器編號242e,該內(nèi)核對于發(fā)生了交叉調(diào)用的I/O請求所指定的LU220執(zhí)行I/O ;及,
      [0132](*)表示如下內(nèi)核的編號的處理LU擔當內(nèi)核編號242f,該內(nèi)核對于發(fā)生了交叉調(diào)用的I/o請求所指定的LU220執(zhí)行I/O。
      [0133]根據(jù)交叉調(diào)用表242,可知交叉調(diào)用“000001”的I/O目標為LU “0010”,I/O請求通過I系列控制器21OB的內(nèi)核212BY而被受理,并通過O系列控制器21OA的內(nèi)核212AX執(zhí)行I/O。這還表示,由內(nèi)核212AX執(zhí)行的I/O的結(jié)果返回到內(nèi)核212BY,通過內(nèi)核212BY被發(fā)送到I/O請求的發(fā)送源。也就是說,交叉調(diào)用表242被用于通過與I/O請求根據(jù)交叉調(diào)用流動的路線相同的路線來反饋響應。
      [0134]以下,對本實施方式中的計算機系統(tǒng)執(zhí)行的處理進行說明。
      [0135]首先,對使用了存儲裝置200中的內(nèi)核212AX、212AY、212BX、212BY的主表241及交叉調(diào)用表242的處理進行說明。
      [0136]端口擔當內(nèi)核(例如,212AX、212AY、212BX及212BY的任意一方)從擔當?shù)亩丝?211A或211B)受理了 I/O請求的情況下,參照主表241,對I/O目標LU (I/O請求所指定的LU) 220的LU擔當內(nèi)核(擔當對該LU220的I/O的控制器的內(nèi)核)進行特定。
      [0137]其結(jié)果為,在被特定出的LU擔當內(nèi)核是端口擔當內(nèi)核的情況下,該端口擔當內(nèi)核對I/O目標LU220執(zhí)行I/O。另一方面,被特定出的LU擔當內(nèi)核不是該端口擔當內(nèi)核的情況下,該端口擔當內(nèi)核進行下述處理:
      [0138](*)向交叉調(diào)用表242追加新的記錄;
      [0139](*)對該記錄,作為受理控制器編號242c設定具有該端口擔當內(nèi)核的控制器的編號;
      [0140](*)對該記錄,作為端口擔當內(nèi)核編號242d設定該端口擔當內(nèi)核的編號;
      [0141](*)對該記錄,作為處理控制器編號242e設定具有被特定出的LU擔當內(nèi)核的控制器的編號;
      [0142](* )對該記錄,作為處理LU擔當內(nèi)核編號242f設定被特定出的LU擔當內(nèi)核的編號;
      [0143](±)使受理的I/O請求向被特定出的LU擔當內(nèi)核交付。
      [0144]受理了 I/O請求的LU擔當內(nèi)核對I/O目標LU220執(zhí)行與I/O請求相應的I/O。LU擔當內(nèi)核參考交叉調(diào)用表242,使處理結(jié)果交付到該I/O請求的傳送源的端口擔當內(nèi)核。受理了處理結(jié)果的內(nèi)核通過該內(nèi)核擔當?shù)亩丝?接收了 I/O請求的端口),向I/O請求的發(fā)送源的服務器100發(fā)送包含處理結(jié)果的響應。
      [0145]以下,關(guān)于服務器100的處理進行說明。
      [0146]圖21是實施方式的路徑選擇處理的流程圖。
      [0147]路徑選擇處理在服務器100的多路徑管理程序112從應用111受理了 I/O請求的情況下執(zhí)行。
      [0148]多路徑管理程序112從主路徑表114檢索與I/O目標LU (I/O請求所指定的LU)的LU編號對應的LDEV編號一致的記錄,并從該記錄獲取控制器編號和LU擔當內(nèi)核編號(步驟SI)。此外,步驟S2以后的處理在該記錄的I/O路徑控制114g的值為有效(ON)的情況下執(zhí)行。在該記錄的I/O路徑控制114g的值為無效(OFF)的情況下,多路徑管理程序112例如按照循環(huán)方式等規(guī)定的規(guī)則選擇路徑為:表示路徑表113的路徑狀態(tài)113g為Online的記錄且I/O目標LU的LDEV編號一致的記錄的路徑。
      [0149]在步驟S2中,多路徑管理程序112判斷路徑表113是否具有滿足下述全部條件的記錄:
      [0150](*)路徑狀態(tài) 113g 為 Online ;
      [0151](*)具有與對應于I/O目標LU的供應商名、產(chǎn)品編號及LDEV編號一致的供應商名113b、產(chǎn)品編號113c及LDEV編號113d ;
      [0152](*)具有與步驟SI中獲取的控制器編號及LU擔當內(nèi)核編號一致的控制器編號113i及LU擔當內(nèi)核編號113j。
      [0153]在步驟S2中,在具有一致的記錄的情況下(步驟S2中為“是”),表示該路徑是非交叉調(diào)用路徑(I/O目標LU的LU擔當內(nèi)核和該路徑所經(jīng)由的端口的端口擔當內(nèi)核相同的路徑)。由此,多路徑管理程序112將該路徑選擇為發(fā)送I/O請求時使用的路徑(步驟S5)。然后,多路徑管理程序112通過該路徑發(fā)送I/O請求。由此,該I/O請求的處理時,能夠避免發(fā)生交叉調(diào)用。
      [0154]另一方面,在步驟S2中,不具有一致的記錄的情況下(步驟S2中為“否”),多路徑管理程序112判斷路徑表113是否具有滿足下述全部條件的記錄:
      [0155](*)路徑狀態(tài) 113g 為 Online ;
      [0156](*)具有與對應于I/O目標LU的供應商名、產(chǎn)品編號及LDEV編號一致的供應商名113b、產(chǎn)品編號113c及LDEV編號113d ;
      [0157](*)具有與步驟SI中獲取的控制器編號一致的控制器編號113i (步驟S3)。
      [0158]在步驟S3中,在具有一致的記錄的情況下(步驟S3中為“是”),表示該路徑是內(nèi)核交叉調(diào)用路徑(I/O目標LU的LU擔當內(nèi)核和該路徑所經(jīng)由的端口的端口擔當內(nèi)核不同但這些內(nèi)核位于同一 CPU內(nèi)的路徑)。由此,多路徑管理程序112將該路徑選擇為發(fā)送I/O請求時使用的路徑(步驟S5)。然后,多路徑管理程序112通過該路徑發(fā)送I/O請求。由此,發(fā)送了 I/O請求的情況下,在存儲裝置200中,雖然發(fā)生內(nèi)核交叉調(diào)用,但能夠避免負荷比其高的CPU交叉調(diào)用的發(fā)生。
      [0159]另一方面,在步驟S3中,不具有一致的記錄情況下(步驟S3中為“否”),多路徑管理程序112判斷路徑表113是否具有滿足下述全部條件的記錄:
      [0160](幻路徑狀態(tài)113g為Online;
      [0161](*)具有與對應于I/O目標LU的供應商名、產(chǎn)品編號及LDEV編號一致的供應商名113b、產(chǎn)品編號113c及LDEV編號113d (步驟S4)。
      [0162]在步驟S4中,在具有一致的記錄的情況下(步驟S4中為“是”),多路徑管理程序112將該路徑選擇為發(fā)送I/O請求時使用的路徑(步驟S5)。然后,多路徑管理程序112利用該路徑發(fā)送I/O請求。由此,在發(fā)送了 I/O請求的情況下,在存儲裝置200中,發(fā)生CPU交叉調(diào)用。
      [0163]另一方面,在步驟S4中,不具有一致的記錄的情況下(步驟S4中為“否”),由于不存在通向I/O目標LU220的路徑,所以多路徑管理程序112向I/O請求的發(fā)送源的應用111響應錯誤(步驟S6)。
      [0164]根據(jù)上述路徑選擇處理,非交叉調(diào)用路徑優(yōu)先被特定且選擇,若沒有非交叉調(diào)用路徑,則內(nèi)核交叉調(diào)用路徑優(yōu)先被特定且選擇,若沒有非交叉調(diào)用路徑及內(nèi)核交叉調(diào)用路徑,則選擇CPU內(nèi)核交叉調(diào)用路徑。
      [0165]圖22是實施方式的主路徑表更新處理的流程圖。
      [0166]主路徑表更新處理例如在應用111的執(zhí)行時等被執(zhí)行。
      [0167]在經(jīng)過規(guī)定的監(jiān)視時間(第二時間間隔)或發(fā)生主路徑表更新處理的結(jié)束事件之前,多路徑管理程序112暫停處理(步驟S11),監(jiān)視時間的經(jīng)過或發(fā)生了處理結(jié)束事件的情況下,判定是否經(jīng)過了監(jiān)視時間(步驟S12)。這里,監(jiān)視時間例如如下地決定。即,存儲裝置200關(guān)于各LU,以第一時間間隔,進行擔當變更處理(判斷是否需要變更LU的LU擔當內(nèi)核,該判斷的結(jié)果是肯定的情況下,進行變更該LU的LU擔當內(nèi)核的處理)。該情況下,監(jiān)視時間(第二時間間隔)比第一時間間隔長,例如,可以是第一時間間隔的整數(shù)倍(例如3倍以上)。另外,擔當變更處理的執(zhí)行間隔即第一時間間隔可以通過存儲裝置200的輸入輸出控制臺來變更。變更后的第一時間間隔可以從存儲裝置200通知到服務器100,也可以從服務器100向存儲裝置200查詢。服務器100的多路徑管理程序112也可以以變更后的第一時間間隔為基礎變更監(jiān)視時間(第二時間間隔)。
      [0168]經(jīng)過了監(jiān)視時間的情況下(步驟S12中為“是”),多路徑管理程序112從存儲裝置200獲取按每個LU220的主控制器編號及主LU擔當內(nèi)核編號(步驟S13)。例如,多路徑管理程序112只要使Inquiry指令(SCSI請求)包含存儲裝置200中管理的LU的LU編號并向存儲裝置200發(fā)送即可。存儲裝置200接收了該指令的情況下,接收了指令的CPU內(nèi)核對與指令內(nèi)的LU編號對應的LDEV編號進行特定,從主表241獲取對應的LU220的主控制器編號及主LU擔當內(nèi)核編號,將獲取的主控制器編號及主LU擔當內(nèi)核編號登記到對于指令的響應中的供應商唯一字段,將該響應發(fā)送到多路徑管理程序112即可。
      [0169]這里,作為使Inquiry指令經(jīng)由的路徑而由多路徑管理程序112選擇的路徑也可以是指定了與Inquiry指令內(nèi)的LU編號對應的LU的I/O請求能夠經(jīng)由的任意的路徑。該I/O請求能夠經(jīng)由的多條路徑中的CPU交叉調(diào)用路徑優(yōu)先被特定且選擇,若沒有CPU交叉調(diào)用路徑,則內(nèi)核交叉調(diào)用路徑優(yōu)先被特定且選擇,若CPU交叉調(diào)用路徑及內(nèi)核交叉調(diào)用路徑都沒有,則可以選擇非交叉調(diào)用路徑。像這樣,能夠期待減輕指定了與Inquiry指令內(nèi)的LU編號對應的LU220的I/O請求的處理性能的降低。
      [0170]然后,多路徑管理程序112將獲取的主控制器編號及主LU擔當內(nèi)核編號存儲在主路徑表113的對應的LU220的記錄中(步驟S14),使處理進入步驟SI I。由此,能夠?qū)⒅髀窂奖?13更新成最新的信息。
      [0171]另一方面,沒有經(jīng)過監(jiān)視時間的情況下(步驟S12中為“否”),多路徑管理程序112判斷是否有處理結(jié)束事件(步驟S15),有處理結(jié)束事件的情況下(步驟S15中為“是”),結(jié)束多路徑表更新處理,另一方面,沒有處理結(jié)束事件的情況下(步驟S15中為“否”),使處理進入步驟SI I。
      [0172]以上,基于一實施方式進行了說明,但本發(fā)明不限于上述實施方式,能夠適用于其他各種方式。
      [0173]例如,在上述實施方式中,以具備多個具有多個內(nèi)核的CPU的存儲裝置為例進行了說明,但本發(fā)明不限于此,也可以是例如具備多個具有I個內(nèi)核的CPU的存儲裝置,另外,也可以是具備I個具有多個內(nèi)核的CPU的存儲裝置。
      [0174]另外,在上述實施方式中,服務器100對存儲裝置200進行輪詢,由此,獲取包含LU擔當內(nèi)核和具有其的控制器的各個編號在內(nèi)的信息,但例如也可以是,存儲裝置在變更了 LU擔當內(nèi)核時,將包含變更后的LU擔當內(nèi)核和具有其的控制器的各個編號在內(nèi)的信息向服務器100發(fā)送,在服務器100中基于接收的信息更新主路徑表114。
      [0175]另外,在上述實施方式中,通過I/O請求經(jīng)由的路徑獲取LU擔當內(nèi)核的識別信息(例如控制器的編號及LU擔當內(nèi)核的編號),但例如,存儲裝置200和服務器100也可以連接到與進行根據(jù)光纖通道的通信的通信網(wǎng)絡不同的通信網(wǎng)絡,通過不同的通信網(wǎng)絡,收發(fā)用于獲取LU擔當內(nèi)核的識別信息的Inquiry指令或其響應(包含LU擔當內(nèi)核的識別信息的響應)。
      [0176]附圖標記的說明
      [0177]100...服務器,200...存儲裝置。
      【權(quán)利要求】
      1.一種計算機系統(tǒng),其特征在于,具有: 存儲裝置; 服務器,其向所述存儲裝置發(fā)送I/O (Input/Output)請求, 所述存儲裝置具有:能夠與所述服務器通信的多個端口、多個處理器內(nèi)核和多個LU(Logical Unit), 按每個端口決定端口擔當內(nèi)核,按每個LU決定LU擔當內(nèi)核,其中,所述端口擔當內(nèi)核是受理端口所接收的I/O請求的處理器內(nèi)核,所述LU擔當內(nèi)核是擔當I/O的處理器內(nèi)核,所述存儲裝置判斷是否需要變更LU擔當內(nèi)核,在其判斷的結(jié)果是肯定的情況下,以第一時間間隔進行變更LU擔當內(nèi)核的處理即擔當變更處理, 所述服務器具有1個以上的通信接口設備、存儲設備和與它們連接的控制設備,所述存儲設備存儲有:按每條路徑含有與從通信接口設備通向LU的路徑相關(guān)的信息的路徑信息、和按每個LU含有LU擔當內(nèi)核的識別信息的LU擔當信息, 所述路徑信息按每條路徑含有路徑所經(jīng)由的端口的端口擔當內(nèi)核的識別信息, 所述控制設備以第二時間間隔將LU的LU擔當內(nèi)核的識別信息的請求即擔當通知請求發(fā)送到所述存儲裝置,由此,從所述存儲裝置獲取LU擔當內(nèi)核的識別信息,并將該識別信息包含于所述LU擔當信息, 所述控制設備在發(fā)送I/O請求的情況下, (A)基于所述路徑信息和所述LU擔當信息,從通向由發(fā)送對象的I/O請求所指定的LU即I/O目標LU的多條路徑,選擇LU擔當內(nèi)核和端口擔當內(nèi)核為相同的處理器內(nèi)核的路徑即非交叉調(diào)用路徑, (B)通過在所述(A)中選擇的路徑發(fā)送所述發(fā)送對象的I/O請求。
      2.如權(quán)利要求1所述的計算機系統(tǒng),其特征在于, 所述存儲裝置具有多個處理器,該多個處理器的每一個包含2個以上的所述處理器內(nèi)核, 在所述(A)中,所述控制設備進行: (al)若通向所述I/O目標LU的多條路徑中包含所述非交叉調(diào)用路徑,則選擇所述非交叉調(diào)用路徑, (a2)若通向所述I/O目標LU的多條路徑中不包含所述非交叉調(diào)用路徑,但包含LU擔當內(nèi)核和端口擔當內(nèi)核位于相同的處理器內(nèi)的路徑即內(nèi)核交叉調(diào)用路徑,則選擇所述內(nèi)核交叉調(diào)用路徑, (a3)若通向所述I/O目標LU的多條路徑中不包含所述非交叉調(diào)用路徑及所述內(nèi)核交叉調(diào)用路徑,則選擇LU擔當內(nèi)核和端口擔當內(nèi)核位于不同的處理器內(nèi)的路徑即處理器交叉調(diào)用路徑。
      3.如權(quán)利要求2所述的計算機系統(tǒng),其特征在于,所述控制設備將用于獲取與LU相關(guān)的信息的查詢請求發(fā)送到所述存儲裝置,在發(fā)送所述查詢請求的情況下,在通向由所述查詢請求所指定的LU的路徑中,若包含所述處理器交叉調(diào)用路徑,則選擇該處理器交叉調(diào)用路徑,若沒有所述處理器交叉調(diào)用路徑但含有所述內(nèi)核交叉調(diào)用路徑,則選擇該內(nèi)核交叉調(diào)用路徑,并通過所選擇的路徑發(fā)送所述查詢請求。
      4.如權(quán)利要求3所述的計算機系統(tǒng),其特征在于,所述第二時間間隔比所述第一時間間隔長。
      5.如權(quán)利要求4所述的計算機系統(tǒng),其特征在于,所述第二時間間隔是所述第一時間間隔的整數(shù)倍。
      6.如權(quán)利要求5所述的計算機系統(tǒng),其特征在于,在所述第二時間間隔變更了的情況下,所述控制設備基于變更后的所述第二時間間隔,變更所述第一時間間隔。
      7.如權(quán)利要求6所述的計算機系統(tǒng),其特征在于, 對于某LU的所述擔當通知請求通過通向所述某LU的路徑中的非擔當路徑而被發(fā)送,所述非擔當路徑是通向與基于所述LU擔當信息而特定出的所述某LU的LU擔當內(nèi)核不同的處理器內(nèi)核的路徑。
      8.如權(quán)利要求1所述的計算機系統(tǒng),其特征在于,所述控制設備將用于獲取與LU相關(guān)的信息的查詢請求發(fā)送到所述存儲裝置,在發(fā)送所述查詢請求的情況下,在通向由所述查詢請求所指定的LU的路徑中,若包含LU擔當內(nèi)核和端口擔當內(nèi)核不同的路徑即交叉調(diào)用路徑,則選擇該交叉調(diào)用路徑,通過所選擇的路徑發(fā)送所述查詢請求。
      9.一種服務器,是向存儲裝置發(fā)送I/O (Input/Output)請求的服務器,其特征在于,具有: I個以上的通信接口設備; 存儲設備; 與所述I個以上的通信接口設備和所述存儲設備連接的控制設備, 所述存儲裝置具有:能夠與所述服務器通信的多個端口、多個處理器內(nèi)核和多個LU(Logical Unit), 按每個端口決定端口擔當內(nèi)核,按每個LU決定LU擔當內(nèi)核,其中,所述端口擔當內(nèi)核是受理端口所接收的I/O請求的處理器內(nèi)核,所述LU擔當內(nèi)核是擔當I/O的處理器內(nèi)核,所述存儲裝置判斷是否需要變更LU擔當內(nèi)核,在其判斷的結(jié)果是肯定的情況下,以第一時間間隔進行變更LU擔當內(nèi)核的處理即擔當變更處理, 所述存儲設備存儲有:按每條路徑含有與從通信接口設備通向LU的路徑相關(guān)的信息的路徑信息、和按每個LU含有LU擔當內(nèi)核的識別信息的LU擔當信息, 所述路徑信息按每條路徑含有路徑所經(jīng)由的端口的端口擔當內(nèi)核的識別信息, 所述控制設備以第二時間間隔將LU的LU擔當內(nèi)核的識別信息的請求即擔當通知請求發(fā)送到所述存儲裝置,由此,從所述存儲裝置獲取LU擔當內(nèi)核的識別信息,并將該識別信息包含于所述LU擔當信息, 所述控制設備在發(fā)送I/O請求的情況下, (A)基于所述路徑信息和所述LU擔當信息,從通向由發(fā)送對象的I/O請求所指定的LU即I/O目標LU的多條路徑,選擇LU擔當內(nèi)核和端口擔當內(nèi)核為相同的處理器內(nèi)核的路徑即非交叉調(diào)用路徑, (B)通過在所述(A)中選擇的路徑發(fā)送所述發(fā)送對象的I/O請求。
      10.如權(quán)利要求9所述的服務器,其特征在于,所述第二時間間隔比所述第一時間間隔長。
      11.如權(quán)利要求9所述的服務器,其特征在于,在所述第二時間間隔變更了的情況下,所述控制設備基于變更后的所述第二時間間隔,變更所述第一時間間隔。
      12.如權(quán)利要求9所述的服務器,其特征在于, 對于某LU的所述擔當通知請求通過通向所述某LU的路徑中的非擔當路徑而被發(fā)送, 所述非擔當路徑是通向與基于所述LU擔當信息而特定出的所述某LU的LU擔當內(nèi)核不同的處理器內(nèi)核的路徑。
      13.如權(quán)利要求9所述的服務器,其特征在于,所述控制設備將用于獲取與LU相關(guān)的信息的查詢請求發(fā)送到所述存儲裝置,在發(fā)送所述查詢請求的情況下,在通向由所述查詢請求所指定的LU的路徑中,若包含LU擔當內(nèi)核和端口擔當內(nèi)核不同的路徑即交叉調(diào)用路徑,則選擇該交叉調(diào)用路徑,通過所選擇的路徑發(fā)送所述查詢請求。
      14.一種輸入輸出方法,是相對于存儲裝置的LU (Logical Unit)輸入輸出數(shù)據(jù)的方法,其特征在于, 所述存儲裝置具有:能夠與所述服務器通信的多個端口、多個處理器內(nèi)核和多個LU, 按每個端口決定端口擔當內(nèi)核,按每個LU決定LU擔當內(nèi)核,其中,所述端口擔當內(nèi)核是從服務器受理端口所接收的I/O (Input/Output)請求的處理器內(nèi)核,所述LU擔當內(nèi)核是擔當I/O的處理器內(nèi)核, 所述存儲裝置判斷是否需要變更LU擔當內(nèi)核,在其判斷的結(jié)果是肯定的情況下,以第一時間間隔進行變更LU擔當內(nèi)核的處理即擔當變更處理, 所述服務器以第二時間間隔將LU的LU擔當內(nèi)核的識別信息的請求即擔當通知請求發(fā)送到所述存儲裝置,由 此,從所述存儲裝置獲取LU擔當內(nèi)核的識別信息,并將該識別信息包含于LU擔當信息,所述LU擔當信息按每個LU含有LU擔當內(nèi)核的識別信息, 所述服務器在發(fā)送I/O請求的情況下, (A)基于所述LU擔當信息和路徑信息,從通向由發(fā)送對象的I/O請求所指定的LU即I/O目標LU的多條路徑,選擇LU擔當內(nèi)核和端口擔當內(nèi)核為相同的處理器內(nèi)核的路徑即非交叉調(diào)用路徑,其中,所述路徑信息含有路徑所經(jīng)由的端口的端口擔當內(nèi)核的識別信息,并按每條路徑含有與路徑相關(guān)的信息, (B)通過在所述(A)中選擇的路徑發(fā)送所述發(fā)送對象的I/O請求。
      【文檔編號】G06F3/06GK103814365SQ201280045889
      【公開日】2014年5月21日 申請日期:2012年2月6日 優(yōu)先權(quán)日:2012年2月6日
      【發(fā)明者】大山一浩, 橫內(nèi)弘 申請人:株式會社日立制作所
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1