CN101741831A - 动态物理和虚拟多路径输入/输出的方法、系统和装置 - Google Patents

动态物理和虚拟多路径输入/输出的方法、系统和装置 Download PDF

Info

Publication number
CN101741831A
CN101741831A CN200910174424A CN200910174424A CN101741831A CN 101741831 A CN101741831 A CN 101741831A CN 200910174424 A CN200910174424 A CN 200910174424A CN 200910174424 A CN200910174424 A CN 200910174424A CN 101741831 A CN101741831 A CN 101741831A
Authority
CN
China
Prior art keywords
virtual
host bus
bus adapter
physical host
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910174424A
Other languages
English (en)
Other versions
CN101741831B (zh
Inventor
J·P·艾伦
R·G·科瓦奇
J·A·帕富米
J·B·帕特里奇
J·J·罗萨莱斯
S·M·蒂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101741831A publication Critical patent/CN101741831A/zh
Application granted granted Critical
Publication of CN101741831B publication Critical patent/CN101741831B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2002Error 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/2005Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation 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)

Abstract

本发明涉及一种动态物理和虚拟多路径输入/输出的方法、系统和装置。构想了动态地管理物理和虚拟多路径输入/输出的实施例。各个实施例包括一个或多个计算设备,例如具有至少两个主机总线适配器的一个或多个服务器。所述主机总线适配器中的至少一个可与虚拟输入/输出服务器相关,后者采用所述主机总线适配器在多个虚拟客户端和存储区网络的一个或多个存储设备之间传送数据。所述实施例可监视所述主机总线适配器的可用性,例如监视主机总线适配器的故障或与所述主机总线适配器耦合的设备的故障。在检测到所述主机总线适配器之一不可用时,所述实施例可动态地从与不可用的主机总线适配器相关的输入/输出路径切换至备选主机总线适配器。

Description

动态物理和虚拟多路径输入/输出的方法、系统和装置
技术领域
一般地,本发明涉及计算和信息存储设备;更具体地,涉及计算和信息存储设备的动态物理和虚拟多路径输入/输出(I/O)。
背景技术
常用类型的计算设备是桌面型计算机和服务器系统。对于信息存储,日益普遍的技术被称为存储区网络化,或简单地称为存储区网络(SAN)。SAN技术包括以如下方式将远程计算机存储设备(例如盘阵列和光学存储阵列)连接至服务器和其他计算设备,即对于共享存储设备的计算设备和操作系统来说,所述存储设备似乎是本地连接的设备。
光纤通道交换机通常将服务器和其他计算设备连接至SAN。在传统光纤通道SAN中,输入/输出控制器(IOC)或主机总线适配器(HBA)包括经由光纤通道链路连接至光纤通道交换机或只是一组磁盘(JBOD)的N端口(N_Port)。在初始化期间,主机操作系统(OS)的驱动器初始化光纤通道序列,并使得HBA向光纤通道交换机发送结构登录命令(FLOGI),其包括用于N端口的全球端口名称(WWPN)。光纤通道交换机向N端口返回FLOGI响应,其包括与N端口的WWPN相关的光纤通道地址或虚拟标识符(虚拟ID)。
驱动器还执行发现功能,其中经由HBA使得驱动器与光纤通道交换机通信并获得结构(fabric)中的全部设备的地址列表。然后,发现功能包括去往每个地址,登录到与该地址相关的设备,以及确定该设备是否为光纤通道/小型计算机系统接口(SCSI)目标。如果该设备是光纤通道/SCSI目标,则发现功能建立目标和HBA之间的连接。此外,将物理光纤通道链路作为SCSI总线暴露给OS,此后以传统SCSI方式使得与被发现的FC/SCSI设备相关的远程端口似乎是SCSI总线上的目标。
由于只能将一个WWPN和光纤通道地址分配给单个光纤通道链路上的N端口,所以传统的光纤通道SAN受到限制。换言之,传统计算模型构想了每个计算设备具有一个OS,从而OS显式地拥有光纤通道端口。因此,基于光纤通道端口定义了系统管理工具,例如分区和选择性存储表示/逻辑单元号(LUN)屏蔽。
然而,光纤通道SAN技术已经被扩展为包括N端口ID虚拟化(NPIV)。NPIV是虚拟化物理光纤通道端口的标准化方法。NPIV允许连接结构的N端口要求多个光纤通道地址。每个地址都似乎是光纤通道结构上的唯一实体。通过利用NPIV,可将光纤通道交换机可识别的多个WWPN和光纤通道地址分配给单个物理光纤通道链路和N端口。使得物理光纤通道端口对于结构而言似乎是多个实体因此扩展或推广了传统计算模型。
工程师通过在计算设备的物理处理器和SAN之间创建多个物理路径而提高了SAN的容错性和性能。通常,多个物理路径涉及通过诸如多个总线、多个控制器、多个交换机、和多个桥接设备之类的设备创建I/O路径。典型地,创建多个路径的技术被称为多路径I/O。多路径I/O的现有方案使用专用物理资源,例如专用光纤通道主机总线适配器、交换机端口、电缆、和其他物理资源元件。
发明内容
如下详细描述了附图中所示的实施例。描述的细节可以清楚地传达实施例的各个方面。然而,所提供的细节的数量并非旨在限制实施例的预期变型。相反,其旨在覆盖由所附权利要求限定的各个实施例的所有修改物、等同物、和替代物。下文的详细描述旨在使得这些实施例对于本领域普通技术人员是显而易见的。
一般地,构想了动态管理物理和虚拟多路径I/O的方法、装置、系统、和计算机程序产品。各个实施例包括一个或多个计算设备,例如具有至少两个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之一访问所述网络。
附图说明
在阅读如下具体实施方式并参照附图时,各个实施例的方面将变得清楚,其中类似的标号可表示类似的元素:
图1示出可执行物理和虚拟多路径I/O的动态管理的系统的实施例,其包括2个处理器、虚拟机监视器、显示器、和各种输入-输出设备;
图2示出实施例可如何动态地管理在直接耦合至虚拟客户端的物理光纤通道卡与经由虚拟I/O服务器耦合的一个或多个物理光纤通道卡之间的多路径I/O;
图3示出可动态地管理虚拟I/O路径和物理I/O路径之间的多路径I/O的装置的一个实施例;
图4是示出实施例可如何加载虚拟客户端、虚拟I/O服务器、虚拟机监视器,并动态地从不可用HBA切换至可用HBA的流程图;以及
图5示出动态地管理物理和虚拟多路径I/O的方法的流程图。
具体实施方式
下文是附图中所示的新颖性实施例的具体描述。实施例的细节可清楚地传达主题。然而,所提供的细节的数量并非旨在限制所述实施例的预期变型。相反,权利要求和具体描述覆盖了落入由所附权利要求限定的本教导的精神和范围内的所有修改物、等同物、和替代物。以下详细描述旨在使得本领域普通技术人员可理解这些实施例。
在以下许多段落中,使用术语“服务器”讨论了多个实施例。还使用了术语“计算设备”。即使这样,这些术语的使用是为了本领域普通技术人员进行说明。一般地,在此的教导可与耦合至网络(包括SAN)的多种类型的计算设备一起使用。
现在转到附图,图1示出系统100,其具有2个处理器140和150、存储器控制器集线器(MCH)116、存储器104、和I/O控制器集线器(ICH)120。在多个实施例中,系统100可包括服务器。在其他实施例中,系统100可包括不同类型的计算设备,例如大型计算机或大型计算机系统的一部分、桌面型计算机、或笔记本计算机。
处理器140和150可具有多个核,例如核142、143、152和153,它们可与处理器140和150的高速缓冲存储器元件耦合。例如,处理器150可具有与内部处理器高速缓冲存储器耦合的核152和153。处理器的数目和核的数目可随实施例而改变。例如,当系统100具有2个处理器140和150时,备选实施例可具有其他数目的处理器,例如1个、4个、8个或某些其他数目。处理器的核的数目也可随实施例而改变,例如1个核、4个核、5个核、或某些其他数目的核。
如图1所示,系统100可执行存储器104的一个或多个虚拟客户端(例如虚拟客户端110)中的多个应用(例如应用111)。例如,系统100可包括机架安装服务器中的大型服务器系统的一部分,例如计算板、或刀片服务器。处理器140和150可执行用于系统100的用户执行的程序和应用111的操作指令。应用111可包括例如网络邮件程序和若干生产性应用,例如文字处理应用和计算机辅助设计(CAD)应用。
处理器140和150可通过与MCH 116交互来执行存储器104中的指令。包含存储器104的存储器件的类型可在不同实施例中改变。在一些实施例中,存储器104可包括易失性存储器元件,例如4个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运行。例如,虚拟I/O服务器108可与虚拟机监视器114结合地工作,以使得虚拟客户端110和其他虚拟客户端能够与各个物理I/O硬件元件交互。
ICH 120可使得处理器140和150与外围设备(例如键盘、扫描仪、和数据存储设备)交互。由处理器140和150执行的程序和应用可与外围设备交互。例如,处理器140和150可经由与例如加速图形端口(AGP)视频卡耦合的显示器160向用户呈现信息。控制台或显示设备的类型可以是例如阴极射线管(CRT)监视器、液晶显示器(LCD)屏、或薄膜晶体管平板监视器。
显示器160可允许用户查看应用111以及与应用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能够通过使用通信适配器166经由相关NIC与主iSCSI硬盘通信,以及向/从主iSCSI硬盘传送信息。在主iSCSI硬盘或iSCSI硬盘与通信适配器166之间的互连网络设备出现故障或维护时,系统100的实施例可允许虚拟客户端110通过使用二级通信适配器和耦合至虚拟I/O服务器108的二级NIC向/从二级iSCSI硬盘传送信息。
针对不同的通信适配器166,备选实施例可采用不同的技术。例如,针对通信适配器166,一个实施例可利用虚拟光纤总线,而另一实施例可采用高速链路(HSL)光连接。
除了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可存储
Figure G2009101744249D00081
Figure G2009101744249D00082
OS X、
Figure G2009101744249D00083
或系统100加载到一个或多个LPAR中的某些其他操作系统。
在各个实施例中,ICH 120可允许由虚拟机监视器114管理的分区中的应用存储和检索非易失性存储器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交换机。相反地,在不同实施例中,系统100可不包括图1中所示的实施例所示出的所有元素。例如,系统100的某些实施例可不包括SCSI适配器132、PCI控制器162、USB适配器164、CD-ROM驱动器128、和ASIC124中的一个或多个。
为了提供系统或装置200可如何动态地管理物理和虚拟多路径I/O的更详细实例,现在转到图2。图2示出实施例可如何动态地管理与SAN 270耦合的物理和虚拟光纤通道的I/O。例如,虚拟机监视器250和处理器262可分别包括图1中的装置或系统的元素,例如虚拟机监视器114和处理器140和150。
虚拟机监视器250可使得硬件层266的一个或多个元素能够分成多个逻辑分区,并确保分区之间的隔离。例如,只要装置200运行,虚拟机监视器250就始终运行,以通过处理器262的共享物理处理器分派虚拟机客户端和虚拟I/O服务器的逻辑分区工作负荷。图2示出2个虚拟客户端,
Figure G2009101744249D00091
客户端230和客户端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中表示的2个虚拟机客户端,
Figure G2009101744249D00093
客户端230和
Figure G2009101744249D00094
客户端235。例如,
Figure G2009101744249D00095
客户端230可驻留在一个LPAR中,而
Figure G2009101744249D00096
客户端235驻留在另一
Figure G2009101744249D00097
中。装置200的LPAR可以指微处理器资源、存储器资源、和I/O资源的逻辑分组或分区。
根据装置中的资源需求和资源可用性,资源的量可在不同实施例中改变,甚至在一个实施例中改变。例如,一个或多个LPAR可包括共享处理器分区,可选地称为微分区,从而装置200从单个物理处理器池向LPAR分配处理器资源。取决于实施例,装置200分配给微分区的处理器容量的范围可以从例如物理处理器的百分之十(10%)直到物理共享处理器池的整个容量。在许多实施例中,可以在专用处理器分区或微分区中执行每个虚拟机(例如虚拟I/O服务器210或
Figure G2009101744249D00101
客户端235)。
如图2所示,装置可具有多个I/O槽,例如I/O槽252、256和280。I/O槽252、256和280中的一个或多个可包括例如8Gb PCIe主机总线适配器I/O槽。尽管图2仅示出只具有3个I/O槽的装置200,但是备选实施例可具有更少或更多的I/O槽。例如,一个实施例可包括8个、16个、32个、或甚至更多个I/O槽。装置200的每个I/O槽都具有光纤通道接口卡。I/O槽252耦合至光纤通道卡254,而I/O槽256和280分别耦合至光纤通道卡258和282。
取决于实施例,虚拟I/O服务器可采用光纤通道卡、主机控制器、主机适配器、和主机总线适配器(HBA)中的一个或多个将装置或主机系统连接至其他网络和存储设备。以上使用的术语“卡/适配器”可指用于连接SCSI、光纤通道、和eSATA设备的设备。此外,本领域普通技术人员通常使用诸如“主机适配器”的术语来表示将主机系统连接至IDE、以太网、FireWire、USB和其他系统的设备。此外,一些实施例可采用例如以太网HBS这样的元件,其中引入iSCSI,其与以太网NIC的不同在于以太网HBA可包括硬件iSCSI专用的TCP卸载引擎。当动态地管理物理和虚拟多路径I/O时,对于网络和存储设备连接,不同实施例可采用每个不同类型设备中的一个或多个。
装置200的管理员可配置客户端235和/或虚拟机监视器250,使得I/O槽280和光纤通道卡282专用于
Figure G2009101744249D00103
客户端235。例如,虚拟机监视器可被配置仅允许
Figure G2009101744249D00104
客户端235经由I/O槽280和光纤通道卡282与SAN交换机290通信,防止如
Figure G2009101744249D00111
客户端230的其他虚拟客户端访问或使用I/O槽280和光纤通道卡282。
在多个实施例中,虚拟I/O服务器(如虚拟I/O服务器210)可为客户端230和
Figure G2009101744249D00113
客户端235提供虚拟SCSI目标和共享以太网能力,从而允许
Figure G2009101744249D00114
客户端230和
Figure G2009101744249D00115
客户端235共享SCSI设备和以太网适配器。例如,装置200的管理员可按如下方式配置虚拟I/O服务器210和/或虚拟机监视器250,即,使得具有光纤通道卡254的I/O槽252和具有光纤通道卡258的I/O槽256专用于虚拟I/O服务器210。按图2中所示的方式布置,虚拟I/O服务器210可允许SAN 270的物理存储资源的可视化。装置200的客户端分区可访问SAN 270的物理存储设备,后者通过虚拟I/O服务器210对客户端分区表示为虚拟化存储设备。换言之,装置200可使得客户端分区(例如
Figure G2009101744249D00116
客户端230和
Figure G2009101744249D00117
客户端235)能够作为标准SCSI兼容逻辑单元(LUN)来访问虚拟SCSI设备。
通过将NPIV与共享虚拟I/O服务器210的能力的适配器耦合,装置200允许跨多个客户(或客户端)操作系统(例如
Figure G2009101744249D00118
客户端230和
Figure G2009101744249D00119
客户端235)共享物理光纤通道主机总线适配器(例如光纤通道卡254和258)。换言之,装置200可为光纤通道卡254和258实现NPIV,使得每个LPAR具有包含专用WWPN的虚拟光纤通道HBA。每个虚拟光纤通道HBA可具有与专用物理HBA的SAN身份相比较的唯一SAN身份。
装置200还可采用NPIV来动态地管理物理和虚拟多路径I/O,以实现共享资源的冗余。装置200可采用动态物理和虚拟多路径I/O,以通过提供从LPAR到存储设备的多个路径来提高数据可用性。例如,图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槽256和光纤通道卡258将从虚拟I/O服务器210到SAN 270的数据传输限制在7.5Gb/s的平均值。然而,如果没有虚拟客户端访问I/O槽252,则虚拟I/O服务器210可通过协同地操作I/O槽252和256将传输速率增加至15Gb/s的平均值。
装置200使得客户端235和
Figure G2009101744249D00122
客户端230能够支持物理和虚拟I/O两者,这又可使装置200能够实现动态物理和虚拟多路径I/O。换言之,通过动态地管理物理和虚拟多路径I/O,装置200可同时创建从LPAR到存储设备的物理和虚拟路径。例如,物理路径可包括专用光纤通道适配器。在图2中,来自
Figure G2009101744249D00123
客户端235的物理路径可包括通过虚拟机监视器250从物理光纤通道HBA驱动器244到I/O槽280和光纤通道卡282、到SAN交换机290、和到SAN 270的路径。来自
Figure G2009101744249D00124
客户端235的虚拟路径可包括通过虚拟机监视器250从NPIV适配器驱动器242到NPIV适配器驱动器225、到物理光纤通道HBA驱动器215的路径,通过虚拟机监视器250到I/O槽252和光纤通道卡254、到SAN交换机260和SAN 270的路径。
对于物理和虚拟多路径I/O的动态管理,在初始化期间,物理光纤通道HBA驱动器215可启动光纤通道初始化序列,并使得光纤通道卡254向SAN交换机260发送结构登录命令(FLOGI),其包括用于光纤通道卡254的N端口的全球端口名称(WWPN)。SAN交换机260可向光纤通道卡254的N端口返回FLOGI响应,其包括与N端口的WWPN相关的FC地址。
物理光纤通道HBA驱动器215还可执行发现功能,其中物理光纤通道HBA驱动器215经由光纤通道卡254与SAN交换机260通信并获得与SAN交换机260相关的结构中的全部设备的地址列表。然后,物理光纤通道HBA驱动器215可查询每个地址,登录与每个地址相关的每个设备,以及确定该设备是否为光纤通道/SCSI目标。如果该设备是光纤通道/SCSI目标,则物理光纤通道HBA驱动器215可在目标和光纤通道卡254之间建立连接。此外,物理光纤通道HBA驱动器215可随后将光纤通道卡254和SAN交换机260之间的每个相关物理光纤通道链路表示为到虚拟层205的虚拟客户端的SCSI总线,此后与被发现的光纤通道/SCSI设备相关的远程端口似乎是SCSI总线上的目标。
装置200可采用NPIV以使得光纤通道卡254的N端口要求多个光纤通道地址。例如,物理光纤通道HBA驱动器215可要求用于
Figure G2009101744249D00131
客户端235的一个光纤通道地址和用于
Figure G2009101744249D00132
客户端230的第二光纤通道地址。每个地址似乎是光纤通道结构的唯一实体。换言之,通过利用NPIV,可将SAN交换机260可识别的多个WWPN和光纤通道地址分配给单个物理FC链路和N端口。此外,虚拟I/O服务器210和
Figure G2009101744249D00133
客户端235均可包括虚拟设备驱动器,例如分别为NPIV适配器驱动器225和NPIV适配器驱动器242,其中虚拟设备驱动器能够支持NPIV。
将多个WWPN和光纤通道地址分配给一个物理N端口可允许装置200执行具有独立操作系统的多个虚拟客户端。不是使得光纤通道卡254的端口专用于一个虚拟客户端,而是每个虚拟客户端的每个操作系统可唯一地具有一个或多个唯一和专用的光纤通道地址,以及用于每个光纤通道地址的相关唯一WWPN。通过使用NPIV,装置200还使得其他光纤通道卡(例如光纤通道卡258)的N端口能够要求多个光纤通道地址。
装置200可采用动态物理和虚拟多路径I/O,以通过利用较少的物理资源增加I/O冗余。例如,代替为了冗余I/O而需要2个专用物理I/O槽的
Figure G2009101744249D00134
客户端235,
Figure G2009101744249D00135
客户端235可使用1个专用物理I/O槽和相关HBA,但仍提供到与VIOS 210相关的虚拟HBA的故障转移路径。更详细实例可有助于示出此动态物理和虚拟多路径I/O概念。
如图2所示,装置200具有
Figure G2009101744249D00136
客户端235,其具备单个专用物理光纤通道HBA,后者包括与物理光纤通道HBA驱动器244耦合的光纤通道卡282。光纤通道卡282和物理光纤通道HBA驱动器244可包括
Figure G2009101744249D00137
客户端235用于向SAN 270存储数据以及从SAN 270检索数据的主I/O通道。
Figure G2009101744249D00138
客户端235还可配置有2个虚拟光纤通道HBA,包括NPIV适配器驱动器242和NPIV适配器驱动器243。例如,在
Figure G2009101744249D00139
客户端235和虚拟I/O服务器210之间的一个虚拟光纤通道I/O路径可包括由虚拟机监视器250在NPIV适配器驱动器242和NPIV适配器驱动器225之间提供的虚拟路径。第二虚拟光纤通道I/O路径可包括由虚拟机监视器250在NPIV适配器驱动器243和NPIV适配器驱动器223之间提供的虚拟路径。
NPIV适配器驱动器225可与物理光纤通道HBA驱动器215耦合,以使得虚拟I/O服务器210能够经由I/O槽252、光纤通道卡254、和SAN交换机260在装置200和SAN 270之间传送数据。NPIV适配器驱动器223可与物理光纤通道HBA驱动器220耦合,以使得虚拟I/O服务器210能够经由I/O槽256、光纤通道卡258、和SAN交换机260在装置200和SAN270之间传送数据。NPIV适配器驱动器225和223、物理光纤通道HBA驱动器215和220、以及光纤通道卡254和258可包括
Figure G2009101744249D00141
客户端235用以向SAN 270存储数据以及从SAN 270检索数据的二级和三级I/O通道。
多路径I/O模块240可识别
Figure G2009101744249D00142
客户端235被配置使用的各个物理光纤通道HBA和虚拟光纤通道HBA I/O数据路径。此外,多路径I/O模块240可动态地检测各个物理和虚拟I/O数据路径的故障,并使得
Figure G2009101744249D00143
客户端235能够动态地故障转移至备选I/O数据路径。例如,在一种操作模式期间,客户端235可使用由物理光纤通道HBA驱动器244代表的主I/O通道,以在
Figure G2009101744249D00145
客户端235和SAN 270之间传送数据。
在出现故障或在维护时,例如SAN交换机290正在经历硬件问题,多路径I/O模块240可检测与物理光纤通道HBA驱动器244相关的故障,以及将客户端235的主I/O通道从物理光纤通道HBA驱动器244切换至与NPIV适配器驱动器242相关的二级I/O通道。此外,在二级I/O通道出现故障时,多路径I/O模块240也可检测故障,并将
Figure G2009101744249D00147
客户端235的当前活动I/O通道从NPIV适配器驱动器242切换至与NPIV适配器驱动器244相关的三级I/O通道。
尽管示例性实施例描述了将单个专用物理光纤通道HBA用作主I/O通道,以及将2个虚拟光纤通道HBA用作二级和三级故障转移I/O通道或路径,但是备选实施例可配置有不同类型的主HBA并不同数量的故障转移HBA。例如,备选实施例可将单个虚拟光纤通道HBA用作主I/O通道和相关数据路径,其中与iSCSI存储设备耦合的单个物理以太网HBA用作二级I/O通道和相关数据路径。
在动态物理和虚拟多路径I/O的协助下,装置200可动态地将
Figure G2009101744249D00151
客户端235或Linux客户端230从一个物理服务器移动至另一个,而无需中断与客户端相关的I/O。分区的移动可包括分区正在执行的全部应用,即,所有托管的应用。在不同服务器之间移动逻辑分区可允许按计划维护服务器硬件,而无需中断由虚拟客户端提供的服务。例如,系统管理员可将大量使用的逻辑分区移动至更大的机器,而无需中断由分区提供的服务。备选地,系统管理员可根据工作负荷需求将分区移动至具有更多可用处理能力的服务器,或调节服务器硬件的使用率以对用户保持特定服务水平。
更特定的实例可更详细地示出动态物理和虚拟多路径I/O可如何实现逻辑分区的重定位。虚拟机监视器250可被配置为在不同逻辑分区(例如
Figure G2009101744249D00152
客户端235和
Figure G2009101744249D00153
客户端230)之间分配处理能力。例如,
Figure G2009101744249D00154
客户端235可具有被分配的2个处理单元和2个虚拟处理器,而
Figure G2009101744249D00155
客户端230也可具有被分配的2个处理单元和2个虚拟处理器。此外,在该实例中,
Figure G2009101744249D00156
客户端235和
Figure G2009101744249D00157
客户端230可都驻留在同一服务器上,其中所述服务器具有总共4个物理处理器。
Figure G2009101744249D00158
客户端235的需求或总负载可随时间增加。例如,与客户端235相关的一个处理器可被大量地加载,以执行相对于该处理器的执行能力来说大量的指令。如果系统管理员不能增加对当前服务器上的客户端235可用的计算能力,例如,
Figure G2009101744249D001511
客户端230没有任何额外的处理能力空闲,则系统管理员可需要将
Figure G2009101744249D001512
客户端235的逻辑分区移动或迁移至具有更多可用处理能力的另一服务器。
在将客户端235迁移至另一服务器时,系统管理员可使得装置200在目的地或目标服务器中生成现有
Figure G2009101744249D001514
客户端235的副本。一旦创建了副本,装置200就可去激活源映像,激活目的地或目标映像,以及从源服务器的存储器移除去激活的映像。在
Figure G2009101744249D00161
客户端235的迁移中,专用物理HBA可能在重定位期间变得不可用。例如,由于I/O槽280和光纤通道卡282驻留在源服务器中,所以在目标服务器的新创建的逻辑分区中的
Figure G2009101744249D00162
客户端235可在物理上与I/O槽280和光纤通道卡282分离。
多路径I/O模块240可经由物理光纤通道HBA驱动器244检测光纤通道卡282的不可用性。在检测中,多路径I/O模块240可使得
Figure G2009101744249D00163
客户端235动态地切换或故障转移至由NPIV适配器驱动器244或NPIV适配器驱动器243提供的虚拟I/O路径之一。在利用故障转移路径时,系统管理员可登录目标服务器的硬件管理控制台(HMC)并重新配置
Figure G2009101744249D00164
客户端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可允许在单个物理系统中创建许多虚拟系统。2个虚拟系统可包括例如虚拟客户端320和虚拟I/O服务器330。虚拟机监视器340可创建物理HBA 350和物理HBA 360的虚拟代替者,并使得虚拟客户端320和虚拟I/O服务器330能够以独立方式与虚拟代替者交互,以防止尝试同时访问实际物理资源的冲突。
虚拟客户端320可包括在存储器310的逻辑分区中存储的桌面计算机的映像,其可称为虚拟桌面。例如,虚拟客户端320可包括操作系统的映像以及与操作系统兼容的多个应用。作为更具体实例,虚拟客户端320可包括
Figure G2009101744249D00171
或某些其他操作系统,以执行CAD程序、邮件服务器程序、和数据库程序。
虚拟I/O服务器330可包括同样位于逻辑分区中的软件。虚拟I/O服务器330可与虚拟机监视器340结合地工作,并能够在存储器310中的各个虚拟客户端(一个这样的客户端是虚拟客户端320)之间实现物理I/O资源(例如物理HBA 350和物理HBA 360)的共享。例如,在多个实施例中,虚拟I/O服务器330可向装置300中的客户端逻辑分区提供虚拟SCSI目标和共享以太网适配器能力,使得客户端逻辑分区能够共享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(iSER)的ISCSI扩展、iFCP、和/或iSCSI之类的协议。
尽管装置300执行虚拟客户端320的操作系统和应用,但是虚拟机监视器340可使得虚拟客户端320能够经由专用物理HBA 350向网络370的一个或多个存储设备发送信息,以及从其接收信息。也就是说,虚拟机监视器340可防止所有其他虚拟客户端使用物理HBA 350。
虚拟机监视器340还可使得虚拟I/O服务器330能够经由物理HBA360向网络370的一个或多个存储设备发送信息以及从中接收信息。虚拟I/O服务器330可允许装置300的多个虚拟客户端向/从网络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路径相关的信息。换言之,虚拟机监视器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)的状态机中实现。例如,ASIC124可包括动态物理和虚拟多路径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(元素420)。例如,装置200可将
Figure G2009101744249D00201
客户端230和
Figure G2009101744249D00202
客户端235加载到存储器模块264的逻辑分区中,使得光纤通道卡282专用于物理光纤通道HBA驱动器244,以及将光纤通道卡254和258作为虚拟光纤通道卡分别经由NPIV适配器驱动器225和223分配给
Figure G2009101744249D00203
客户端235。然后,装置200可开始执行
Figure G2009101744249D00204
客户端230和
Figure G2009101744249D00205
客户端235的操作系统,以及将各种应用加载到各个逻辑分区中的每个分区(元素430)。
在装置200执行
Figure G2009101744249D00206
客户端235时,多路径I/O模块240可被配置为在物理光纤通道HBA驱动器244和NPIV适配器驱动器243之间分布I/O负载(元素440)。在操作期间,多路径I/O模块240可检测SAN交换机260的影响光纤通道卡258、物理光纤通道HBA驱动器220、NPIV适配器驱动器223、和NPIV适配器驱动器244的故障(元素450),并切换至由NPIV适配器驱动器242和NPIV适配器驱动器225、物理光纤通道HBA驱动器215和光纤通道卡254限定的虚拟I/O路径(元素470)。
在技术人员解决SAN交换机260的与光纤通道卡258相关的问题之后,多路径I/O模块240可检测光纤通道卡258的虚拟路径是否返回在线或启动(元素460),最新可用的光纤通道卡258是否被配置为
Figure G2009101744249D00207
客户端235的二级路径(元素480),以及切换回由NPIV适配器驱动器243和NPIV适配器驱动器223、物理光纤通道HBA驱动器220和光纤通道卡258限定的虚拟I/O路径(元素490)。
图4的流程图仅示出一个处理。备选实施例可实现流程图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路径,以及与iSCSI HBA相关的到不同虚拟I/O服务器的另一虚拟I/O路径。换言之,装置200的备选实施例可具有2个虚拟I/O服务器,一个与光纤通道HBA耦合,一个与iSCSI HBA耦合。
在装置200的备选实施例运行时,虚拟机监视器250可使得
Figure G2009101744249D00211
客户端235能够经由iSCSI HBA所限定的虚拟I/O路径在SAN 270的一个或多个存储设备之间传送数据(元素510)。同样,在装置200运行时,虚拟机监视器250可使得
Figure G2009101744249D00212
客户端230和装置200的任意其他虚拟客户端经由虚拟I/O服务器210向/从SAN 270传送数据(元素520)。
在装置200的运行期间,多路径I/O模块240可监视与
Figure G2009101744249D00213
客户端235相关的物理和虚拟I/O数据路径的状态,例如监视由HBA、网络交换机、或耦合至光纤通道卡282的存储区网络的存储设备、耦合至虚拟I/O服务器210的光纤通道HBA、和耦合至其他虚拟I/O服务器的iSCSI HBA所报告的任何错误(元素530)。例如,与iSCSI卡或HBA耦合的存储设备可返回与
Figure G2009101744249D00214
客户端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可继续监视为
Figure G2009101744249D00215
客户端235配置的物理和虚拟I/O数据路径(例如iSCSI HBA和光纤通道HBA)的状态。如果和/或当先前出现故障的设备(多个)返回在线,则多路径I/O模块240可检测可用性的改变,并将
Figure G2009101744249D00216
客户端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的动态管理。在具体实施方式和附图中示出和描述的实施例的形式应仅作为实例。随后的权利要求旨在被广泛地解释,以涵盖所公开的示例性实施例的所有变型。
尽管针对一些实施例已经详细地描述了本发明及其一些优点,但是本领域普通技术人员应理解,在不脱离由所附权利要求所限定的本发明的精神和范围的情况下,在此可以进行各种改变、替换、和更改。尽管特定实施例可实现多个目的,但是并非落入所附权利要求范围内的每个实施例都可实现每个目的。此外,本申请的范围并非旨在限于说明书中所述的处理、机器、制造、物质组成、手段、方法、和步骤的特定实施例。本领域普通技术人员可从本说明书容易地理解,可以使用与在此所述的相应实施例执行基本相同的功能或实现基本相同的结果的目前现有或以后开发的处理、机器、制造、物质组成、手段、方法、或步骤。因此,所附权利要求旨在在其范围内包含此类处理、机器、制造、物质组成、手段、方法、或步骤。

Claims (24)

1.一种方法,包括:
使得虚拟客户端能够经由第一物理主机总线适配器HBA在存储网络和所述虚拟客户端之间传送数据;
使得虚拟输入/输出服务器能够经由第二物理主机总线适配器在所述存储网络和所述虚拟输入/输出服务器之间传送数据;以及
动态地使得所述虚拟客户端能够经由所述输入/输出服务器和所述第二物理主机总线适配器在所述存储网络和所述虚拟客户端之间传送数据。
2.如权利要求1所述的方法,还包括:使得所述虚拟输入/输出服务器能够经由所述第二物理主机总线适配器在所述存储网络和第二虚拟客户端之间传送数据。
3.如权利要求2所述的方法,还包括:获得多个虚拟客户端的所述第二物理主机总线适配器的多个虚拟标识符地址。
4.如权利要求3所述的方法,还包括:检测与所述第一物理主机总线适配器相关的故障,以使得所述虚拟客户端能够经由所述第二物理主机总线适配器传送数据。
5.如权利要求1所述的方法,还包括:响应于所述第一主机总线适配器变为对所述虚拟客户端不可用,经由多路径输入/输出模块确定是否经由所述虚拟输入/输出服务器和所述第二物理主机总线适配器在所述存储网络和所述虚拟客户端之间传送数据。
6.如权利要求1所述的方法,还包括:响应于所述第二主机总线适配器变为对所述虚拟客户端不可用,动态地使得所述虚拟客户端能够经由所述虚拟输入/输出服务器和第三物理主机总线适配器在所述存储网络和所述虚拟客户端之间传送数据,其中所述第一物理主机总线适配器、所述第二物理主机总线适配器、和所述第三物理主机总线适配器中的一个包括光纤通道主机总线适配器,以及其中的第二个包括iSCSI主机总线适配器。
7.一种装置,包括:
虚拟客户端模块,其经由第一物理主机总线适配器HBA向网络传送数据;
虚拟输入/输出服务器模块,其经由第二物理主机总线适配器向所述网络传送数据;以及
虚拟机监视器,其将所述虚拟客户端模块耦合至所述虚拟输入/输出服务器模块,其中所述虚拟输入/输出服务器被配置为使得所述虚拟客户端能够访问作为虚拟主机总线适配器的所述第二物理主机总线适配器,其中所述虚拟客户端模块、所述虚拟输入/输出服务器、和所述虚拟机监视器中的至少一个还被配置为动态地使得所述虚拟客户端模块能够经由所述第二物理主机总线适配器向所述网络传送数据。
8.如权利要求7所述的装置,还包括:多路径输入/输出模块,被配置为检测所述第一物理主机总线适配器和所述第二物理主机总线适配器的可用性。
9.如权利要求8所述的装置,其中所述虚拟客户端模块包括所述多路径输入/输出模块,其中所述多路径输入/输出模块还被配置为基于所检测的可用性在所述第一物理主机总线适配器和所述第二物理主机总线适配器之间进行选择。
10.如权利要求8所述的装置,其中所述多路径输入/输出模块被配置为在所述第一物理主机总线适配器和所述第二物理主机总线适配器之间分布所述虚拟客户端模块的输入/输出工作负荷,其中所述虚拟机监视器还包括托管的虚拟机监视器。
11.如权利要求7所述的装置,还包括:第二虚拟输入/输出服务器模块,其经由第三物理主机总线适配器向所述网络传送数据,其中所述虚拟客户端模块被配置为在所述第一物理主机总线适配器和所述第二物理主机总线适配器不可用时,动态地经由所述第二虚拟输入/输出服务器模块和所述第三物理主机总线适配器向所述网络传送数据。
12.如权利要求11所述的装置,其中所述第二虚拟输入/输出服务器模块包括:多路径输入/输出模块,其经由第四物理主机总线适配器向所述网络传送数据,其中所述第二虚拟输入/输出服务器模块还被配置为在所述第三物理主机总线适配器不可用时动态地经由所述第四物理主机总线适配器向所述网络传送数据。
13.如权利要求7所述的装置,其中所述虚拟机监视器被配置为,响应于检测到与所述第一物理主机总线适配器相关的故障,动态地使得所述虚拟客户端模块能够经由所述第二物理主机总线适配器向所述网络传送数据。
14.如权利要求7所述的装置,其中所述第二物理主机总线适配器包括:能够支持N端口ID虚拟化NPIV的光纤通道主机总线适配器。
15.一种系统,包括:
虚拟客户端模块,被配置为经由第一光纤通道主机总线适配器HBA向存储区网络SAN传送数据;
虚拟输入/输出服务器模块,其经由第二光纤通道主机总线适配器向所述SAN传送数据;以及
虚拟机监视器,其将所述虚拟客户端模块耦合至所述虚拟输入/输出服务器模块,其中所述虚拟输入/输出服务器模块被配置为使得所述虚拟客户端能够访问作为虚拟光纤通道主机总线适配器的所述第二光纤通道主机总线适配器,其中所述虚拟客户端模块还包括:多路径输入/输出模块,其在所述第二光纤通道主机总线适配器出现故障时动态地使得所述虚拟客户端模块能够经由所述第一光纤通道主机总线适配器向所述SAN传送数据。
16.如权利要求15所述的系统,其中所述虚拟输入/输出服务器模块被配置为在所述虚拟客户端模块和其他客户端模块之间动态地分配物理输入/输出资源,其中所述虚拟机监视器还包括本机虚拟机监视器。
17.如权利要求15所述的系统,其中所述虚拟机监视器被配置为,基于所述虚拟客户端模块和其他虚拟客户端模块的工作负荷,在所述虚拟客户端模块和所述其他虚拟客户端模块之间动态地分配多个处理器的处理能力。
18.如权利要求15所述的系统,其中所述虚拟输入/输出服务器模块被配置为并行地支持SCSI主机总线适配器、iSCSI主机总线适配器、SCSIRAID硬盘、和光存储设备。
19.如权利要求15所述的系统,其中所述虚拟客户端模块被配置为在第一服务器的第一逻辑分区中运行,同时所述虚拟输入/输出服务器模块在第二服务器的第二逻辑分区中运行。
20.如权利要求15所述的系统,其中所述系统被配置为使得用户能够动态地将所述虚拟客户端模块从具有第一大小的第一逻辑分区移动至具有第二大小的第二逻辑分区。
21.一种方法,包括:
向存储设备的网络传送数据,其中所述传送是经由第一物理主机总线适配器HBA;
经由第二物理主机总线适配器向所述网络传送数据,其中虚拟主机总线适配器被配置为经由多个虚拟客户端的第二物理主机总线适配器向所述网络传送数据;以及
在所述第一物理主机总线适配器和所述第二物理主机总线适配器之一出现故障时,动态地使得所述多个虚拟客户端中的一个虚拟客户端能够经由所述第一物理主机总线适配器和所述第二物理主机总线适配器之一访问所述网络。
22.如权利要求21所述的方法,还包括:从所述网络获得所述第二物理主机总线适配器的多个标识符,以使得所述多个客户端均能够向所述网络传送数据。
23.如权利要求22所述的方法,其中获得多个标识符包括获得多个全世界的全球端口名称WWPN和光纤通道地址。
24.如权利要求23所述的方法,还包括:使得所述虚拟客户端能够动态地从第一逻辑分区LPAR移动至第二逻辑分区。
CN2009101744249A 2008-11-10 2009-11-09 动态物理和虚拟多路径输入/输出的方法、系统和装置 Active CN101741831B (zh)

Applications Claiming Priority (2)

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
US12/268,238 2008-11-10

Publications (2)

Publication Number Publication Date
CN101741831A true CN101741831A (zh) 2010-06-16
CN101741831B CN101741831B (zh) 2013-11-27

Family

ID=42166274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101744249A Active CN101741831B (zh) 2008-11-10 2009-11-09 动态物理和虚拟多路径输入/输出的方法、系统和装置

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)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102449621A (zh) * 2011-08-25 2012-05-09 华为技术有限公司 一种节点控制器链路的切换方法、处理器系统和节点
CN103262053A (zh) * 2010-10-29 2013-08-21 尤尼西斯公司 具有共享的输入/输出的安全分区
CN103546529A (zh) * 2012-06-21 2014-01-29 微软公司 集群中的虚拟共享存储
CN103559155A (zh) * 2013-10-25 2014-02-05 华为技术有限公司 一种数据传输方法、相关装置及数据传输系统
CN103577149A (zh) * 2013-11-20 2014-02-12 华为技术有限公司 Hba兼容处理方法、装置及系统
CN103959317A (zh) * 2011-09-29 2014-07-30 亚马逊技术有限公司 用于托管服务映像的可定制统一控制
CN104461951A (zh) * 2014-11-19 2015-03-25 浪潮(北京)电子信息产业有限公司 动态管理物理和虚拟多路径i/o的方法及系统
CN105683936A (zh) * 2013-10-31 2016-06-15 高通股份有限公司 具有多个从设备标识符的相机控制从设备
CN107612777A (zh) * 2017-09-25 2018-01-19 郑州云海信息技术有限公司 一种光纤交换机检测工具及方法
CN109358990A (zh) * 2018-11-01 2019-02-19 郑州云海信息技术有限公司 一种多控系统中的信息传输方法、装置及存储介质
CN109891399A (zh) * 2016-11-21 2019-06-14 英特尔公司 在相同的物理串行总线集线器上产生多个虚拟串行总线集线器实例的装置和方法
US10404520B2 (en) 2013-05-29 2019-09-03 Microsoft Technology Licensing, Llc Efficient programmatic memory access over network file access protocols
CN110312973A (zh) * 2017-02-21 2019-10-08 菲尼克斯电气公司 用于与控制装置相连接的前端适配器以及自动化系统
US10503419B2 (en) 2013-05-29 2019-12-10 Microsoft Technology Licensing, Llc Controlling storage access by clustered nodes
CN111522760A (zh) * 2020-04-22 2020-08-11 北京思特奇信息技术股份有限公司 一种基于总线模式的应用接口通信方法和系统
CN111522692A (zh) * 2020-04-20 2020-08-11 浙江大学 一种基于虚拟机的多操作系统输入及输出设备冗余保障系统
CN112956165A (zh) * 2018-09-28 2021-06-11 伊姆西Ip控股有限责任公司 具有至少部分基于结构标识符实现路径选择的多路径层的主机装置
WO2022052953A1 (zh) * 2020-09-10 2022-03-17 华为技术有限公司 一种故障链路的切换方法、系统及相关设备
CN117591037A (zh) * 2024-01-18 2024-02-23 山东云海国创云计算装备产业创新中心有限公司 一种虚拟化数据访问系统、方法、装置及服务器
CN112956165B (zh) * 2018-09-28 2024-05-03 伊姆西Ip控股有限责任公司 具有至少部分基于结构标识符实现路径选择的多路径层的主机设备和方法

Families Citing this family (47)

* Cited by examiner, † Cited by third party
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
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
US8726274B2 (en) 2010-09-10 2014-05-13 International Business Machines Corporation Registration and initialization of cluster-aware virtual input/output server nodes
US20120096462A1 (en) * 2010-10-18 2012-04-19 Electronics And Telecommunications Research Institute Dynamic virtualization technique for multicore processor system
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仮想化装置及び接続経路管理プログラム
WO2012176278A1 (ja) * 2011-06-21 2012-12-27 富士通株式会社 情報処理装置、仮想マシン制御方法およびプログラム
JPWO2012176278A1 (ja) * 2011-06-21 2015-02-23 富士通株式会社 情報処理装置、仮想マシン制御方法およびプログラム
JP5422611B2 (ja) * 2011-06-24 2014-02-19 株式会社日立製作所 計算機システム、ホストバスアダプタ制御方法及びそのプログラム
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
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 삼성에스디에스 주식회사 하이퍼바이저 기반 서버 이중화 시스템, 그 방법 및 서버 이중화 컴퓨터 프로그램이 기록된 기록매체
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
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
US9952797B2 (en) 2015-07-31 2018-04-24 Netapp, Inc. Systems, methods and devices for addressing data blocks in mass storage filing systems
US10257273B2 (en) 2015-07-31 2019-04-09 Netapp, Inc. Systems, methods and devices for RDMA read/write operations
CN105630715A (zh) * 2015-12-18 2016-06-01 国云科技股份有限公司 一种基于Multipath的存储预警方法
US10057153B1 (en) * 2016-06-02 2018-08-21 Cisco Technology, Inc. Detecting slow virtual devices
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
US10338829B2 (en) 2017-05-05 2019-07-02 Dell Products, L.P. Managing multipath configuraton in data center using remote access controller
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
US11336509B2 (en) * 2018-10-31 2022-05-17 EMC IP Holding Company LLC Detecting single points of failure on a storage system
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
US11392459B2 (en) * 2020-09-14 2022-07-19 EMC IP Holding Company LLC Virtualization server aware multi-pathing failover policy
US11522814B2 (en) 2020-11-24 2022-12-06 International Business Machines Corporation Virtualized fabric login server for storage area network
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

Family Cites Families (25)

* Cited by examiner, † Cited by third party
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
US7721150B2 (en) * 2004-03-19 2010-05-18 Intel Corporation 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

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103262053A (zh) * 2010-10-29 2013-08-21 尤尼西斯公司 具有共享的输入/输出的安全分区
WO2012149714A1 (zh) * 2011-08-25 2012-11-08 华为技术有限公司 一种节点控制器链路的切换方法、处理器系统和节点
CN102449621B (zh) * 2011-08-25 2013-11-06 华为技术有限公司 一种节点控制器链路的切换方法、处理器系统和节点
CN102449621A (zh) * 2011-08-25 2012-05-09 华为技术有限公司 一种节点控制器链路的切换方法、处理器系统和节点
US9015521B2 (en) 2011-08-25 2015-04-21 Huawei Technologies Co., Ltd. Method for switching a node controller link, processor system, and node
CN103959317B (zh) * 2011-09-29 2017-07-14 亚马逊技术有限公司 用于托管服务映像的可定制统一控制
CN103959317A (zh) * 2011-09-29 2014-07-30 亚马逊技术有限公司 用于托管服务映像的可定制统一控制
CN103546529A (zh) * 2012-06-21 2014-01-29 微软公司 集群中的虚拟共享存储
US10404520B2 (en) 2013-05-29 2019-09-03 Microsoft Technology Licensing, Llc Efficient programmatic memory access over network file access protocols
US10503419B2 (en) 2013-05-29 2019-12-10 Microsoft Technology Licensing, Llc Controlling storage access by clustered nodes
CN103559155A (zh) * 2013-10-25 2014-02-05 华为技术有限公司 一种数据传输方法、相关装置及数据传输系统
CN103559155B (zh) * 2013-10-25 2016-09-14 华为技术有限公司 一种数据传输方法、相关装置及数据传输系统
CN105683936A (zh) * 2013-10-31 2016-06-15 高通股份有限公司 具有多个从设备标识符的相机控制从设备
CN105683936B (zh) * 2013-10-31 2018-11-16 高通股份有限公司 具有多个从设备标识符的相机控制从设备
CN103577149B (zh) * 2013-11-20 2017-02-08 华为技术有限公司 Hba兼容处理方法、装置及系统
CN103577149A (zh) * 2013-11-20 2014-02-12 华为技术有限公司 Hba兼容处理方法、装置及系统
CN104461951A (zh) * 2014-11-19 2015-03-25 浪潮(北京)电子信息产业有限公司 动态管理物理和虚拟多路径i/o的方法及系统
CN109891399B (zh) * 2016-11-21 2024-03-26 英特尔公司 在相同的物理串行总线集线器上产生多个虚拟串行总线集线器实例的装置和方法
CN109891399A (zh) * 2016-11-21 2019-06-14 英特尔公司 在相同的物理串行总线集线器上产生多个虚拟串行总线集线器实例的装置和方法
CN110312973A (zh) * 2017-02-21 2019-10-08 菲尼克斯电气公司 用于与控制装置相连接的前端适配器以及自动化系统
CN107612777A (zh) * 2017-09-25 2018-01-19 郑州云海信息技术有限公司 一种光纤交换机检测工具及方法
CN107612777B (zh) * 2017-09-25 2020-09-22 苏州浪潮智能科技有限公司 一种光纤交换机检测工具及方法
CN112956165A (zh) * 2018-09-28 2021-06-11 伊姆西Ip控股有限责任公司 具有至少部分基于结构标识符实现路径选择的多路径层的主机装置
CN112956165B (zh) * 2018-09-28 2024-05-03 伊姆西Ip控股有限责任公司 具有至少部分基于结构标识符实现路径选择的多路径层的主机设备和方法
CN109358990A (zh) * 2018-11-01 2019-02-19 郑州云海信息技术有限公司 一种多控系统中的信息传输方法、装置及存储介质
CN111522692A (zh) * 2020-04-20 2020-08-11 浙江大学 一种基于虚拟机的多操作系统输入及输出设备冗余保障系统
CN111522692B (zh) * 2020-04-20 2023-05-30 浙江大学 一种基于虚拟机的多操作系统输入及输出设备冗余保障系统
CN111522760A (zh) * 2020-04-22 2020-08-11 北京思特奇信息技术股份有限公司 一种基于总线模式的应用接口通信方法和系统
WO2022052953A1 (zh) * 2020-09-10 2022-03-17 华为技术有限公司 一种故障链路的切换方法、系统及相关设备
CN117591037A (zh) * 2024-01-18 2024-02-23 山东云海国创云计算装备产业创新中心有限公司 一种虚拟化数据访问系统、方法、装置及服务器
CN117591037B (zh) * 2024-01-18 2024-05-03 山东云海国创云计算装备产业创新中心有限公司 一种虚拟化数据访问系统、方法、装置及服务器

Also Published As

Publication number Publication date
US8041987B2 (en) 2011-10-18
KR20100052397A (ko) 2010-05-19
JP2010113707A (ja) 2010-05-20
TWI439867B (zh) 2014-06-01
US20100122111A1 (en) 2010-05-13
KR101107899B1 (ko) 2012-01-25
CN101741831B (zh) 2013-11-27
TW201027354A (en) 2010-07-16
JP5489601B2 (ja) 2014-05-14

Similar Documents

Publication Publication Date Title
CN101741831B (zh) 动态物理和虚拟多路径输入/输出的方法、系统和装置
US10754742B2 (en) Network failover handling in computing systems
US7930511B2 (en) Method and apparatus for management between virtualized machines and virtualized storage systems
EP3158455B1 (en) Modular switched fabric for data storage systems
US8099522B2 (en) Arrangements for I/O control in a virtualized system
EP2430544B1 (en) Altering access to a fibre channel fabric
JP5373893B2 (ja) 異なるサイズを有するデータのブロックを格納し、取り出すための構成
EP1998255A1 (en) Virtual computer system and control method thereof
US20090307435A1 (en) Distributed Computing Utilizing Virtual Memory
JP2008065561A (ja) ストレージシステムおよびストレージシステムの制御方法
Dell
CN104461951A (zh) 动态管理物理和虚拟多路径i/o的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant