TWI439867B - 動態實體及虛擬多重路徑輸入/輸出 - Google Patents
動態實體及虛擬多重路徑輸入/輸出 Download PDFInfo
- Publication number
- TWI439867B TWI439867B TW098133308A TW98133308A TWI439867B TW I439867 B TWI439867 B TW I439867B TW 098133308 A TW098133308 A TW 098133308A TW 98133308 A TW98133308 A TW 98133308A TW I439867 B TWI439867 B TW I439867B
- Authority
- TW
- Taiwan
- Prior art keywords
- virtual
- hba
- entity
- fibre channel
- client
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2005—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Description
本發明大體係關於計算及資訊儲存器件,且更特定言之,係關於計算及資訊儲存器件之動態實體及虛擬多重路徑輸入/輸出(I/O)。計算器件之常見類型為桌上型電腦及伺服器系統。就資訊儲存而言,一日益常見的技術被稱作儲存區域網路連接或簡稱作儲存區域網路(SAN)。SAN技術包含以儲存器件表現為在本端附接至共用儲存器件之計算器件及作業系統的器件之方式將遠端電腦儲存器件(諸如,磁碟陣列及光學儲存陣列)連接至伺服器及其他計算器件。
光纖通道交換器常將伺服器及其他計算器件連接至SAN。在一習知光纖通道SAN中,輸入/輸出控制器(IOC)或主機匯流排配接器(HBA)包括經由光纖通道鏈路連接至光纖通道交換器或集束磁碟(JBOD)之一N_Port。在初始化期間,主機作業系統(OS)之驅動器初始化光纖通道序列且使HBA將光纖通道網路(Fabric)登入命令(FLOGI)發送至光纖通道交換器,FLOGI命令包括N_Port之全球埠名稱(WWPN)。光纖通道交換器將FLOGI回應傳回至N_Port,該回應包括與N_Port之WWPN相關聯的光纖通道位址或虛擬識別符(虛擬ID)。
驅動器亦執行其藉以與光纖通道交換器經由HBA通信且獲得光纖通道網路中的所有器件之位址之清單的發現功能。發現功能接著包括去至每一位址、登入與彼位址相關聯之器件及判定該器件是否為光纖通道/小型電腦系統介面(SCSI)目標。若器件為光纖通道/SCSI目標,則發現功能建立目標與HBA之間的連接。此外,將實體光纖通道鏈路作為SCSI匯流排匯出至OS,且與發現之FC/SCSI器件相關聯之遠端埠其後以習知SCSI方式表現為SCSI匯流排上之目標。
習知光纖通道SAN受到限制,因為僅可在單一光纖通道鏈路上將一個WWPN及光纖通道位址指派至N_Port。換言之,習知計算模型預期每計算器件一單一OS,使得該OS明確地擁有光纖通道埠。因此,已基於光纖通道埠定義系統管理工具,諸如,分區及選擇性儲存呈現/邏輯單元號(LUN)遮罩。
然而,光纖通道SAN技術已擴展而包括N_Port ID虛擬化(NPIV)。NPIV為用於使實體光纖通道埠虛擬化之標準化方法。NPIV允許光纖通道網路附接之N_Port主張多個光纖通道位址。每一位址在光纖通道網路上表現為唯一實體。利用NPIV,可將可由光纖通道交換器辨識之多個WWPN及光纖通道位址指派至一單一實體光纖通道鏈路及N_Port。因此,允許實體光纖通道埠表現為光纖通道網路之多個實體擴展或擴大了習知計算模型。
工程師已藉由在計算器件之實體處理器與SAN之間創建多個實體路徑改良了SAN之容錯及效能。多個實體路徑通常涉及創建經由諸如多個匯流排、多個控制器、多個交換器及多個橋接器件之器件的I/O路徑。創建多重路徑之技術通常被稱作多重路徑I/O。多重路徑I/O之現有實施使用專用實體資源,諸如,專用光纖通道主機匯流排配接器、交換器埠、電纜及其他實體資源元件。
以下為在附圖中描繪的實施例之詳細描述。描述如此詳細以便清楚地傳達實施例之各種態樣。然而,所提供之細節的量不欲限制實施例之預期變化。與之相反,本發明欲涵蓋由隨附申請專利範圍定義的各種實施例之所有修改、均等物及替代物。以下詳細描述經設計以使此等實施例對一般熟習此項技術者而言顯而易見。
一般而言,預期動態管理實體及虛擬多重路徑I/O之方法、裝置、系統及電腦程式產品。各種實施例包含具有至少兩個HBA之一或多個計算器件,諸如,一或多個伺服器。可使該等HBA中之至少一者與使用該HBA在複數個虛擬用戶端與一儲存區域網路之一或多個儲存器件之間傳送資料的一虛擬I/O伺服器相關聯。該等實施例可監視該等HBA之可用性,諸如,針對該HBA或耦接至該HBA之一器件的一故障來監視該等HBA。在偵測到該等HBA中之一者之不可用性後,該等實施例即可自與該不可用HBA相關聯之該I/O路徑動態切換至該替代HBA。
一些實施例包含一種方法,其包括:使一虛擬用戶端能夠經由一第一實體HBA在一儲存網路之一儲存器件與該虛擬用戶端之間傳送資料;使一虛擬I/O伺服器能夠經由一第二實體HBA在該儲存器件與該虛擬I/O伺服器之間傳送資料;及動態地使該虛擬用戶端能夠經由該虛擬I/O伺服器及該第二實體HBA在該儲存器件與該虛擬用戶端之間傳送資料。
其他實施例包含一種裝置,其具有:一虛擬用戶端模組,其經由一第一實體HBA將資料傳送至一網路;及一虛擬I/O伺服器模組,其經由一第二實體HBA將資料傳送至該網路。該等實施例亦具有一虛擬機監視器,其將該虛擬用戶端模組耦接至該虛擬I/O伺服器模組。在此等實施例中,該虛擬I/O伺服器可經組態以使該虛擬用戶端能夠存取作為一虛擬HBA之該第二實體HBA。另外,該虛擬用戶端模組、該虛擬I/O伺服器或該虛擬機監視器可經組態以動態地使該虛擬用戶端模組能夠經由該第二實體HBA將資料傳送至該網路。
其他實施例包含一種系統,其具有:一虛擬用戶端模組,其經由一第一光纖通道HBA將資料傳送至一SAN;一虛擬I/O伺服器模組,其經由一第二光纖通道HBA將資料傳送至該SAN;及一虛擬機監視器,其將該虛擬用戶端模組耦接至該虛擬I/O伺服器模組。在該等系統實施例中,該虛擬I/O伺服器使該虛擬用戶端能夠存取作為一虛擬光纖通道HBA之該第二光纖通道HBA。該等系統實施例進一步包含該虛擬用戶端模組之一多重路徑I/O模組,其動態地使該虛擬用戶端模組能夠在該第二光纖通道HBA之一故障後即經由該第一光纖通道HBA將資料傳送至該SAN。
其他實施例包含一種電腦程式產品,其包含一具有一電腦可讀儲存媒體之電腦可用媒體,該電腦可讀儲存媒體包括當由至少一處理器執行時進行以下操作之指令:經由一第一實體HBA將資料傳送至儲存器件之一網路及經由一第二實體HBA將資料傳送至該網路。該等指令可經由用於複數個虛擬用戶端之該第二實體HBA將資料傳送至該網路,其中該第二實體HBA經組態為一虛擬HBA。該等指令可進一步動態地使該複數個虛擬用戶端中之一者能夠在該第一實體HBA及該第二實體HBA中之一者之一故障後即經由該第一實體HBA及該第二實體HBA中之該一者存取該網路。
在閱讀了以下實施方式後且在參看了相同的參考可指示類似元件的附圖後,各種實施例之態樣將變得顯而易見。
以下為在附圖中描繪的新穎實施例之實施方式。實施例如此詳細以便清楚地傳達標的物。然而,提供的細節之量並不意欲限制所描述之實施例之預期變化。相反,申請專利範圍及實施方式欲涵蓋屬於如由隨附之申請專利範圍定義的本發明之教示之精神及範疇之所有修改、均等物及替代物。以下實施方式經設計以使此等實施例對一般熟習此項技術者而言可理解。
在以下段落中之許多者中,使用術語「伺服器」論述眾多實施例。亦使用術語「計算器件」。即使如此,此等術語之使用係為了對一般熟習此項技術者解釋起見。本文中之教示大體可與耦接至網路(包括SAN)的眾多類型之計算器件一起使用。
現轉至圖式,圖1描繪一系統100,其具有兩個處理器140及150、一記憶體控制器集線器(MCH)116、記憶體104及一I/O控制器集線器(ICH)120。在眾多實施例中,系統100可包含一伺服器。在其他實施例中,系統100可包含不同類型之計算器件,諸如,大型電腦或大型電腦系統之一部分、桌上型電腦或筆記型電腦。
處理器140及150可具有許多核心(諸如,核心142、143、152及153),其可與處理器140及150之快取記憶體元件耦接。舉例而言,處理器150可具有與內部處理器快取記憶體耦接之核心152及153。處理器之數目及核心之數目可在各實施例間變化。舉例而言,雖然系統100具有兩個處理器140及150,但替代實施例可具有其他數目個處理器,諸如,一個、四個、八個或某一其他數目。處理器之核心的數目亦可在不同實施例中變化,諸如,一個核心、四個核心、五個核心或某一其他數目個核心。
如圖1中所描繪,系統100可在記憶體104之一或多個虛擬用戶端(諸如,虛擬用戶端110)中執行許多應用程式,諸如,應用程式111。舉例而言,系統100可包含較大伺服器系統之一部分(諸如,計算板)或機架式伺服器中之刀鋒伺服器。處理器140及150可執行由系統100之使用者執行的程式及應用程式111之操作指令。應用程式111可包含(例如)網路郵件程式及若干生產力應用程式,諸如,字處理應用程式及電腦輔助設計(CAD)應用程式。
處理器140及150可藉由與MCH 116互動來執行記憶體104中之指令。包含記憶體104的記憶體器件之類型可在不同實施例中變化。在一些實施例中,記憶體104可包含揮發性記憶體元件,諸如,四個4十億位元組(GB)動態隨機存取記憶體(DRAM)棒。一些實施例可包含較小或較大量之記憶體。舉例而言,一些實施例可包含128GB的RAM,而其他實施例可包含甚至更大的記憶體,諸如,512GB。在替代實施例中,記憶體104可包含非揮發性記憶體。舉例而言,在一些實施例中,記憶體104可包含快閃記憶體模組,諸如,64GB快閃記憶體模組。
亦如圖1中所描繪,系統100可具有一虛擬機監視器114(諸如,超級監督器),其管理一或多個虛擬機,諸如,虛擬用戶端110及虛擬I/O伺服器108。換言之,虛擬機監視器114可允許在系統100上執行同時多個作業系統。在圖1之實施例中,虛擬機監視器114可包含一載入至記憶體104中,與任一作業系統分開之應用程式。
在不同實施例中,虛擬機監視器114可以不同形式存在。舉例而言,在一實施例中,虛擬機監視器114可包含耦接至處理器140或處理器150之韌體。在另一實施例中,虛擬機監視器114可包含一作為作業系統之一部分或在作業系統後載入之軟體應用程式。亦即,虛擬機監視器114可包含一正由作業系統執行之應用程式。一些實施例可能不具有分開的虛擬機監視器,在此種情況下,作業系統可執行虛擬機監視器或超級監督器之功能。虛擬機之數目可在各實施例間變化。
虛擬用戶端110及虛擬I/O伺服器108可各包含形成獨立操作環境的眾多軟體程式。虛擬用戶端110及虛擬I/O伺服器108可獨立於虛擬機監視器114但結合虛擬機監視器114而操作。舉例而言,虛擬I/O伺服器108可結合虛擬機監視器114工作以允許虛擬用戶端110及其他虛擬用戶端與各種實體I/O硬體元件互動。
ICH 120可讓處理器140及150與外部周邊器件(諸如鍵盤、掃描器及資料儲存器件)互動。正由處理器140及150執行之程式及應用程式可與外部周邊器件互動。舉例而言,處理器140及150可經由耦接至(例如)進階圖形埠(AGP)視訊卡之顯示器160向使用者呈現資訊。作為實例,控制台或顯示器件之類型可為陰極射線管(CRT)監視器、液晶顯示器(LCD)螢幕或薄膜電晶體平板監視器。
顯示器160可讓使用者檢視應用程式111且與其互動。舉例而言,顯示器160可讓使用者執行應用程式111之CAD程式且將繪圖資訊儲存至經由光纖通道配接器170耦接至系統100之儲存區域網路。系統100之替代實施例可包含眾多光纖通道配接器170。另外,在一些實施例中,使用者或系統管理者亦可使用顯示器160來檢視及改變虛擬機監視器114、虛擬I/O伺服器108及虛擬用戶端110之組態資訊。舉例而言,系統管理者可設置待由虛擬機監視器114管理之眾多虛擬機的分割資訊。
在各種實施例中,ICH 120可讓處理器140及150經由一或多個光纖通道器件將資料儲存至儲存區域網路之儲存器件及自儲存器件擷取資料。舉例而言,系統100可讓應用程式111經由耦接至光纖通道配接器170之SAN交換器將資料儲存至SAN。虛擬用戶端110可經組態以具有附接至光纖通道配接器170之專用儲存器件。在耦接至光纖通道配接器170的元件(諸如一SAN交換器)故障的情況下,虛擬用戶端110仍然可經由虛擬I/O伺服器108、虛擬機監視器114及一替代儲存器件(諸如,經由ICH 120耦接至另一光纖通道配接器之另一SAN交換器)儲存及/或擷取資訊。
在替代實施例中,ICH 120可讓處理器140及150經由周邊組件互連(PCI)控制器162及耦接至通用串列匯流排(USB)配接器164之一USB器件儲存及擷取來自一或多個USB器件之資料。在一實施例中,虛擬用戶端110可經組態以經由虛擬I/O伺服器108、虛擬機監視器114及與USB配接器164耦接之一主USB硬碟機儲存及/或擷取資訊。在主USB硬碟機之元件故障的情況下,虛擬用戶端110仍然可經由附接至USB配接器164或一輔助USB配接器之一專用輔助USB硬碟機儲存及/或擷取資訊。
處理器140及150亦可經由PCI控制器162及通信配接器166發送及接收資料。通信配接器166可包含(例如)一網路介面卡(NIC)。系統100可讓一或多個執行應用程式111在虛擬用戶端110與一網際網路小型電腦系統介面(iSCSI)SAN之一硬碟之間傳送資料。舉例而言,系統100可具有位於一或多個邏輯分割區(LPAR)中之若干虛擬用戶端。虛擬用戶端110可位在一邏輯分割區中,且虛擬I/O伺服器108可位在另一邏輯分割區中。系統100可使虛擬用戶端110能夠經由相關聯之NIC使用通信配接器166與一主iSCSI硬碟通信及將資訊傳送至該主iSCSI硬碟/自該主iSCSI硬碟傳送資訊。在該主iSCSI硬碟或該iSCSI硬碟與通信配接器166之間的一互連網路器件故障或維護之情況下,系統100之實施例可允許虛擬用戶端110使用耦接至虛擬I/O伺服器108的一輔助通信配接器及一輔助NIC將資訊傳送至一輔助iSCSI硬碟/自一輔助iSCSI硬碟傳送資訊。
替代實施例可以不同方式將不同技術用於通信配接器166。舉例而言,一實施例可利用一虛擬光纖匯流排,而另一實施例則可將一高速鏈路(HSL)光學連接用於通信配接器166。
除了USB配接器164及通信配接器166之外,ICH 120亦可允許系統100之應用程式111與進階技術附接(ATA)器件(諸如,ATA硬碟機、數位多功能光碟(DVD)驅動機及緊密光碟(CD)驅動機,如CD唯讀記憶體(ROM)驅動機128)互動。如圖1中所示,系統100可具有一串列ATA(SATA)驅動機,諸如,SATA硬碟機130。SATA硬碟機130可用以(例如)儲存用於各種分割區、器件驅動器及系統100之虛擬用戶端之應用程式軟體的眾多作業系統。舉例而言,SATA硬碟機130可儲存AIX、Linux、MacintoshOS X、Windows或系統100載入至一或多個LPAR內的某一其他作業系統。
在各種實施例中,ICH 120可允許在由虛擬機監視器114管理之分割區中的應用程式在非揮發性記憶體118中儲存資訊及擷取非揮發性記憶體118中之資訊,以及與特殊應用積體電路(ASIC)124互動。舉例而言,非揮發性記憶體118可在一些實施例中包含快閃記憶體,而在其他實施例中包含可程式化唯讀記憶體(PROM)或另一類型之記憶體。非揮發性記憶體可用以(例如)儲存主及次虛擬/實體I/O路徑資訊,諸如,虛擬用戶端經組態以使用哪一特殊實體及虛擬光纖通道配接器。ICH 120亦可允許在由虛擬機監視器114管理之分割區中的應用程式使用耦接至SCSI配接器132之SCSI器件儲存及擷取資料。
替代實施例亦可動態地管理具有圖1中未描繪的不同類型之硬體(作為實例,諸如,音效卡、掃描器及印表機)之系統100中的實體及虛擬多重路徑I/O。舉例而言,系統100可處於自掃描器傳送資料及將資料儲存至經由耦接至光纖通道170之SAN交換器連接的SAN網路之處理程序中,遇到SAN交換器之問題,且實現經由虛擬I/O伺服器108至耦接至SAN網路之另一SAN交換器的故障後移轉(failover)。相反地,在不同實施例中,系統100可能不包含針對圖1中展示之實施例所說明的所有元件。舉例而言,系統100之一些實施例可能不包含SCSI配接器132、PCI控制器162、USB配接器164、CD-ROM驅動機128及ASIC 124中之一或多者。
為了提供對系統或裝置200可動態管理實體及虛擬多重路徑I/O之方式的較詳細說明,吾人現轉至圖2。圖2說明實施例可動態管理用於耦接至SAN 270之實體及虛擬光纖通道的I/O之方式。舉例而言,虛擬機監視器250及處理器262可分別包含圖1中的裝置或系統之元件,諸如,虛擬機監視器114及處理器140及150。
虛擬機監視器250可使硬體層266之一或多個元件能夠被分為多個邏輯分割區且確保分割區之間的隔離。舉例而言,只要當裝置200操作時,虛擬機監視器250即可始終操作,跨越處理器262之共用實體處理器調度虛擬機用戶端及虛擬I/O伺服器之邏輯分割區工作負載。圖2描繪兩個虛擬用戶端:Linux用戶端230及AIX用戶端235,每一用戶端在一分開的邏輯分割區中。虛擬機監視器250亦可施行分割區安全性且提供實現虛擬I/O伺服器210之虛擬SCSI及虛擬乙太網路功能性之分割區間通信。
虛擬機監視器250可提供一處於硬體層266之實體硬體資源與使用實體硬體資源之邏輯分割區之間的抽象層。虛擬機監視器250可控制虛擬處理器至實體處理器262之調度,在虛擬處理器上下文切換期間保存/恢復處理器狀態資訊,及控制用於分割區之硬體I/O中斷及管理設施。另外,虛擬機監視器250可提供用於裝置200之邏輯分割區的遠端直接記憶體存取(RDMA)服務。舉例而言,虛擬機監視器250可使資料能夠直接自可包含記憶體模組264中的記憶體之區段的虛擬層205之用戶端移動至I/O插槽252及256及光纖通道卡254及258,而無需將分割區之應用程式記憶體之間的資料複製至用於分割區的作業系統之資料緩衝器。
裝置200包含在虛擬層205中表示之兩個虛擬機用戶端,Linux用戶端230及AIX用戶端235。舉例而言,Linux用戶端230可駐留於一LPAR中,而AIX用戶端235駐留於另一LPAR中。裝置200之LPAR可指微處理器資源、記憶體資源及I/O資源之邏輯分組或分割。
資源之量可在不同實施例中且甚至在單一實施例中根據裝置內之資源需要及資源可用性變化。舉例而言,一或多個LPAR可包含共用處理器分割區(替代地被稱作微分割區),使得裝置200將處理器資源自實體處理器之一單一集區分配至該等LPAR。視實施例而定,裝置200分配至微分割區的處理器能力之量可(例如)在實體處理器之百分之十(10%)直至實體共用處理器集區之全部能力的範圍內變動。在許多實施例中,諸如虛擬I/O伺服器210或AIX用戶端235之每一虛擬機可在專用處理器分割區或微分割區中執行。
如圖2說明,一裝置可具有眾多I/O插槽,諸如,I/O插槽252、256及280。作為一實例,I/O插槽252、256及280中之一或多者可包含8Gb之PCIe主機匯流排配接器I/O插槽。雖然圖2僅說明具有僅三個I/O插槽之裝置200,但替代實施例可具有較少或較多I/O插槽。舉例而言,一實施例可包含八個、十六個、三十二個或甚至更多I/O插槽。裝置200的I/O插槽中之每一者具有一光纖通道介面卡。I/O插槽252耦接至光纖通道卡254,而I/O插槽256及280分別耦接至光纖通道卡258及282。
視實施例而定,虛擬I/O伺服器可使用光纖通道卡、主機控制器、主機配接器及主機匯流排配接器(HBA)中之一或多者將裝置或主機系統連接至其他網路及儲存器件。以上使用之卡/配接器術語可指用於連接SCSI、光纖通道及eSATA器件之器件。另外,一般熟習此項技術者可常使用諸如「主機配接器」之術語來指將主機系統連接至IDE、乙太網路、FireWire、USB及其他系統之器件。更進一步,在引入iSCSI之情況下,一些實施例可使用諸如乙太網路HBA之元件,其與乙太網路NIC不同之處在於,乙太網路HBA可包括硬體iSCSI專用TCP卸載引擎。當動態管理實體及虛擬多重路徑I/O時,不同實施例可將不同類型的器件中之每一者中之一或多者用於網路及儲存器件連接。
裝置200之管理者可組態AIX用戶端235及/或虛擬機監視器250、將I/O插槽280及光纖通道卡282專用於AIX用戶端235。舉例而言,虛擬機監視器可經組態以僅允許AIX用戶端235與SAN交換器290經由I/O插槽280及光纖通道卡282通信,此防止如Linux用戶端230之其他虛擬用戶端存取或使用I/O插槽280及光纖通道卡282。
在眾多實施例中,如虛擬I/O伺服器210之虛擬I/O伺服器可將虛擬SCSI目標及共用乙太網路能力提供至Linux用戶端230及AIX用戶端235,此允許Linux用戶端230及AIX用戶端235共用SCSI器件及乙太網路配接器。舉例而言,裝置200之管理者可以將具有光纖通道卡254之I/O插槽252及具有光纖通道卡258之I/O插槽256專用於虛擬I/O伺服器210的方式組態虛擬I/O伺服器210及/或虛擬機監視器250。按圖2中描繪之方式配置,虛擬I/O伺服器210可允許SAN 270之實體儲存資源的虛擬化。裝置200之用戶端分割區可存取SAN 270之實體儲存器件,該等實體儲存器件由虛擬I/O伺服器210表示為至用戶端分割區之虛擬化儲存器件。換言之,裝置200可使諸如Linux用戶端230及AIX用戶端235之用戶端分割區能夠存取作為標準SCSI順應式邏輯單元(LUN)的虛擬SCSI器件。
將NPIV與共用虛擬I/O伺服器210之能力的配接器耦接,裝置200可使諸如光纖通道卡254及258之實體光纖通道主機匯流排配接器能夠跨越多個客戶或用戶端、作業系統(諸如Linux用戶端230及AIX用戶端235)而被共用。換言之,裝置200可實施NPIV用於光纖通道卡254及258,使LPAR能夠各具有具有專用WWPN之虛擬光纖通道HBA。每一虛擬光纖通道HBA可具有唯一SAN識別碼,該唯一SAN識別碼可與專用實體HBA之SAN識別碼相比。
裝置200亦可使用NPIV來動態管理實體及虛擬多重路徑I/O,此實現共用資源之冗餘。裝置200可藉由提供自LPAR至儲存器件之多重路徑而使用動態實體及虛擬多重路徑I/O改良資料可用性。舉例而言,圖2中描繪的裝置200之實施例提供自虛擬I/O伺服器210至SAN 270之兩條不同路徑。舉例而言,若光纖通道卡254有故障,則虛擬I/O伺服器210仍然可繼續經由I/O插槽256、光纖通道卡258及SAN交換器260將資料發送至SAN 270。
另外,虛擬I/O伺服器210可啟動I/O插槽252及256之兩條路徑以跨越該等路徑散布或平衡I/O工作負載及改良裝置200之效能。舉例而言,自虛擬I/O伺服器210至SAN 270之資料傳送可限於7.5Gb/s之平均值(僅使用I/O插槽256及光纖通道卡258)。然而,倘若無虛擬用戶端存取I/O插槽252,則虛擬I/O伺服器210可藉由一前一後地操作I/O插槽252及256而將傳送速率增加至15Gb/s之平均值。
裝置200使AIX用戶端235及Linux用戶端230能夠支援實體及虛擬I/O兩者,實體及虛擬I/O又可使裝置200能夠實施動態實體及虛擬多重路徑I/O。換言之,藉由動態管理實體及虛擬多重路徑I/O,裝置200可創建自LPAR至儲存器件之實體及虛擬路徑兩者。舉例而言,實體路徑可包含專用光纖通道配接器。在圖2中,自AIX用戶端235之實體路徑可包含自實體光纖通道HBA驅動器244至I/O插槽280及光纖通道卡282、至SAN交換器290且至SAN 270的經由虛擬機監視器250之路徑。自AIX用戶端235之虛擬路徑可包含自NPIV配接器驅動器242至NPIV配接器驅動器225,至實體光纖通道HBA驅動器215,經由虛擬機監視器250至I/O插槽252及光纖通道卡254,至SAN交換器260及SAN 270的經由虛擬機監視器250之路徑。
對於實體及虛擬多重路徑I/O之動態管理,在初始化期間,實體光纖通道HBA驅動器215可起始一光纖通道初始化序列且使光纖通道卡254將光纖通道網路登入命令(FLOGI)發送至SAN交換器260,FLOGI命令包括光纖通道卡254之N_Port之全球埠名稱(WWPN)。SAN交換器260可將FLOGI回應傳回至光纖通道卡254之N_Port,該FLOGI回應包括與N_Port之WWPN相關聯的光纖通道位址。
實體光纖通道HBA驅動器215亦可執行實體光纖通道HBA驅動器215藉以與SAN交換器260經由光纖通道卡254通信且獲得與SAN交換器260相關聯的光纖通道網路中之所有器件之位址之清單的發現功能。實體光纖通道HBA驅動器215可接著詢問每一位址,登入與該等位址中之每一者相關聯的器件中之每一者,且判定該器件是否為光纖通道/SCSI目標。若該器件為光纖通道/SCSI目標,則實體光纖通道HBA驅動器215可建立該目標與光纖通道卡254之間的連接。此外,實體光纖通道HBA驅動器215可接著將光纖通道卡254與SAN交換器260之間的每一相關聯之實體光纖通道鏈路表示為至虛擬層205之虛擬用戶端的SCSI匯流排,其中與發現的光纖通道/SCSI器件相關聯之遠端埠其後表現為在SCSI匯流排上之目標。
裝置200可使用NPIV以使光纖通道卡254之N_Port能夠主張多個光纖通道位址。舉例而言,實體光纖通道HBA驅動器215可主張用於AIX用戶端235之一光纖通道位址及用於Linux用戶端230之第二光纖通道位址。每一位址可表現為用於光纖通道網路之一唯一實體。換言之,藉由利用NPIV,可將可由SAN交換器260辨識之多個WWPN及光纖通道位址指派至一單一實體光纖通道鏈路及N_Port。另外,虛擬I/O伺服器210及AIX用戶端235可各分別包含虛擬器件驅動器,諸如,NPIV配接器驅動器225及NPIV配接器驅動器242,其中虛擬器件驅動器能夠支援NPIV。
將多個WWPN及光纖通道位址指派至一單一實體N_Port可允許裝置200執行具有獨立作業系統之多個虛擬用戶端。代替將光纖通道卡254之埠專用於一單一虛擬用戶端,每一虛擬用戶端之每一作業系統可唯一地具有一或多個唯一且專用之光纖通道位址,連同用於每一光纖通道位址之相關聯的唯一WWPN。使用NPIV,裝置200亦可使諸如光纖通道卡258之其他光纖通道卡之N_Port能夠主張多個光纖通道位址。
裝置200可使用動態實體及虛擬多重路徑I/O而藉由利用較少實體資源來增加I/O冗餘。舉例而言,代替AIX用戶端235需要兩個專用實體I/O插槽用於冗餘的I/O,AIX用戶端235可使用一專用實體I/O插槽及相關聯的HBA,然而提供至與虛擬I/O伺服器210相關聯的虛擬HBA之故障後移轉路徑。更詳細的實體可幫助說明動態實體及虛擬多重路徑I/O之此概念。
如圖2中所描繪,裝置200可具有組態有一單一專用實體光纖通道HBA之AIX用戶端235,該單一專用實體光纖通道HBA包含與實體光纖通道HBA驅動器244耦接在一起之光纖通道卡282。光纖通道卡282及實體光纖通道HBA驅動器244可包含AIX用戶端235用以將資料儲存至SAN 270以及自SAN 270擷取資料之主I/O通道。
AIX用戶端235亦可經組態有兩個虛擬光纖通道HBA,其包含NPIV配接器驅動器242及NPIV配接器驅動器243。舉例而言,AIX用戶端235與虛擬I/O伺服器210之間的一虛擬光纖通道I/O路徑可包含在NPIV配接器驅動器242與NPIV配接器驅動器225之間的由虛擬機監視器250提供之虛擬路徑。第二虛擬光纖通道I/O路徑可包含在NPIV配接器驅動器243與NPIV配接器驅動器223之間的由虛擬機監視器250提供之虛擬路徑。
NPIV配接器驅動器225可與實體光纖通道HBA驅動器215耦接,此使虛擬I/O伺服器210能夠在裝置200與SAN 270之間經由I/O插槽252、光纖通道卡254及SAN交換器260傳送資料。NPIV配接器驅動器223可與實體光纖通道HBA驅動器220耦接,此使虛擬I/O伺服器210能夠在裝置200與SAN 270之間經由I/O插槽256、光纖通道卡258及SAN交換器260傳送資料。NPIV配接器驅動器225及223、實體光纖通道HBA驅動器215及220及光纖通道卡254及258可包含AIX用戶端235用以將資料儲存至SAN 270以及自SAN 270擷取資料之第二I/O通道及第三I/O通道。
多重路徑I/O模組240可識別AIX用戶端235經組態以使用之各種實體光纖通道HBA及虛擬光纖通道HBA I/O資料路徑。另外,多重路徑I/O模組240可動態地偵測個別實體及虛擬I/O資料路徑之故障,且使AIX用戶端235能夠動態地故障後移轉至替代I/O資料路徑。舉例而言,在一操作模式期間,AIX用戶端235可使用由實體光纖通道HBA驅動器244表示之主I/O通道在AIX用戶端235與SAN 270之間傳送資料。
在諸如SAN交換器290經歷硬體問題的故障或維護之情況下,多重路徑I/O模組240可偵測與實體光纖通道HBA驅動器244相關聯之故障,且將用於AIX用戶端235之主I/O通道自實體光纖通道HBA驅動器244切換至與NPIV配接器驅動器242相關聯之次I/O通道。另外,在次I/O通道之故障之情況下,多重路徑I/O模組240亦可偵測故障且將用於AIX用戶端235之當前作用中I/O通道自NPIV配接器驅動器242切換至與NPIV配接器驅動器244相關聯之第三I/O通道。
雖然所描述之實例實施例具有作為主I/O通道之單一專用實體光纖通道HBA且具有作為第二故障後移轉I/O通道及第三故障後移轉I/O通道或路徑之兩個虛擬光纖通道HBA,但替代實施例可經組態有不同類型的主HBA及變化數目個故障後移轉HBA。舉例而言,一替代實施例可具有一作為主I/O通道及相關聯之資料路徑之單一虛擬光纖通道HBA,其中耦接至iSCSI儲存器件之單一實體乙太網路HBA作為次I/O通道及相關聯之資料路徑。
憑藉動態實體及虛擬多重路徑I/O,裝置200可將AIX用戶端235或Linux用戶端230自一實體伺服器動態移動至另一者,而不破壞與用戶端相關聯的I/O。分割區之移動可包括該用戶端分割區正執行之一切,亦即,所有持有(hosted)之應用程式。在不同伺服器之間移動邏輯分割區可允許伺服器硬體之計劃的維護,而不破壞由虛擬用戶端提供的服務。舉例而言,系統管理者可將大量使用之邏輯分割區移動至較大機器,而不破壞由分割區提供的服務。或者,系統管理者可視工作負載需求而定將分割區移動至具有較多可用的處理能力之伺服器,或調整伺服器硬體之利用以維護至使用者的具體服務等級。
更具體的實例可更詳細地說明動態實體及虛擬多重路徑I/O可實現邏輯分割區之再定位的方式。虛擬機監視器250可經組態以在不同邏輯分割區(諸如,AIX用戶端235及Linux用戶端230)間分散處理能力。舉例而言,AIX用戶端235可具有分配的2個處理單元及2個虛擬處理器,而Linux用戶端230亦具有分配的2個處理單元及2個虛擬處理器。更進一步,在此實例中,AIX用戶端235及Linux用戶端230可皆駐留於同一伺服器上,其中該伺服器具有總共4個實體處理器。
對AIX用戶端235之需求或總負載可隨著時間的過去而增加。舉例而言,與AIX用戶端235相關聯之一處理器可變得受重負載,相對於該處理器之執行能力,其執行大量指令。若系統管理者不能增加當前伺服器上的AIX用戶端235可用的計算能力之量,例如,Linux用戶端230不具有任何空閒的過多處理能力,則系統管理者可能需要將AIX用戶端235之邏輯分割區移動或遷移至另一具有較多可用處理能力之伺服器。
在將AIX用戶端235遷移至另一伺服器處理程序中,系統管理者可使裝置200在目的地或目標伺服器中製作現有AIX用戶端235之複本。一旦創建了複本,裝置200即可撤消啟動源影像,啟動目的地或目標影像,且自源伺服器之記憶體移除經撤消啟動之影像。在AIX用戶端235遷移後,專用實體HBA即可能在再定位期間變得不可用。舉例而言,因為I/O插槽280及光纖通道卡282駐留於源伺服器中,所以在目標伺服器之新創建之邏輯分割區中的AIX用戶端235可能與I/O插槽280及光纖通道卡282實體隔離。
多重路徑I/O模組240可經由實體光纖通道HBA驅動器244偵測光纖通道卡282之不可用性。在偵測後,多重路徑I/O模組240即可使AIX用戶端235動態切換或故障後移轉至由NPIV配接器驅動器244或NPIV配接器驅動器243提供的虛擬I/O路徑中之一者。在利用故障後移轉路徑處理程序中,系統管理者可接著登入用於目標伺服器之硬體管理控制台(HMC),且重組態AIX用戶端235,用目標伺服器之另一I/O插槽及HBA替換專用I/O插槽280及光纖通道卡282。
圖3描繪可執行實體及虛擬多重路徑I/O之動態管理的裝置300之一實施例。裝置300之一或多個元件可呈硬體、軟體或硬體與軟體兩者之組合之形式。舉例而言,在圖3中描繪之實施例中,裝置300在記憶體310中之模組可包含由一或多個處理器執行的應用程式之軟體指令。換言之,裝置300可包含耦接至網路370的計算器件之元件。
在替代實施例中,裝置300的模組中之一或多者可包含僅硬體模組。舉例而言,在與圖3中展示之配置不同的一配置中,虛擬I/O伺服器330可包含與計算器件之處理器耦接的積體電路晶片之一部分。在此等實施例中,虛擬I/O伺服器330可與虛擬機監視器340一起工作,此允許記憶體310中之虛擬用戶端存取I/O器件,諸如,實體HBA 350及實體HBA 360。
在更進一步的替代實施例中,裝置300的模組中之一或多者可包含硬體與軟體模組之組合。舉例而言,虛擬機監視器340可包含韌體及執行記憶體中的虛擬用戶端及邏輯分割區之監視及管理之單獨處理電路,此使用戶端及分割區能夠存取I/O硬體。
在一或多個實施例中,虛擬機監視器340可包含在軟體或韌體中的一精簡程式碼層,其實現動態資源共用。在圖3中描繪之實施例中,虛擬機監視器340可實現虛擬化且創建真實資源之替代物(稱作虛擬資源)。舉例而言,虛擬機監視器340可允許在單一實體系統內創建許多虛擬系統。兩個虛擬系統可包含(例如)虛擬用戶端320及虛擬I/O伺服器330。虛擬機監視器340可創建實體HBA 350及實體HBA 360之虛擬替代物,且使虛擬用戶端320及虛擬I/O伺服器330能夠以獨立方式與虛擬替代物互動,從而防止對實際實體資源的嘗試之同時存取之衝突。
虛擬用戶端320可包含儲存於記憶體310之邏輯分割區中的桌上型電腦之影像,其可被稱作虛擬桌上型電腦。舉例而言,虛擬用戶端320可包含作業系統及相容於作業系統的許多應用程式之影像。作為一更具體的實例,虛擬用戶端320可包含執行CAD程式、郵件伺服器程式及資料庫程式之AIX、Windows、Unix或某一其他作業系統。
虛擬I/O伺服器330可包含亦位於邏輯分割區中之軟體。虛擬I/O伺服器330可結合虛擬機監視器340一起工作,且實現在記憶體310中之各種虛擬用戶端之間的共用實體I/O資源(諸如,實體HBA 350及實體HBA 360),一個此用戶端為虛擬用戶端320。舉例而言,在眾多實施例中,虛擬I/O伺服器330可將虛擬SCSI目標及共用之乙太網路配接器能力提供至裝置300內之用戶端邏輯分割區,此使用戶端邏輯分割區能夠共用SCSI器件及乙太網路配接器。
實體HBA 350及實體HBA 360可包含多種不同配接器中之一或多者。在眾多實施例中,HBA可包含光纖通道HBA,其使用光纖通道協定(FCP)通信以在光纖通道網路上輸送SCSI命令。在一些實施例中,HBA可包含網際網路SCSI相容(iSCSI)HBA。iSCSI HBA可使用TCP/IP來實現經由IP網路的SCSI命令之交換。換言之,iSCSI HBA可模擬在廣域網路上之邏輯儲存匯流排以創建SAN。光纖通道及iSCSI HBA僅為幾個實例。替代實施例可使用一或多個其他類型之HBA。
網路370可包含眾多網路連接器件及一或多個儲存器件。舉例而言,網路370可包含路由器、集線器、交換器及電纜線路之一配置,互連許多iSCSI磁碟、iSCSI磁帶機、iSCSI光學儲存器件、光纖通道RAID、光纖通道磁碟、光纖通道磁帶機、光纖通道光學驅動機及/或iSCSI RAID儲存器(僅列舉幾個實例)。網路370可以使儲存器件表現為本端附接之方式附接且表示儲存器件。網路370可將一或多個低層級協定用於伺服器與網路370之儲存器件之間的通信。舉例而言,不同實施例可使用諸如以下各項之協定:乙太網路上ATA、光纖通道上之FICON映射、乙太網路上光纖通道、HyperSCSI、用於RDMA之ISCSI擴展(iSER)、iFCP及/或iSCSI。
雖然裝置300執行虛擬用戶端320之作業系統及應用程式,但虛擬機監視器340可使虛擬用戶端320能夠經由專用實體HBA 350將資訊發送至網路370之一或多個儲存器件及自網路370之一或多個儲存器件接收資訊。亦即,虛擬機監視器340可防止所有其他虛擬用戶端利用實體HBA 350。
虛擬機監視器340亦可使虛擬I/O伺服器330能夠經由實體HBA 360將資訊發送至網路370之一或多個儲存器件及自網路370之一或多個儲存器件接收資訊。虛擬I/O伺服器330可允許裝置300之多個虛擬用戶端將資料傳送至網路370及自網路370傳送資料。
在操作期間,實體HBA 350可遇到硬體問題,使自虛擬用戶端320至網路370之專用實體路徑不可用。然而,虛擬用戶端320可經組態以偵測故障或不可利性及自主實體路徑切換至一或多個虛擬路徑。在裝置300之實施例中,虛擬用戶端320可動態故障後移轉或切換至由虛擬I/O伺服器330及實體HBA 360提供的用於網路370之虛擬路徑。自不可用路徑動態切換至替代可用路徑可增加裝置300之服務的正常工作時間及可靠性。
在一替代配置或組態情況下,虛擬用戶端320可使用經由虛擬I/O伺服器330及實體HBA 360之虛擬路徑作為主路徑。無論何時虛擬路徑變得不可用(諸如,來自裝置300之其他虛擬用戶端的高流量之結果),虛擬用戶端320可故障後移轉至實體HBA 350,且繼續與網路370之儲存器件交換資料。
在以上論述之實例實施例中,虛擬用戶端320判定主I/O路徑之不可用性且切換至次I/O路徑。在許多實施例中,此判定及切換可由虛擬用戶端320之一模組(諸如,多重I/O路徑模組)執行。在一替代實施例中,對不可用性之判定及/或切換可由裝置300之另一元件執行。舉例而言,在至少一替代實施例中,虛擬機監視器340可組態有關於至網路370之主I/O路徑、次I/O路徑及替代I/O路徑之資訊。換言之,虛擬機監視器340可經由實體HBA 350常規地投送虛擬用戶端320之I/O異動。若虛擬機監視器340待偵測與實體HBA 350相關聯之錯誤,則虛擬機監視器340可經由虛擬I/O伺服器330及實體HBA 360自動地重投送I/O異動。
裝置300之一實施例中的模組之數目可變化。一些實施例可具有比圖3中描繪之彼等模組少的模組。舉例而言,一實施例可將由虛擬I/O伺服器330描述及/或執行之功能與虛擬機監視器340之功能整合成一單一模組。亦即,一替代實施例可具有能夠接收來自不同虛擬用戶端之一I/O請求且將請求投送至適當I/O硬體資源之虛擬機監視器。
其他實施例可包括比圖3中展示之模組或元件多的模組或元件。舉例而言,替代實施例可包括一或多個多重I/O路徑模組、兩個或兩個以上虛擬I/O伺服器及額外實體HBA。更進一步,在許多替代實施例中,記憶體310可包含眾多記憶體模組。舉例而言,記憶體310可散布於伺服器系統中之多個伺服器間。系統之若干伺服器可包含一或多個虛擬用戶端及/或虛擬I/O伺服器。虛擬機監視器340可駐留於單一伺服器上或多個伺服器上。
圖4描繪說明系統可執行實體及虛擬多重路徑I/O之動態管理的方式之處理程序之流程圖400。舉例而言,可將一或多個實施例實施為包含包括指令之電腦可讀儲存媒體之電腦程式產品,該等指令當由處理器執行時將I/O請求自虛擬用戶端直接投送至實體HBA或經由虛擬I/O伺服器間接投送至實體HBA。或者,流程圖400之處理程序可實施於硬體中,諸如,ASIC(諸如,圖1中描繪之ASIC 124)之狀態機中。舉例而言,ASIC 124可包含一動態實體及虛擬多重路徑I/O模組,其與系統100之其他硬體一起工作以動態管理實體及虛擬I/O資源之多重路徑。
如圖4中所說明,該處理程序可包含初始化虛擬機監視器、載入一或多個虛擬I/O伺服器及請求HBA之識別號(元素410)。舉例而言,裝置200可將虛擬機監視器250載入至記憶體模組264中,初始化虛擬機監視器250,將虛擬I/O伺服器210載入至記憶體模組264中,且向SAN交換器260及290請求用於光纖通道卡254、258及282之NPIV及WWPN號。
裝置200可接著載入一或多個虛擬用戶端,使專用HBA相關聯或指派專用HBA,且基於載入之模組的組態指派虛擬HBA(元素420)。舉例而言,裝置200可將Linux用戶端230及AIX用戶端235載入至記憶體模組264之邏輯分割區中,將光纖通道卡282專用於實體光纖通道HBA驅動器244,且分別經由NPIV配接器驅動器225及223將光纖通道卡254及258作為虛擬光纖通道卡指派至AIX用戶端235。裝置200可接著開始執行Linux用戶端230及AIX用戶端235之作業系統,以及載入至各別邏輯分割區中之每一者內的各種應用程式(元素430)。
當裝置200執行AIX用戶端235時,多重路徑I/O模組240可經組態以在實體光纖通道HBA驅動器244與NPIV配接器驅動器243之間散布I/O負載(元素440)。在操作期間,多重路徑I/O模組240可偵測影響光纖通道卡258、實體光纖通道HBA驅動器220、NPIV配接器驅動器223及NPIV配接器驅動器244的SAN交換器260之故障(元素450),且切換至由NPIV配接器驅動器242及NPIV配接器驅動器225、實體光纖通道HBA驅動器215及光纖通道卡254定義之虛擬I/O路徑(元素470)。
在技術員補救了與光纖通道卡258相關聯的SAN交換器260之問題後,多重路徑I/O模組240可偵測到光纖通道卡258之虛擬路徑返回線上或啟動(元素460),新可用的光纖通道卡258經組態為用於AIX用戶端235之次路徑(元素480),且切換回至由NPIV配接器驅動器243及NPIV配接器驅動器223、實體光纖通道HBA驅動器220及光纖通道卡258定義之虛擬I/O路徑(元素490)。
圖4之流程圖400僅說明一處理程序。替代實施例可實施流程圖400之無數變化。舉例而言,除了偵測與光纖通道卡258相關聯之單一故障之外,多重路徑I/O模組240亦可能已偵測到SAN交換器260之故障亦引起與光纖通道卡254相關聯之故障,此使與NPIV配接器驅動器242相關聯之故障後移轉虛擬I/O路徑亦不可用(元素450)。因此,多重路徑I/O模組240可能已經組態以切換至下一個可用的虛擬I/O路徑(其可能已用於虛擬I/O伺服器210之另一虛擬埠),或切換至用於與另一虛擬I/O伺服器相關聯的不同實體光纖通道卡之不同虛擬埠(元素470)。
圖5說明用於動態管理實體及虛擬多重路徑I/O的方法之流程圖500。舉例而言,圖2中展示的裝置200之一替代實施例可具有與一光纖通道卡或耦接至虛擬I/O伺服器210之HBA相關聯的一虛擬I/O路徑以及與至一不同虛擬I/O伺服器之iSCSI HBA相關聯的另一虛擬I/O路徑。換言之,裝置200之一替代實施例可具有兩個虛擬I/O伺服器,一者與一光纖通道HBA耦接且一者與一iSCSI HBA耦接。
當裝置200之替代實施例操作時,虛擬機監視器250可使AIX用戶端235能夠經由由iSCSI HBA定義之虛擬I/O路徑在SAN 270之一或多個儲存器件之間傳送資料(元素510)。亦當裝置200操作時,虛擬機監視器250可使裝置200之Linux用戶端230及任何其他虛擬用戶端能夠經由虛擬I/O伺服器210將資料傳送至SAN 270及自SAN 270傳送資料(元素520)。
在裝置200之操作期間,多重路徑I/O模組240可監視與AIX用戶端235相關聯的實體及虛擬I/O資料路徑之狀態,諸如,監視由HBA、網路交換器或耦接至光纖通道卡282的儲存區域網路之儲存器件、耦接至虛擬I/O伺服器210之光纖通道HBA及耦接至另一虛擬I/O伺服器之iSCSI HBA報告之任何錯誤(元素530)。舉例而言,與iSCSI卡或HBA耦接之儲存器件可傳回與AIX用戶端235之嘗試的I/O異動相關聯之I/O錯誤。回應於偵測到錯誤或故障(元素540),多重路徑I/O模組240可將與有故障的iSCSI HBA及虛擬I/O伺服器相關聯之虛擬資料路徑切換至次虛擬I/O伺服器及光纖通道HBA(元素550)。
流程圖500之一實施例可藉由使多重路徑I/O模組240自與光纖通道HBA相關聯之虛擬資料路徑切換至專用實體HBA(經組態為替代HBA)而繼續(元素560)。多重路徑I/O模組240可繼續監視針對AIX用戶端235組態的實體及虛擬I/O資料路徑(諸如,iSCSI HBA及光纖通道HBA)之狀態。若及/或當先前有故障的器件返回線上時,多重路徑I/O模組240可偵測可用性之改變且將用於AIX用戶端235之相關聯的I/O資料路徑切換回至新的可用之HBA。舉例而言,與先前傳回I/O錯誤的iSCSI HBA耦接之儲存器件可發送該器件已重新開始常規操作之信號,因此,多重路徑I/O模組240可自替代專用實體HBA切換回至與iSCSI HBA相關聯之虛擬I/O路徑(元素570)。
另一實施例經實施為用於實施參看圖1至圖5描述的系統、方法及裝置之程式產品。實施例可含有硬體及軟體元件兩者。一實施例可實施於軟體中,且包括(但不限於)韌體、常駐軟體、微碼等。
此外,實施例可採取一電腦程式產品之形式,該電腦程式產品可自提供用於由電腦或任一指令執行系統使用或與其結合使用之程式碼的電腦可用或電腦可讀媒體存取。為了描述各種實施例之目的,電腦可用或電腦可讀媒體可為可含有、儲存、傳達、傳播或輸送用於由指令執行系統、裝置或器件使用或與其結合使用的程式之任何裝置。
媒體可為電子、磁、光學、電磁、紅外線或半導體系統(或裝置或器件)媒體。電腦可讀媒體之實例包括半導體或固態記憶體、磁帶、抽取式電腦磁片、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、剛性磁碟及光碟。光碟之當前實例包括緊密光碟-唯讀記憶體(CD-ROM)、緊密光碟-讀/寫(CD-R/W)及DVD。
適合於儲存及/或執行程式碼之資料處理系統可包括直接或經由系統匯流排間接耦接至記憶體元件之至少一處理器。該等記憶體元件可包括在程式碼之實際執行期間使用之本端記憶體、大量儲存器及快取記憶體,快取記憶體提供至少某一程式碼之暫時儲存以便減少在執行期間自大量儲存器擷取程式碼之次數。輸入/輸出或I/O器件(包括但不限於鍵盤、顯示器、指標器件等)可直接或經由插入之I/O控制器耦接至系統。
享有本發明之益處的熟習此項技術者將認識到,本發明預期實體及虛擬多重路徑I/O之動態管理。應將在實施方式及圖式中展示及描述的實施例之形式僅看作實例。以下申請專利範圍意欲加以廣泛地解釋以包含揭示的實例實施例之所有變化。
雖然已針對一些實施例詳細地描述了本發明及其一些優勢,但熟習此項技術者應理解,在不脫離如由隨附之申請專利範圍定義的本發明之精神及範疇之情況下,本文中可進行各種改變、取代及更改。雖然具體實施例可達成多個目標,但並非屬於附加的申請專利範圍之範疇的每一實施例均將達成每一目標。此外,本申請案之範疇並不意欲限於說明書中所描述之處理程序、機器、製造、物質組成、手段、方法及步驟之特定實施例。如一般熟習此項技術者將易於自本發明瞭解,可利用當前存在或日後將開發之執行與本文中描述之對應實施例大體上相同功能或達成大體上相同結果之處理程序、機器、製造、物質組成、手段、方法或步驟。因此,隨附申請專利範圍意欲在其範疇中包括此等處理程序、機器、製造、物質組成、手段、方法或步驟。
100...系統
104...記憶體
108...虛擬I/O伺服器
110...虛擬用戶端
111...應用程式
114...虛擬機監視器
116...記憶體控制器集線器(MCH)
118...非揮發性記憶體
120...I/O控制器集線器(ICH)
124...特殊應用積體電路(ASIC)
128...CD唯讀記憶體(ROM)驅動機
130...SATA硬碟機
132...SCSI配接器
140...處理器
142...核心
143...核心
150...處理器
152...核心
153...核心
160...顯示器
162...PCI控制器
164...USB配接器
166...通信配接器
170...光纖通道配接器
200...裝置
205...虛擬層
210...虛擬I/O伺服器
215...實體光纖通道主機匯流排配接器(HBA)驅動器
220...實體光纖通道HBA驅動器
223...N_Port ID虛擬化(NPIV)配接器驅動器
225...NPIV配接器驅動器
230...Linux用戶端
235...AIX用戶端
240...多重路徑I/O模組
242...NPIV配接器驅動器
243...NPIV配接器驅動器
244...實體光纖通道HBA驅動器/NPIV配接器驅動器
250...虛擬機監視器
252...I/O插槽
254...光纖通道卡
256...I/O插槽
258...光纖通道卡
260...儲存區域網路(SAN)交換器
262...處理器
264...記憶體模組
266...硬體層
270...SAN
280...I/O插槽
282...光纖通道卡
290...SAN交換器
300...裝置
310...記憶體
320...虛擬用戶端
330...虛擬I/O伺服器
340...虛擬機監視器
350...實體HBA
360...實體HBA
370...網路
圖1描繪包含兩個處理器、一虛擬機監視器、一顯示器及各種輸入輸出器件的可執行實體及虛擬多重路徑I/O之動態管理的系統之一實施例;
圖2說明一實施例可動態管理直接耦接至虛擬用戶端之一實體光纖通道卡與經由虛擬I/O伺服器耦接之一或多個實體光纖通道卡之間的多重路徑I/O之方式;
圖3描繪可動態管理一虛擬I/O路徑與一實體I/O路徑之間的多重路徑I/O之一裝置之一實施例;
圖4描繪說明一實施例可載入虛擬用戶端、虛擬I/O伺服器、虛擬機監視器且自不可用之HBA動態切換至可用之HBA的方式之流程圖;及
圖5說明用於動態管理實體及虛擬多重路徑I/O之一方法之一流程圖。
200...裝置
205...虛擬層
210...虛擬I/O伺服器
215...實體光纖通道主機匯流排配接器(HBA)驅動器
220...實體光纖通道HBA驅動器
223...N_Port ID虛擬化(NPIV)配接器驅動器
225...NPIV配接器驅動器
230...Linux用戶端
235...AIX用戶端
240...多重路徑I/O模組
242...NPIV配接器驅動器
243...NPIV配接器驅動器
244...實體光纖通道HBA驅動器/NPIV配接器驅動器
250...虛擬機監視器
252...I/O插槽
254...光纖通道卡
256...I/O插槽
258...光纖通道卡
260...儲存區域網路(SAN)交換器
262...處理器
264...記憶體模組
266...硬體層
270...SAN
280...I/O插槽
282...光纖通道卡
290...SAN交換器
Claims (24)
- 一種動態管理實體及虛擬多重路徑I/O之方法,其包含:使一虛擬用戶端能夠經由一第一實體主機匯流排配接器(HBA)在一儲存網路與該虛擬用戶端之間傳送資料;使一虛擬I/O伺服器能夠經由一第二實體HBA在該儲存網路與該虛擬I/O伺服器之間傳送資料;及動態地使該虛擬用戶端能夠經由該虛擬I/O伺服器及該第二實體HBA在該儲存網路與該虛擬用戶端之間傳送資料。
- 如請求項1之方法,其進一步包含:使該虛擬I/O伺服器能夠經由該第二實體HBA在該儲存網路與一第二虛擬用戶端之間傳送資料。
- 如請求項2之方法,其進一步包含:獲得用於複數個虛擬用戶端的該第二實體HBA之多個虛擬識別符位址。
- 如請求項3之方法,其進一步包含:偵測與該第一實體HBA相關聯之一故障,以使該虛擬用戶端能夠經由該第二實體HBA傳送資料。
- 如請求項1之方法,其進一步包含:經由一多重路徑I/O模組判定回應於該第一HBA變得對該虛擬用戶端不可用而經由該虛擬I/O伺服器及該第二實體HBA在該儲存網路與該虛擬用戶端之間傳送資料。
- 如請求項1之方法,其進一步包含:動態地使能夠回應於該第二HBA變得對該虛擬用戶端不可用而經由該虛擬I/O伺服器及一第三實體HBA在該儲存網路與該虛擬用戶端之間傳送資料,其中該第一實體HBA、該第二實體HBA及該第三實體HBA中之一者包含一光纖通道HBA,且一第二者包含一iSCSI HBA。
- 一種動態管理實體及虛擬多重路徑I/O之裝置,其包含:一虛擬用戶端模組,其經由一第一實體主機匯流排配接器(HBA)將資料傳送至一網路;一虛擬I/O伺服器模組,其經由一第二實體HBA將資料傳送至該網路;及一虛擬機監視器,其將該虛擬用戶端模組耦接至該虛擬I/O伺服器模組,其中該虛擬I/O伺服器經組態以使該虛擬用戶端能夠存取作為一虛擬HBA之該第二實體HBA,其中進一步,該虛擬用戶端模組、該虛擬I/O伺服器及該虛擬機監視器中之至少一者經組態以動態地使該虛擬用戶端模組能夠經由該第二實體HBA將資料傳送至該網路。
- 如請求項7之裝置,其進一步包含:一多重路徑I/O模組,其經組態以偵測該第一實體HBA及該第二實體HBA之可用性。
- 如請求項8之裝置,其中該虛擬用戶端模組包含該多重路徑I/O模組,其中進一步,該多重路徑I/O模組經組態以基於該偵測之可用性在該第一實體HBA與該第二實體HBA之間進行選擇。
- 如請求項8之裝置,其中該多重路徑I/O模組經組態以在該第一實體HBA與該第二實體HBA之間散布該虛擬用戶端模組之I/O工作負載,其中進一步,該虛擬機監視器包含一持有之虛擬機監視器。
- 如請求項7之裝置,其進一步包含:一第二虛擬I/O伺服器模組,其經由一第三實體HBA將資料傳送至該網路,其中該虛擬用戶端模組經組態以在該第一實體HBA及該第二實體HBA不可用後即經由該第二虛擬I/O伺服器模組及該第三實體HBA將資料動態傳送至該網路。
- 如請求項11之裝置,其中該第二虛擬I/O伺服器模組包含一多重路徑I/O模組,其經由一第四實體HBA將資料傳送至該網路,其中進一步,該第二虛擬I/O伺服器模組經組態以在該第三實體HBA不可用後即經由該第四實體HBA將資料動態傳送至該網路。
- 如請求項7之裝置,其中該虛擬機監視器經組態以回應於對與該第一實體HBA相關聯的一故障之偵測動態地使該虛擬用戶端模組能夠經由該第二實體HBA將資料傳送至該網路。
- 如請求項7之裝置,其中該第二實體HBA包含能夠支援N_Port ID虛擬化(NPIV)之一光纖通道HBA。
- 一種動態管理實體及虛擬多重路徑I/O之系統,其包含:一虛擬用戶端模組,其經組態以經由一第一光纖通道主機匯流排配接器(HBA)將資料傳送至一儲存區域網路(SAN);一虛擬I/O伺服器模組,其經由一第二光纖通道HBA將資料傳送至該SAN;及一虛擬機監視器,其將該虛擬用戶端模組耦接至該虛擬I/O伺服器模組,其中該虛擬I/O伺服器模組經組態以使該虛擬用戶端能夠存取作為一虛擬光纖通道HBA之該第二光纖通道HBA,其中進一步,該虛擬用戶端模組包含一多重路徑I/O模組以在該第二光纖通道HBA之一故障後即經由該第一光纖通道HBA將資料傳送至該SAN。
- 如請求項15之系統,其中該虛擬I/O伺服器模組經組態以在該虛擬用戶端模組與其他用戶端模組之間動態地分配實體I/O資源,其中進一步,該虛擬機監視器包含一原生虛擬機監視器。
- 如請求項15之系統,其中該虛擬機監視器經組態以基於該虛擬用戶端模組及其他虛擬用戶端模組之工作負載在該虛擬用戶端模組及該等其他虛擬用戶端模組間動態地分配複數個處理器之處理能力。
- 如請求項15之系統,其中該虛擬I/O伺服器模組經組態以支援並聯的一SCSI HBA、一iSCSI HBA、一SCSI RAID硬碟及一光學儲存器件。
- 如請求項15之系統,其中該虛擬用戶端模組經組態以:當該虛擬I/O伺服器模組在一第二伺服器之一第二邏輯分割區中操作時,在一第一伺服器之一第一邏輯分割區中操作。
- 如請求項15之系統,其中該系統經組態以使一使用者能夠將該虛擬用戶端模組自一第一大小之一第一邏輯分割區動態移動至一第二大小之一第二邏輯分割區。
- 一種電腦程式產品,其包含:一電腦可讀儲存媒體供動態管理實體及虛擬多重路徑I/O,其包括當由至少一處理器執行時進行以下操作之若干指令:將資料傳送至儲存器件之一網路,其中該傳送係經由一第一實體主機匯流排配接器(HBA)進行;經由一第二實體HBA將資料傳送至該網路,其中一虛擬HBA經組態以對於複數個虛擬用戶端經由該第二實體HBA將資料傳送至該網路;及動態地使該複數個虛擬用戶端中之一者能夠在該第一實體HBA及該第二實體HBA中之另一者之一故障後即經由該第一實體HBA及該第二實體HBA中之該一者存取該網路。
- 如請求項21之電腦程式產品,其進一步包含:當由該至少一處理器執行時自該網路獲得該第二實體HBA之多個識別符以使該複數個用戶端能夠各自將資料傳送至該網路之若干指令。
- 如請求項22之電腦程式產品,其中獲得多個識別符之該等指令包含獲得多個全球的全球埠名稱(WWPN)及光纖通道位址之指令。
- 如請求項23之電腦程式產品,其進一步包含:當由該至少一處理器執行時使該虛擬用戶端能夠動態地自一第一邏輯分割區(LPAR)移動至一第二LPAR之若干指令。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/268,238 US8041987B2 (en) | 2008-11-10 | 2008-11-10 | Dynamic physical and virtual multipath I/O |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201027354A TW201027354A (en) | 2010-07-16 |
TWI439867B true TWI439867B (zh) | 2014-06-01 |
Family
ID=42166274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098133308A TWI439867B (zh) | 2008-11-10 | 2009-09-30 | 動態實體及虛擬多重路徑輸入/輸出 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8041987B2 (zh) |
JP (1) | JP5489601B2 (zh) |
KR (1) | KR101107899B1 (zh) |
CN (1) | CN101741831B (zh) |
TW (1) | TWI439867B (zh) |
Families Citing this family (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7257811B2 (en) * | 2004-05-11 | 2007-08-14 | International Business Machines Corporation | System, method and program to migrate a virtual machine |
US8990800B2 (en) * | 2009-01-14 | 2015-03-24 | Dell Products L.P. | System and method for increased system availability to network storage in virtualized environments |
JP5477047B2 (ja) * | 2010-02-25 | 2014-04-23 | 富士通株式会社 | 情報処理装置、仮想計算機接続方法、プログラム及び記録媒体 |
US8719817B2 (en) * | 2010-03-25 | 2014-05-06 | Vmware, Inc. | Virtualization intermediary/virtual machine guest operating system collaborative SCSI path management |
US8244924B2 (en) * | 2010-06-24 | 2012-08-14 | International Business Machines Corporation | Discovery and configuration of device configurations |
US8726274B2 (en) | 2010-09-10 | 2014-05-13 | International Business Machines Corporation | Registration and initialization of cluster-aware virtual input/output server nodes |
US8495412B2 (en) * | 2010-09-10 | 2013-07-23 | International Business Machines Corporation | Autonomous propagation of virtual input/output (VIO) operation(s) to second VIO server (VIOS) due to a detected error condition at a first VIOS |
US20120096462A1 (en) * | 2010-10-18 | 2012-04-19 | Electronics And Telecommunications Research Institute | Dynamic virtualization technique for multicore processor system |
US20120110297A1 (en) * | 2010-10-29 | 2012-05-03 | Unisys Corp. | Secure partitioning with shared input/output |
US8930620B2 (en) * | 2010-11-12 | 2015-01-06 | Symantec Corporation | Host discovery and handling of ALUA preferences and state transitions |
US8627136B2 (en) * | 2010-12-27 | 2014-01-07 | Netapp Inc. | Non-disruptive failover of RDMA connection |
US8402191B2 (en) * | 2010-12-30 | 2013-03-19 | Stmicroelectronics, Inc. | Computing element virtualization |
WO2012157038A1 (ja) * | 2011-05-13 | 2012-11-22 | 株式会社日立製作所 | 接続経路管理方法、i/o仮想化装置及び接続経路管理プログラム |
JPWO2012176278A1 (ja) * | 2011-06-21 | 2015-02-23 | 富士通株式会社 | 情報処理装置、仮想マシン制御方法およびプログラム |
EP2725496A1 (en) * | 2011-06-21 | 2014-04-30 | Fujitsu Limited | Information processing device, virtual machine control method and program |
JP5422611B2 (ja) * | 2011-06-24 | 2014-02-19 | 株式会社日立製作所 | 計算機システム、ホストバスアダプタ制御方法及びそのプログラム |
CN102449621B (zh) * | 2011-08-25 | 2013-11-06 | 华为技术有限公司 | 一种节点控制器链路的切换方法、处理器系统和节点 |
US9530156B2 (en) * | 2011-09-29 | 2016-12-27 | Amazon Technologies, Inc. | Customizable uniform control user interface for hosted service images |
JP6007547B2 (ja) * | 2012-03-30 | 2016-10-12 | 日本電気株式会社 | 仮想化システム、スイッチコントローラ、ファイバチャネルスイッチ、マイグレーション方法、マイグレーションプログラム |
US8880934B2 (en) * | 2012-04-04 | 2014-11-04 | Symantec Corporation | Method and system for co-existence of live migration protocols and cluster server failover protocols |
US20130346532A1 (en) * | 2012-06-21 | 2013-12-26 | Microsoft Corporation | Virtual shared storage in a cluster |
US8750311B2 (en) | 2012-07-25 | 2014-06-10 | Hewlett-Packard Development Company, L.P. | Fibre channel host virtualization |
TW201416852A (zh) * | 2012-10-23 | 2014-05-01 | Hon Hai Prec Ind Co Ltd | 磁碟陣列卡自動修護方法及系統 |
KR101471879B1 (ko) | 2012-10-31 | 2014-12-11 | 삼성에스디에스 주식회사 | 하이퍼바이저 기반 서버 이중화 시스템, 그 방법 및 서버 이중화 컴퓨터 프로그램이 기록된 기록매체 |
US10404520B2 (en) | 2013-05-29 | 2019-09-03 | Microsoft Technology Licensing, Llc | Efficient programmatic memory access over network file access protocols |
US9641614B2 (en) | 2013-05-29 | 2017-05-02 | Microsoft Technology Licensing, Llc | Distributed storage defense in a cluster |
CN103559155B (zh) * | 2013-10-25 | 2016-09-14 | 华为技术有限公司 | 一种数据传输方法、相关装置及数据传输系统 |
US9710410B2 (en) * | 2013-10-31 | 2017-07-18 | Qualcomm Incorporated | Camera control slave devices with multiple slave device identifiers |
CN103577149B (zh) * | 2013-11-20 | 2017-02-08 | 华为技术有限公司 | Hba兼容处理方法、装置及系统 |
US9571585B2 (en) | 2013-11-26 | 2017-02-14 | International Business Machines Corporation | Using alternate port name for uninterrupted communication |
US9172600B1 (en) * | 2013-12-31 | 2015-10-27 | Symantec Corporation | Efficient I/O error analysis and proactive I/O failover to alternate paths for InfiniBand channel |
US9424216B2 (en) * | 2014-03-14 | 2016-08-23 | International Business Machines Corporation | Ascertaining configuration of a virtual adapter in a computing environment |
US9374324B2 (en) * | 2014-03-14 | 2016-06-21 | International Business Machines Corporation | Determining virtual adapter access controls in a computing environment |
US9262351B2 (en) | 2014-03-27 | 2016-02-16 | International Business Machines Corporation | Inter-adapter cooperation for multipath input/output systems |
US9569316B2 (en) * | 2014-09-11 | 2017-02-14 | International Business Machines Corporation | Managing VIOS failover in a single storage adapter environment |
CN104461951A (zh) * | 2014-11-19 | 2015-03-25 | 浪潮(北京)电子信息产业有限公司 | 动态管理物理和虚拟多路径i/o的方法及系统 |
US10223159B2 (en) * | 2015-02-18 | 2019-03-05 | Red Hat Israel, Ltd. | Configuring virtual machine interfaces to provide access to a requested logical network based on virtual function availability and a virtual function capability option |
US10257273B2 (en) | 2015-07-31 | 2019-04-09 | Netapp, Inc. | Systems, methods and devices for RDMA read/write operations |
US9952797B2 (en) | 2015-07-31 | 2018-04-24 | Netapp, Inc. | Systems, methods and devices for addressing data blocks in mass storage filing systems |
CN105630715A (zh) * | 2015-12-18 | 2016-06-01 | 国云科技股份有限公司 | 一种基于Multipath的存储预警方法 |
US10057153B1 (en) * | 2016-06-02 | 2018-08-21 | Cisco Technology, Inc. | Detecting slow virtual devices |
US20180143932A1 (en) * | 2016-11-21 | 2018-05-24 | Intel Corporation | Apparatuses and methods to spawn multiple virtual serial bus hub instances on a same physical serial bus hub |
US20180181421A1 (en) * | 2016-12-27 | 2018-06-28 | Intel Corporation | Transferring packets between virtual machines via a direct memory access device |
US10275327B2 (en) * | 2017-01-05 | 2019-04-30 | Hewlett Packard Enterprises Development LP | Virtual fibre channel port migration |
US11070512B2 (en) * | 2017-02-10 | 2021-07-20 | International Business Machines Corporation | Server port virtualization for guest logical unit number (LUN) masking in a host direct attach configuration |
DE102017103554B3 (de) * | 2017-02-21 | 2018-05-09 | Phoenix Contact Gmbh & Co. Kg | Frontadapter zum Verbinden mit einer Steuerungseinrichtung und Automatisierungssystem |
US10338829B2 (en) | 2017-05-05 | 2019-07-02 | Dell Products, L.P. | Managing multipath configuraton in data center using remote access controller |
CN107612777B (zh) * | 2017-09-25 | 2020-09-22 | 苏州浪潮智能科技有限公司 | 一种光纤交换机检测工具及方法 |
US11204792B2 (en) | 2018-04-04 | 2021-12-21 | International Business Machines Corporation | Attaching storage resources to virtual machine instances |
US10592155B2 (en) * | 2018-04-10 | 2020-03-17 | International Business Machines Corporation | Live partition migration of virtual machines across storage ports |
US11048556B2 (en) * | 2018-04-12 | 2021-06-29 | International Business Machines Corporation | Multi-channel, multi-control logical partition migration |
US10496486B1 (en) * | 2018-06-29 | 2019-12-03 | International Business Machines Corporation | Protecting data integrity in a multiple path input/output environment |
US11050660B2 (en) * | 2018-09-28 | 2021-06-29 | EMC IP Holding Company LLC | Host device with multi-path layer implementing path selection based at least in part on fabric identifiers |
US11336509B2 (en) * | 2018-10-31 | 2022-05-17 | EMC IP Holding Company LLC | Detecting single points of failure on a storage system |
CN109358990A (zh) * | 2018-11-01 | 2019-02-19 | 郑州云海信息技术有限公司 | 一种多控系统中的信息传输方法、装置及存储介质 |
US10545785B1 (en) * | 2018-11-12 | 2020-01-28 | Hewlett Packard Enterprise Development Lp | Virtual host bus adapter logins |
US10833982B2 (en) * | 2018-11-29 | 2020-11-10 | International Business Machines Corporation | Server-side path selection in multi virtual server environment |
US10963416B2 (en) * | 2019-05-29 | 2021-03-30 | Mastercard International Incorporated | Systems, computer-readable media and computer-implemented methods for network adapter activation in connection with fibre channel uplink mapping |
CN111522692B (zh) * | 2020-04-20 | 2023-05-30 | 浙江大学 | 一种基于虚拟机的多操作系统输入及输出设备冗余保障系统 |
CN111522760A (zh) * | 2020-04-22 | 2020-08-11 | 北京思特奇信息技术股份有限公司 | 一种基于总线模式的应用接口通信方法和系统 |
CN114257541A (zh) * | 2020-09-10 | 2022-03-29 | 华为技术有限公司 | 一种故障链路的切换方法、系统及相关设备 |
US11392459B2 (en) * | 2020-09-14 | 2022-07-19 | EMC IP Holding Company LLC | Virtualization server aware multi-pathing failover policy |
US11709699B2 (en) | 2020-11-24 | 2023-07-25 | International Business Machines Corporation | Virtualized fabric name server for storage area network |
US11683372B2 (en) * | 2020-11-24 | 2023-06-20 | International Business Machines Corporation | Virtualized fabric management server for storage area network |
US11522814B2 (en) | 2020-11-24 | 2022-12-06 | International Business Machines Corporation | Virtualized fabric login server for storage area network |
CN117591037B (zh) * | 2024-01-18 | 2024-05-03 | 山东云海国创云计算装备产业创新中心有限公司 | 一种虚拟化数据访问系统、方法、装置及服务器 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001155420A (ja) * | 1999-11-25 | 2001-06-08 | Tomcat Computer Kk | Cdシステム |
JP4039794B2 (ja) * | 2000-08-18 | 2008-01-30 | 富士通株式会社 | マルチパス計算機システム |
KR100372915B1 (ko) * | 2001-01-02 | 2003-02-19 | 김한규 | 네트워크에 직접 부착 가능한 디스크 시스템 |
KR20030030148A (ko) | 2001-10-08 | 2003-04-18 | 주식회사 엑사큐브시스템 | 시스템 소프트웨어 및 지유아이(gui) 기반 관리소프트웨어를 이용한 네트워크 연결형 가상 저장방법 및그 시스템 |
JP3957065B2 (ja) * | 2002-08-28 | 2007-08-08 | 富士通株式会社 | ネットワーク計算機システムおよび管理装置 |
US7307948B2 (en) * | 2002-10-21 | 2007-12-11 | Emulex Design & Manufacturing Corporation | System with multiple path fail over, fail back and load balancing |
US7783779B1 (en) * | 2003-09-19 | 2010-08-24 | Vmware, Inc | Storage multipath management in a virtual computer system |
WO2005091141A1 (en) * | 2004-03-19 | 2005-09-29 | Zakrytoe Aktsionernoe Obschestvo 'intel A/O' | Failover and load balancing |
JP2006079495A (ja) * | 2004-09-13 | 2006-03-23 | Hitachi Ltd | ストレージシステム及び論理区画の設定方法 |
JP2006094313A (ja) * | 2004-09-27 | 2006-04-06 | Fujitsu Ltd | ルーティングリカバリシステム |
US7711978B1 (en) * | 2004-12-30 | 2010-05-04 | Symantec Operating Corporation | Proactive utilization of fabric events in a network virtualization environment |
US7496790B2 (en) * | 2005-02-25 | 2009-02-24 | International Business Machines Corporation | Method, apparatus, and computer program product for coordinating error reporting and reset utilizing an I/O adapter that supports virtualization |
US20060195663A1 (en) * | 2005-02-25 | 2006-08-31 | International Business Machines Corporation | Virtualized I/O adapter for a multi-processor data processing system |
CN100485630C (zh) * | 2005-11-21 | 2009-05-06 | 国际商业机器公司 | 具有中央控制的数据备份的方法和系统 |
JP4486921B2 (ja) * | 2005-12-09 | 2010-06-23 | 富士通株式会社 | ストレージ仮想化装置およびそれを用いたコンピュータシステム |
US7599397B2 (en) * | 2005-12-27 | 2009-10-06 | International Business Machines Corporation | Obtaining multiple port addresses by a fibre channel switch from a network fabric |
US7921431B2 (en) * | 2006-01-20 | 2011-04-05 | Emulex Design & Manufacturing Corporation | N-port virtualization driver-based application programming interface and split driver implementation |
US7543081B2 (en) * | 2006-08-08 | 2009-06-02 | International Business Machines Corporation | Use of N—Port ID virtualization to extend the virtualization capabilities of the FC-SB-3 protocol and other protocols |
JP4847272B2 (ja) * | 2006-10-18 | 2011-12-28 | 株式会社日立製作所 | 論理区画ごとに電源を管理する計算機システム、ストレージ装置及びそれらの制御方法 |
JP5057366B2 (ja) * | 2006-10-30 | 2012-10-24 | 株式会社日立製作所 | 情報システム及び情報システムのデータ転送方法 |
US7793139B2 (en) * | 2006-12-12 | 2010-09-07 | International Business Machines Corporation | Partial link-down status for virtual Ethernet adapters |
JP2008186211A (ja) * | 2007-01-30 | 2008-08-14 | Hitachi Ltd | 計算機システム |
US7711979B2 (en) * | 2007-02-16 | 2010-05-04 | Symantec Corporation | Method and apparatus for flexible access to storage facilities |
US7778157B1 (en) * | 2007-03-30 | 2010-08-17 | Symantec Operating Corporation | Port identifier management for path failover in cluster environments |
US8341308B2 (en) * | 2008-06-09 | 2012-12-25 | International Business Machines Corporation | Method and apparatus for a fibre channel N-port ID virtualization protocol |
-
2008
- 2008-11-10 US US12/268,238 patent/US8041987B2/en not_active Expired - Fee Related
-
2009
- 2009-08-20 KR KR1020090077109A patent/KR101107899B1/ko active IP Right Grant
- 2009-08-27 JP JP2009197241A patent/JP5489601B2/ja active Active
- 2009-09-30 TW TW098133308A patent/TWI439867B/zh active
- 2009-11-09 CN CN2009101744249A patent/CN101741831B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101741831A (zh) | 2010-06-16 |
KR20100052397A (ko) | 2010-05-19 |
CN101741831B (zh) | 2013-11-27 |
US20100122111A1 (en) | 2010-05-13 |
JP2010113707A (ja) | 2010-05-20 |
JP5489601B2 (ja) | 2014-05-14 |
KR101107899B1 (ko) | 2012-01-25 |
TW201027354A (en) | 2010-07-16 |
US8041987B2 (en) | 2011-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI439867B (zh) | 動態實體及虛擬多重路徑輸入/輸出 | |
US7930511B2 (en) | Method and apparatus for management between virtualized machines and virtualized storage systems | |
US10423332B2 (en) | Fibre channel storage array having standby controller with ALUA standby mode for forwarding SCSI commands | |
US8516294B2 (en) | Virtual computer system and control method thereof | |
US8825964B1 (en) | Adaptive integration of cloud data services with a data storage system | |
US20140047441A1 (en) | Information processing apparatus, virtual machine control method, and program | |
US11481356B2 (en) | Techniques for providing client interfaces | |
US20120324039A1 (en) | Computer system and disk sharing method used thereby | |
US11003357B2 (en) | Managing single path communication between a host and a storage system | |
US11947805B2 (en) | Load balancing using storage system driven host connectivity management | |
US11693800B2 (en) | Managing IO path bandwidth | |
US20100100676A1 (en) | Systems And Methods Of Presenting Virtual Tape Products To A Client | |
US11347439B2 (en) | Managing I/O communications based on transceiver state | |
US11340809B1 (en) | Redirecting i/o communications based on network topology | |
US11720254B2 (en) | Managing I/O connections using virtual host ports | |
US11455101B2 (en) | Managing I/O connectivity issues | |
US11784916B2 (en) | Intelligent control plane communication |