CN101213818A - 用于管理依附于网络的物理端口的虚拟实例的方法和系统 - Google Patents

用于管理依附于网络的物理端口的虚拟实例的方法和系统 Download PDF

Info

Publication number
CN101213818A
CN101213818A CNA2006800241590A CN200680024159A CN101213818A CN 101213818 A CN101213818 A CN 101213818A CN A2006800241590 A CNA2006800241590 A CN A2006800241590A CN 200680024159 A CN200680024159 A CN 200680024159A CN 101213818 A CN101213818 A CN 101213818A
Authority
CN
China
Prior art keywords
wwpn
port
network
adapter
pond
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
CNA2006800241590A
Other languages
English (en)
Other versions
CN101213818B (zh
Inventor
F·小布赖斯
G·弗雷泽
J·斯里克里施南
I·阿德隆
G·班兹哈夫
S·穆勒
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 CN101213818A publication Critical patent/CN101213818A/zh
Application granted granted Critical
Publication of CN101213818B publication Critical patent/CN101213818B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/25Arrangements specific to fibre transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种用于管理依附于网络的物理端口的虚拟实例的方法、计算机程序产品和系统。在本发明的优选实施例中,所述方法基于对物理光纤通道N端口的光纤通道N端口虚拟化。多个虚拟光纤通道适配器在多个操作系统实例中共享单个物理N端口。本发明公开了用于自动和持久地生成和管理所述N端口虚拟化所需要的唯一全球端口名的装置。

Description

用于管理依附于网络的物理端口的虚拟实例的方法和系统
技术领域
本发明涉及一种用于管理依附于网络的物理端口的虚拟实例的方法、系统和计算机程序产品。
更具体地,本发明涉及一种网络,在其中,各个相连的计算机或设备具有唯一标识符。作为例子,描述了具有光纤通道(Fibre Channel)连接的网络。
背景技术
在功能上,光纤通道(FC)是构造用于高性能数据通信的双向、全双工、点到点、串行数据通道。FC提供了一种通用传输机制,其不具有本机输入/输出命令集或其自己的协议,但却可以传输任何现有的上层协议(Upper Level Protocols,ULPs),例如FCP(“用于SCSI(小型计算机系统接口)的光纤通道协议”),以及IP(因特网协议)。
FC所使用的信息传送的最小的、不可分单元称为帧。帧用于传送数据。帧的大小取决于硬件实现并且与ULP或应用软件无关。这些帧聚合形成称为序列的消息。可以不按顺序接收序列中的帧。一个或多个序列形成交换,其是基本事务。将帧分成两类:没有数据有效载荷的链路控制帧,其用于流控制,以及具有数据有效载荷的数据帧,例如封装的ULP数据。
存在各种FC标准,例如以下参考:
1.Information Technology-Fibre Channel Protocol for SCSI,2ndVersion(FCP-2),ANSI/INCITS 350;
2.Information Technology-Fibre Channel Framing and SignallingInterface(FC-FS),ANSI/INCITS 373。
可以在例如Robert W.Kembel于1998年的“The Fibre ChannelConsultant---A Comprehensive Introduction”中找到有关FC的更多细节。
将计算机或其它设备连接至FC需要专用硬件。通常以插到诸如计算机系统的PCI/PCI-X/PCI-Express槽这样的现有输入/输出(I/O)硬件中的FC适配卡的形式提供FC硬件。每个FC适配器均含有至少一个N_端口(N_Port),即在FC链路上进行实际数据通信的FC硬件实体。
N_端口可由实现为64比特的值的、唯一的全球端口名(WorldwidePort Name,WWPN)进行标识。通常在制造FC硬件的时候分派该WWPN,但是,倘若可以保证端口名是全球唯一的话,还可以通过其它方式进行分派。N_端口可以充当始发方或响应方。
可以将FC连接实现为点到点链路,或者称为结构(fabric)的仲裁环路或交换网络。FC结构是允许多个N_端口相互通信的互连网络。结构上的入口/出口端口称为F_端口(F_Port),并且每个N_端口必须连接至一个F_端口。结构允许每个相连的N_端口与依附于该结构的任何其它的N_端口进行通信。
FC结构向每个依附的N_端口分派标识符,其是这样的地址,即该结构通过此地址而唯一地获知N_端口。由于N_端口标识符是24比特的值,因此FC结构可以支持达16,700,000个N_端口。N_端口标识符包括域(Domain)(最高字节)、区(Area),以及端口(Port),各1字节长。在FC帧的头部的源标识符(S_ID)和目的标识符(D_ID)字段中使用N_端口标识符。
在结构中发起通信需要多个阶段的注册过程,其中,首先在该结构中的N_端口与F_端口之间建立通信,并且然后与目的N_端口建立通信。在第一步骤中,N_端口的结构注册(fabric login)建立了将要在该结构内使用的服务类别以及包括流控制信息在内的其它通信参数。在完成N_端口的结构注册之后,通过称为节点注册(node login)的第二注册过程,在网络中发起和接收N_端口建立了其彼此间的通信。交换若干通信参数并且开始传输。由于FC可以用于将系统与多种类型的内部资源以及其内的过程相连接,因此使用称为过程注册(process login)的附加注册。举例来说,过程注册用于选择与两个通信N_端口内的过程所支持的ULP相关的参数。
大多数现今的FC适配器仅提供一个N_端口。在执行多个操作系统(OS)实例的计算机中,出现了如何在这些实例中共享这样的N_端口的问题。这样的共享将有利于最小化FC适配器的数目,从而减低成本和最大化适配器利用率,尤其是对大规模虚拟化环境。甚至在使用提供多个N_端口的FC适配器时也存在该问题,因为需要支持的过程数常常超过FC适配器所提供的N_端口数。
执行多个OS实例的能力通常由称为(执行)管理体的软件层来提供,该管理体封装基本硬件并且提供用于基本硬件或用于不同硬件体系结构的虚拟硬件接口。举例来说,管理体可以是计算机系统的固件的一部分,其可以是操作系统的一部分,或者其可以是运行作为OS实例内的过程的常规程序。管理体的工作常常是由附加的硬件特征(例如,专用处理器指令或固件层)来支持的。
一些管理体可以有效地创建计算机系统的多个虚拟映像,这对于在这样的虚拟计算机系统中执行的OS实例给予了几乎这样的错觉,即好像其正独占地运行在真实服务器上一样。这些OS实例通过I/O端口访问真实I/O实体(像适配器),可以在配置步骤中定义该I/O端口并且将其分派给虚拟计算机系统。OS实例可以使用分派给在其上运行该OS实例的特定虚拟服务器的I/O端口来仅进行I/O操作。
美国专利申请NO.2003/0200247A1和NO.2004/0025166A1描述了一种用于在计算机系统的多个OS实例中并行共享FC适配器的方法。然而,该共享能力具有由以下事实所导致的各种缺陷,即相同的N_端口标识符用于从特定FC适配器发送或者指定到特定FC适配器的所有FC帧。因此,该N_端口标识符不可以用于区分多个OS实例:所有的帧似乎都来自相同的发起方,并且相应地将响应发送回到相同的地址。以上专利申请中所提出的解决方案是截获、分析和修改多个OS实例与物理N_端口之间的FC帧通信量。
主要缺点在于该解决方案是基于主机的,这意味着需要在依附于FC结构的主计算机系统上进行该方法。由于FC是主要用于存储区域网(SAN)的技术,并且SAN中通常用于访问控制的方法及其依附的存储设备是由SAN本身(使用存储在结构中的数据库)管理的,这对SAN经营与管理添加了额外的复杂性。
另一缺点在于不可能从执行多个OS实例的计算机系统的外部发起到特定OS实例的FC事务。该限制是由需要明确的响应标识符导致的,其中当截获该明确的响应标识符时将其添加到帧头。仅有一个响应标识符用于将发送至特定OS实例的帧。在不能够标识特定OS实例的情况下,不得不将任何输入帧转发给每个OS实例。OS实例然后需要判定其是否将接受和处理该帧。
存在于这样的共享适配器环境中的其它缺陷与诸如FCP这样的ULP有关;举例来说,SCSI预留(SCSI reservation)未适当工作、不能保证正确的SCSI状态和读出数据处理、SCSI任务管理功能未适当工作,以及供应商特有的SCSI命令可能根本不工作。
通常由像分区(zoning)和SCSI逻辑单元(LUN)掩蔽(masking)这样的方法来实现对于结构的相连存储控制器的SAN访问控制。分区和LUN掩蔽依靠WWPN来标识所控制的资产的用户。使用LUN和FCP作为ULP,FC主机可以寻址可以共享公用控制器的多个外围设备。分区允许将结构的N_端口划分成称为区域(zone)的N_端口组。区域内的N_端口可以仅与相同区域中的其它N_端口通信。
在美国专利申请NO.2003/0103504A1中以及之后在所合并的INCITS/ANSI FC Framing and Signalling(FC-FS)标准1.6上公开了一种解决FC适配器共享问题的方式,其描述了结构需要如何处理N_端口标识符虚拟化。该申请描述了一种获得用于单个物理N_端口的多个N_端口标识符(N_端口ID)的方法。
为了获得N_端口标识符,N_端口首先通过向依附的F_端口发送“结构注册”(FLOGI)扩展链路服务(ELS,extended link service)命令(专用链路控制帧)来向结构注册。在该步骤中,将传送附加的服务参数,并且分派第一N_端口标识符。在完成FLOGI之后,结构本身准备分派附加的N_端口标识符。为了获得另一N_端口标识符,N_端口使用为零的S_ID来发送“结构发现(Fabric Discover)”(FDISC)ELS命令。使用FDISCELS而不是附加的FLOGI命令是为了避免破坏操作环境。当N_端口向结构发送FDISC ELS时,其提供以下功能:
1.其为物理N_端口提供装置以便向结构传送WWPN。
2.其向结构提供信号以便为物理N_端口确认和分派附加的N_端口标识符,并且允许结构和物理N_端口均使用新的N_端口标识符来开始正常的帧接收和传输。
3.其提供使得结构更新在该结构内维护的数据库的信号。
当已经分派了新的N_端口ID时,物理N_端口可以将新的N_端口ID与虚拟适配器相关联,虚拟适配器是在物理N_端口后面使用新的N_端口ID代表OS实例来生成和接收帧的实体。因此,多个虚拟适配器可以与物理适配器及其N_端口相关联,其中每个虚拟适配器使用唯一的N_端口ID。
对新的N_端口ID的分派需要可获得唯一的WWPN以及用于自动和持久地将这些WWPN分派给虚拟适配器的装置,其中持久可以意味着继续存在(surviving),例如,OS实例的重新引导、计算机系统的断电/通电重开,或者FC适配器的重新引导。因此,在具有复杂SAN装配的大规模计算机中心中,确保使用中的每个WWPN是真正唯一的可能变成一项非常复杂的任务。
发明内容
因此本发明的目的是提供一种较之现有技术有所改进的方法和相应的计算机系统以及计算机程序产品,其用于管理依附于网络的物理端口的虚拟实例。
该目的是通过如在所附权利要求1、9、10和12中所定义的本发明来实现的。
本发明提出了一种FC适配器虚拟化实体,其可以用于为单个物理FC适配器提供多个虚拟FC适配器作为在多个OS实例中共享该FC适配器的方式。每个虚拟适配器均具有单个N_端口ID。如果所述物理FC适配器具有多个物理N_端口,那么虚拟适配器的独立集(independent set)可以与该物理适配器的每个N_端口相关联。
所述FC适配器虚拟化实体获得用于每个I/O端口的WWPN,其中在来自FC虚拟适配器名称控制器实体的管理体系统配置中定义所述WWPN。该实体可以使用方案来创建WWPN或者仅是从WWPN池中获取WWPN。所述物理FC适配器的物理N_端口的WWPN有可能用于虚拟FC适配器。所述FC虚拟适配器名称控制器确保其提供的WWPN的全球唯一性。
当OS实例激活I/O端口时可以创建虚拟FC适配器,或者可以提前创建虚拟FC适配器以便节约用于其初始化的时间,并且当激活所述I/O端口时可以将虚拟FC适配器与该I/O端口相关联。在任何情况下,当所述虚拟适配器关联于I/O端口时,其使用该I/O端口的WWPN以便使用FDISC ELS命令进行结构注册,以及获得相应的FC N_端口ID。所述WWPN保持与所述虚拟适配器关联,只要所述虚拟适配器与该特定I/O端口有关系。
通过在耦合于所述计算机系统的存储设备上存储相关表格,可以实现I/O端口与其WWPN的关联的持久性。该方式下,对所述计算机系统的断电/通电重开或对所述管理体的重新启动不影响WWPN到I/O端口的映射。通过发布FDISC以及为所述WWPN分派N_端口ID,所述WWPN确保只有正确授权的虚拟服务器和操作系统实例才可以获得向其分派的资源。
本发明允许在多个OS实例中透明地共享单个物理FC适配器。在所述OS实例不需要任何专用命令的情况下自动共享所述适配器。
本发明的进一步的重要方面在于其透明地支持诸如分区和LUN掩蔽这样的常规SAN经营与管理模型。这避免了基于主机的SAN经营与管理步骤以及前述出现的问题。这还显著减少了SAN经营与管理复杂性。这消除了对诸如FCP这样ULP的限制。
本发明的另一重要方面在于可以从所述计算机系统外部发起使用虚拟适配器的FC事务,并且将该事务引导至特定的OS实例。
本发明允许定义虚拟适配器特征,举例来说,诸如适配器带宽这样的性能特征。这允许基于每个虚拟适配器的性能需求,在共享相同的物理N_端口的虚拟适配器之间进行平衡。
附图说明
对于本发明及其优点,现在参照以下结合附图的描述。
图1是可以在其中实现本发明的计算机系统的框图;
图2是控制多个OS实例的管理体所封装的FC适配器的框图;
图3是依照本发明的管理体实施例的框图;
图4是依照本发明的方法的实施例的说明性流程图;以及
图5是依照本发明的方法的实施例的说明性流程图。
具体实施方式
图1说明了可以在其中使用本发明的计算机系统10。共享存储器11耦合于一个或多个中央处理器(CPU)12。这些CPU 12还耦合于I/O子系统13。单独的存储设备14还可以由CPU 12访问。存储设备14的内容是持久的:其经受得住断电/通电重开。FC适配器15对于CPU 12而言可通过I/O子系统13进行访问,并且该FC适配器15连接至FC结构16。FC适配器15具有连接至结构16的F_端口18的物理N_端口17。
如图2中所示,计算机系统在CPU 12上运行管理体20,其控制并行执行的多个OS实例21。管理体20效仿FC适配器15;OS实例21察觉正常的FC适配器接口,但事实上具有通过管理体20处理的I/O请求以便访问FC适配器15。负责OS实例21的接口的管理体的组件称为虚拟机接口(VMI,virtual machine interface)22。VMI 22可以是可由软件使用的任何种类的计算机接口。在本发明的优选实施例中,存储设备14用于存储管理体20的内部数据并且不可由OS实例21直接访问。
现在将FC适配器虚拟化实体(Adapter Virtualisation Entity,AVE)30实现为图3中所示出的管理体20的组件。其目的是截获来自OS实例21的访问FC适配器15的I/O请求。通常,OS实例21a在通信单元31中进行I/O请求。举例来说,可以将这样的通信单元31实现为设备驱动器。
通信单元31使用I/O端口32来与FC适配器15进行通信。对于本发明而言,I/O端口32包括请求队列和响应队列就足够了。这些队列将由AVE 30和通信单元31来使用。通信单元将对于FC适配器15的请求置于请求队列中。请求含有存储器11的地址,其允许AVE 30访问存储在存储器11中的可能与这样的请求关联的数据。该数据包括将由AVE 30转发至FC适配器15的FC帧。管理体20将来自FC适配器15的响应置于响应队列中。响应含有存储器11的地址,其允许通信单元访问由管理体20存储在存储器11中的数据。存储器11中的数据还包括已经由FC适配器15接收到的FC帧。
为了使用I/O端口32,需要由通信单元31将其激活(如在没有本发明的情况下那样)。对于每个激活的I/O端口32,AVE 30在存储器11中创建专用数据结构。这些数据结构称为虚拟FC适配器。在管理体20的关联接口当中是允许OS实例21a发送和接收FC帧的接口。专用数据结构用于实现这些接口。
在I/O端口激活期间,AVE 30从结构16(如先前所描述的)获得新的N_端口标识符,其关联于I/O端口32并且存储在对应的虚拟适配器中。对于使用该I/O端口32从通信单元31发送的每一帧,AVE 30将与该I/O端口32关联的N_端口ID置于FC帧头的S_ID字段中。相应地,经由该I/O端口32,将AVE 30从结构16接收到的所有FC帧(其在帧头的D_ID字段中携带有该N_端口ID)转发给对应的OS实例21a。
在特定的系统配置步骤中,通过管理体20生成I/O端口32。在该步骤中,AVE 30使用虚拟适配器名称控制器(Virtual Adapter NameController,VA-NC)33实体来向I/O端口32分派WWPN。VA-NC 33维护WWPN池34,其从该池获取分派给I/O端口32并且从该池34移除的一个WWPN。已经分派给I/O端口32的WWPN由VA-NC 33在称为虚拟适配器名称分派表(Virtual Adapter Name Assignment Table,VA-NAT)的表35中进行维护,其中VA-NAT存储在持久存储设备14上。在系统配置步骤中,还定义了I/O端口32与OS实例21a的关联。并没有限制通信单元31仅可以使用一个I/O端口。
图4中示出了用于I/O端口32激活的步骤。通信单元31触发对I/O端口32的激活(步骤40)。如果(步骤41)已激活了I/O端口32,那么(步骤42)AVE 30向通信单元31呈现错误。否则,I/O端口32的WWPN将用于使用FDISC ELS命令注册结构16(步骤43)。如果(步骤44)注册不成功,那么(步骤45)AVE 30向通信单元呈现错误。否则,AVE 30将I/O端口32标记为激活的,在虚拟适配器中存储由结构16所提供的N_端口ID(步骤46),并且返回至通信单元31(步骤47)。
图5示出了用于I/O端口32停用的步骤。通信单元31触发对I/O端口32的停用(步骤50)。如果(步骤51)未激活I/O端口32,AVE向通信单元31呈现错误(步骤52)。否则,将使用参考2中所描述的公知方法从结构16注销关联于I/O端口32的N_端口ID(步骤53)。如果(步骤54)注销不成功,那么AVE 30向通信单元31呈现错误(步骤55)。否则(步骤56),会将I/O端口32标记为停用的,并且将在虚拟适配器中删除用于WWPN的关联N_端口ID条目。之后,AVE 30成功完成停用(步骤57)。
可以从系统配置中移除已经在管理体20的配置步骤中生成的I/O端口。如果从系统配置中移除了I/O端口,则将对应的WWPN再次添加到WWPN池34并且将其标记为“锁定”。VA-NC 33不会使用标记“锁定”的WWPN来分派给新近创建的I/O端口32(即随后添加到系统配置的I/O端口)。
当已经从管理体20的系统配置中移除了与WWPN关联的I/O端口32时,必须对该WWPN进行锁定,从而避免会将该WWPN再次分派给添加到管理体20的系统配置中的另一I/O端口32。这会是这样的情况,即仍然在SAN中为该WWPN建立访问规则,例如,准许该WWPN访问特定设备(LUN)的一种LUN掩蔽设置。但是,这样随新的I/O端口而重新使用WWPN常常不是预期的,因为仅有特定的OS实例有意使用SAN中的特定资源。
因此,为了恢复这些锁定的WWPN,以及防止这样的情形,即由于所有可用的WWPN要么被锁定要么在使用,因此没有WWPN可以被分派给I/O端口,VA-NC 33将接口添加到允许不锁定WWPN的管理体20。这样,举例来说,系统管理员可以不锁定这样的WWPN,即对于该WWPN来说,检验出在应有的位置上没有非计划的访问权,并且因此将该WWPN重新分派给可以分派给任何操作系统实例21a的I/O端口32是安全的。
在本发明的实施例中,与已经从管理体20的系统配置中移除的I/O端口关联的WWPN被添加到存储在存储器11中(或者在持久存储设备14上)的最近最少使用列表36。
将该最近最少使用列表36实现为先进先出列表。该列表36的条目含有WWPN以及向其分派了该WWPN的I/O端口32的标识符。应当再次重新定义相同的I/O端口32(如标识符所指示的),而对应的WWPN仍在最近最少使用列表36中,然后会将相同的WWPN再次分派给该I/O端口32。该方式不需要重新配置SAN,就像当从管理体20的系统配置中临时移除I/O端口32时的情况那样,并且当将I/O端口32再次添加到管理体20的系统配置时,会将另一WWPN分派给I/O端口32。
可以限制最近最少使用列表36的长度,从而使得并不是落在VA-NAT35之外的所有可能的WWPN都可以保留在该表中。如果WWPN落在最近最少使用列表之外,则会将其再次添加到WWPN池34并且对其仍然维持标记为“锁定”。不是将最近最少使用列表36维护为先进先出列表,各种其它的策略对于从列表36中移除条目的判决来说都是可能的。
使用最近最少使用列表36可以为管理体20的大的和动态变化的系统配置节约相当多的存储器11,因为可以释放为与锁定的WWPN关联的虚拟适配器的专用数据结构所分配的所有存储器。否则,为了避免SAN重新配置,将需要保留I/O端口及其关联的虚拟适配器。
将存储在池34中的WWPN分派给计算机系统10,并且将池34存储在持久存储设备14上。如果WWPN不需要是全球唯一的(因为其将用于完全隔离于所有其它的SAN的配置中),则VA-NC 33还可以使用一种为新的I/O端口定义生成WWPN而不是从WWPN池34中获得WWPN的方案。一种可能的方案是使用将与I/O端口32的标识符相结合的公共前缀(common prefix)。
还可以使用方案来生成真正全球唯一的WWPN。对于该方案,会将全球唯一的前缀分派给计算机系统10,并且该前缀会与例如I/O端口32的标识符相结合。而在另一实施例中,如美国专利申请No.2003/0200247A1中所述,使用如美国专利申请No.2004/0025166A1中所描述的访问控制机制,在共享模式下使用物理N_端口及其关联的WWPN。这可以在以下情况下采用,即需要并行地共享物理N_端口的OS实例21的数目大于物理N_端口上可以支持的虚拟适配器的数目。在另一实施例中,还可以以相同的方式将一个或多个虚拟适配器及其关联配置的WWPN用作共享虚拟适配器。
在本发明的一个实施例中,VA-NC 32将接口添加到管理体20,其允许查询当前分派给I/O端口的N_端口ID和WWPN。出于SAN经营与管理的目的,这可以由OS实例21a来使用。
从物理N_端口17到结构16的第一注册必须总是使用FLOGI ELS命令完成。在一个实施例中,分派给物理N_端口17的WWPN用于该FLOGI型注册。尽管FC-FS标准(参见参考1)将允许注销N_端口17(其从结构16进行FLOGI注册,而来自与N_端口17关联的虚拟适配器的其它结构16注册却仍然有效),然而,当在结构16中再次注册N_端口17时可能会出问题。原因在于利用FLOGI所指定的WWPN是用作物理N_端口的永久端口名的,并且只要对该物理N_端口的任何注册仍然有效,就保持与该N_端口相关联并且由结构16进行维护。具体而言,如果在FDISC注册仍然有效时由对应的注销撤销了FLOGI注册,并且先前用于FLOGI注册的WWPN现在用于到结构16中的另一注册,则结构16可能看到两次相同的WWPN,这可能导致破坏SAN管理应用。
因此,在本发明的实施例中,当用于该物理N_端口的附加N_端口ID仍然注册于结构16中时(这意味着关联于这些N_端口ID的I/O端口32仍然有效),在停用关联于该N_端口ID的I/O端口32期间,并不注销由结构16分派给用于FLOGI型注册的N_端口17的WWPN的N_端口ID(参见步骤54)。
有可能N_端口可以从结构16断连。如果发生这种情况,则使用该N_端口的非完整交换的所有FC帧均无效,并且自动从结构16注销所有的N_端口ID。取决于其类型,断连由FC适配器15通过向AVE 30发送指示非请求状态的FC帧或者通过在AVE 30可访问的FC适配器15的寄存器中存储特定值来指示。AVE 30通知受影响的OS实例21b已经注销了其虚拟适配器。对于由于断连而注销的每个N_端口ID来说,受影响的通信单元31需要停用其受影响的I/O端口32并且再次激活它们。
为了最小化N_端口断连对该断连所影响的OS实例21b中的应用程序的影响,可以优先重新激活I/O端口32。一种简单的优先化解决方案是AVE 30在存储器11中使用之前有效的I/O端口的优先级列表。对于每个I/O端口32激活,AVE 30搜索该优先级列表并且如果其在优先级列表中找到I/O端口(也就是说,激活是对断连的I/O端口的重新激活),则立即继续激活。否则,AVE 30在其继续激活之前等待一段时间,以便在可以重新激活先前激活的I/O端口之前不耗用N_端口ID。当在I/O端口激活期间找到优先级列表中的条目时将其删除,并且在特定的截止时间之后移除该条目。
进一步地,有可能为虚拟适配器定义特征。举例来说,有可能定义特定的性能特征,以便基于使用虚拟适配器的每个OS实例21a的性能需求,在共享相同的物理N_端口17的虚拟适配器之间进行平衡;例如,“高带宽”可以定义AVE 30对较大存储缓冲器的使用,以便增加用于虚拟适配器的带宽;“低带宽”可以定义AVE 30对小型存储缓冲器的使用,以便降低用于虚拟适配器的带宽。
单独的存储设备14不需要直接依附于计算机系统10。举例来说,其还可以依附于通过网络服务提供对该存储设备14的间接访问的另一计算机系统。
优选地将本发明实现为软件,一系列机器可读指令,尤其是作为在一个或多个硬件机器上执行的所谓固件,其控制和监视这些硬件机器,并且常常用于实现其它程序(尤其是操作系统)可以使用的、到该硬件的明确接口。虽然已经示出和描述了特定的实施例,但是,对本领域的技术人员来说,对本发明的各种修改将是显而易见的。

Claims (17)

1.一种用于管理依附于网络(16)的物理端口(17)的虚拟实例的方法,其中向每个实例(32)分派全球端口名(WWPN),并且其中所述网络向每个实例(32)分派端口标识符,由此,所述网络为向所述网络注册(43)的所述新的端口标识符提供单独的逻辑连接,并且当从所述网络注销(53)所述新的端口标识符时为所述新的端口标识符移除所述单独的逻辑连接路径,
所述方法其特征在于以下步骤:
-分派来自WWPN池(34)的WWPN以及从所述WWPN池移除所述WWPN;
-当在所述网络注册了(43)所述新的端口标识符时,在不使用所述网络访问的持久存储设备(14)上的WWPN表(35)中存储(46)WWPN;
-当从所述网络注销了(53)所述新的端口标识符时,从所述表中删除(56)所述WWPN,并且将所述WWPN返回给所述WWPN池。
2.根据权利要求1的方法,其中所述一列WWPN是使用生成唯一数字的方法生成的。
3.根据权利要求2的方法,其中生成唯一数字的所述方法使用全球唯一的数值来生成WWPN。
4.根据前述权利要求1至3中任何一项的方法,其中所述物理网络端口的WWPN处于所述WWPN池中。
5.根据前述权利要求1至4中任何一项的方法,其进一步包括以下步骤:
-定义一组特征;
-从所述一组特征中选取特征并且将其分派给所述WWPN;
-取决于所述选取的特征选择一组资源;
-将所述一组资源分派给所述WWPN。
6.根据前述权利要求1至5中任何一项的方法,其中在所述WWPN池中可以将所述WWPN标记为“非锁定”或“锁定”,并且标记为“锁定”的WWPN将不用于所述方法,其中所述方法进一步包括步骤:
-当从系统配置中移除(50)所述新的端口标识符时,将所述WWPN标记为“锁定”。
7.根据权利要求6的方法,其进一步包括步骤:
-当通过所述网络分派所述新的端口标识符时,激活(46)用于物理端口的虚拟实例(32);
-当通过所述网络移除所述新的端口标识符时,停用(56)所述虚拟实例,在所述存储器(11)中的最近最少使用(LRU)列表(36)中存储所述新的端口标识符的WWPN以及用于所述虚拟实例的唯一标识符;
-当请求(50)再次激活所述虚拟实例时,在所述LRU列表中搜索所述虚拟实例的所述唯一标识符;
-如果在所述列表中找到了用于所述虚拟实例的所述唯一标识符,则使用所述WWPN而非来自所述WWPN池的WWPN。
8.根据权利要求7的方法,其进一步包括以下步骤:
-当在网络错误的情况下停用所述虚拟实例时,将用于所述虚拟实例的所述唯一标识符添加到优先级列表;
-当请求激活虚拟实例时,在所述优先级列表中进行搜索;
-如果在所述优先级列表中没有找到用于虚拟实例的唯一标识符,则等待任意的时间量。
9.一种可直接加载到数字计算机系统(10)的内存(11)的计算机程序,其包括当在所述计算机上运行所述程序时用于实现根据前述权利要求1至8中任何一项的方法的软件代码部分。
10.一种计算机程序产品,其包括含有可由计算机(10)执行的程序指令的计算机可用介质,所述含有的程序指令包括用于实现根据前述权利要求1至8中任何一项的方法的装置。
11.根据前述权利要求9和10中任何一项的计算机程序,其中所述计算机程序是管理体(20)。
12.一种包括服务器计算机的计算机系统(10),所述服务器计算机包括网络适配器(15),并且所述服务器计算机执行提供了多个操作系统实例(21)的管理体(20)组件;所述系统包括适于实现根据前述权利要求1至8中任何一项的方法的装置。
13.根据权利要求12的计算机系统,其中所述OS实例通过所述管理体(20)访问计算机系统接口(22),所述管理体包括适配器虚拟化引擎(30),所述适配器虚拟化引擎包括用于实现根据前述权利要求1至8中任何一项的方法的装置,并且对所述WWPN池和所述表的管理是通过所述管理体的虚拟适配器名称控制器(33)组件来控制的。
14.根据权利要求13的计算机系统,其中所述WWPN池和所述WWPN表可以通过所述操作系统实例中的任何一个进行查询。
15.根据权利要求14的计算机系统,其中可以通过手动或自动装置将所述WWPN池(34)中的WWPN在已经被“锁定”之后标记为“非锁定”。
16.根据前述权利要求13至15中任何一项的计算机系统,其中所述WWPN池中的WWPN是不可以通过所述操作系统实例来分派的。
17.根据前述权利要求13至16中任何一项的计算机系统,其中所述存储设备不可由所述操作系统实例访问。
CN2006800241590A 2005-07-01 2006-03-16 用于管理依附于网络的物理端口的虚拟实例的方法和系统 Expired - Fee Related CN101213818B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP05105995 2005-07-01
EP05105995.4 2005-07-01
PCT/EP2006/060782 WO2007003448A1 (en) 2005-07-01 2006-03-16 Method and system for managing virtual instances of a physical port attached to a network

Publications (2)

Publication Number Publication Date
CN101213818A true CN101213818A (zh) 2008-07-02
CN101213818B CN101213818B (zh) 2011-09-14

Family

ID=36623290

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800241590A Expired - Fee Related CN101213818B (zh) 2005-07-01 2006-03-16 用于管理依附于网络的物理端口的虚拟实例的方法和系统

Country Status (10)

Country Link
US (2) US7739415B2 (zh)
EP (1) EP1900178B1 (zh)
JP (1) JP4620776B2 (zh)
KR (1) KR101054698B1 (zh)
CN (1) CN101213818B (zh)
AT (1) ATE430436T1 (zh)
AU (1) AU2006265303B2 (zh)
CA (1) CA2611697A1 (zh)
DE (1) DE602006006574D1 (zh)
WO (1) WO2007003448A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011098033A1 (zh) * 2010-02-10 2011-08-18 成都市华为赛门铁克科技有限公司 虚拟链路建立的方法、通信网元及以太网网络系统
CN102263807A (zh) * 2010-05-31 2011-11-30 国际商业机器公司 在存储区域网络保持通信路径畅通的方法和存储区域网络
CN103379151A (zh) * 2012-04-19 2013-10-30 华为技术有限公司 一种流量交换方法、装置及系统
WO2016011835A1 (zh) * 2014-07-22 2016-01-28 华为技术有限公司 光纤通道存储区域网络配置方法和装置
US9729470B2 (en) 2013-02-18 2017-08-08 Huawei Technologies Co., Ltd. Method, apparatus, and system for implementing node port virtualization on fibre channel
CN108701194A (zh) * 2016-01-19 2018-10-23 雷韦兹公司 掩蔽限制访问控制系统
CN113110882A (zh) * 2021-04-15 2021-07-13 山东英信计算机技术有限公司 一种fc驱动中管理fc端口运行的方法、装置和系统

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7672226B2 (en) * 2002-09-09 2010-03-02 Xiotech Corporation Method, apparatus and program storage device for verifying existence of a redundant fibre channel path
US7702757B2 (en) 2004-04-07 2010-04-20 Xiotech Corporation Method, apparatus and program storage device for providing control to a networked storage architecture
JP4883979B2 (ja) * 2005-10-11 2012-02-22 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および通信制御方法
US7836332B2 (en) * 2007-07-18 2010-11-16 Hitachi, Ltd. Method and apparatus for managing virtual ports on storage systems
JP5125659B2 (ja) * 2008-03-24 2013-01-23 富士通株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
US8301848B2 (en) * 2008-06-09 2012-10-30 International Business Machines Corporation Virtualizing storage for WPAR clients using node port ID virtualization
US8341308B2 (en) 2008-06-09 2012-12-25 International Business Machines Corporation Method and apparatus for a fibre channel N-port ID virtualization protocol
US8281305B2 (en) * 2008-10-17 2012-10-02 Hitachi, Ltd. Method and apparatus for resource provisioning
US8055736B2 (en) * 2008-11-03 2011-11-08 International Business Machines Corporation Maintaining storage area network (‘SAN’) access rights during migration of operating systems
US8140812B2 (en) * 2009-07-01 2012-03-20 International Business Machines Corporation Method and apparatus for two-phase storage-aware placement of virtual machines
US9454394B2 (en) * 2013-11-22 2016-09-27 Red Hat Israel, Ltd. Hypervisor dynamically assigned input/output resources for virtual devices
US9792437B2 (en) 2014-04-22 2017-10-17 Dell Products, Lp System and method for securing embedded controller communications by providing a security handshake
US9418223B2 (en) 2014-04-22 2016-08-16 Dell Products, Lp System and method for securing embedded controller communications by verifying host system management mode execution
US9473353B2 (en) 2014-06-23 2016-10-18 International Business Machines Corporation Cluster reconfiguration management
US9658897B2 (en) 2014-06-23 2017-05-23 International Business Machines Corporation Flexible deployment and migration of virtual machines
US9672070B2 (en) 2014-12-17 2017-06-06 International Business Machines Corporation Efficient validation of resource access consistency for a set of virtual devices
US9942132B2 (en) 2015-08-18 2018-04-10 International Business Machines Corporation Assigning communication paths among computing devices utilizing a multi-path communication protocol
CN107818035B (zh) * 2017-10-27 2020-09-22 苏州浪潮智能科技有限公司 一种基于多控mcs系统的npiv真实性验证方法
US11204792B2 (en) 2018-04-04 2021-12-21 International Business Machines Corporation Attaching storage resources to virtual machine instances

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040030768A1 (en) * 1999-05-25 2004-02-12 Suban Krishnamoorthy Unified system and method for downloading code to heterogeneous devices in distributed storage area networks
US7103648B1 (en) * 2001-07-31 2006-09-05 Gateway Inc. Method and system for assigning an IP address to a host based on features of the host
US7512133B2 (en) 2001-12-03 2009-03-31 International Business Machines Corporation Method and apparatus for obtaining multiple port addresses by a fibre channel from a network fabric
US7440415B2 (en) * 2003-05-30 2008-10-21 Ixia Virtual network addresses
JP4278444B2 (ja) * 2003-06-17 2009-06-17 株式会社日立製作所 仮想ポート名の管理装置
JP4580195B2 (ja) * 2004-08-12 2010-11-10 株式会社日立製作所 ファイバーチャネルスイッチを含むコンピュータシステムの管理方法、管理プログラム及びそのコンピュータシステム
JP4733399B2 (ja) 2005-01-28 2011-07-27 株式会社日立製作所 計算機システム、計算機、ストレージ装置及び管理端末

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011098033A1 (zh) * 2010-02-10 2011-08-18 成都市华为赛门铁克科技有限公司 虚拟链路建立的方法、通信网元及以太网网络系统
US9917767B2 (en) 2010-05-31 2018-03-13 International Business Machines Corporation Maintaining a communication path from a host to a storage subsystem in a network
CN102263807A (zh) * 2010-05-31 2011-11-30 国际商业机器公司 在存储区域网络保持通信路径畅通的方法和存储区域网络
US8644132B2 (en) 2010-05-31 2014-02-04 International Business Machines Corporation Maintaining a communication path from a host to a storage subsystem in a network
US8964527B2 (en) 2010-05-31 2015-02-24 International Business Machines Corporation Maintaining a communication path from a host to a storage subsystem in a network
CN103379151A (zh) * 2012-04-19 2013-10-30 华为技术有限公司 一种流量交换方法、装置及系统
CN103379151B (zh) * 2012-04-19 2016-11-23 华为技术有限公司 一种流量交换方法、装置及系统
US9729470B2 (en) 2013-02-18 2017-08-08 Huawei Technologies Co., Ltd. Method, apparatus, and system for implementing node port virtualization on fibre channel
CN104247375B (zh) * 2013-02-18 2017-11-17 华为技术有限公司 光纤通道中实现节点端口虚拟化的方法,装置和系统
WO2016011835A1 (zh) * 2014-07-22 2016-01-28 华为技术有限公司 光纤通道存储区域网络配置方法和装置
US10644935B2 (en) 2014-07-22 2020-05-05 Huawei Technologies Co., Ltd. Method for configuring fibre channel storage area network, and apparatus
CN108701194A (zh) * 2016-01-19 2018-10-23 雷韦兹公司 掩蔽限制访问控制系统
US11436274B2 (en) 2016-01-19 2022-09-06 Regwez, Inc. Visual access code
CN113110882A (zh) * 2021-04-15 2021-07-13 山东英信计算机技术有限公司 一种fc驱动中管理fc端口运行的方法、装置和系统
CN113110882B (zh) * 2021-04-15 2023-02-28 山东英信计算机技术有限公司 一种fc驱动中管理fc端口运行的方法、装置和系统

Also Published As

Publication number Publication date
US7757007B2 (en) 2010-07-13
JP4620776B2 (ja) 2011-01-26
JP2009500702A (ja) 2009-01-08
US20080181232A1 (en) 2008-07-31
ATE430436T1 (de) 2009-05-15
AU2006265303A1 (en) 2007-01-11
KR20080037647A (ko) 2008-04-30
US20070005820A1 (en) 2007-01-04
AU2006265303B2 (en) 2010-11-11
DE602006006574D1 (de) 2009-06-10
CA2611697A1 (en) 2007-01-11
KR101054698B1 (ko) 2011-08-08
EP1900178B1 (en) 2009-04-29
WO2007003448A1 (en) 2007-01-11
CN101213818B (zh) 2011-09-14
US7739415B2 (en) 2010-06-15
EP1900178A1 (en) 2008-03-19

Similar Documents

Publication Publication Date Title
CN101213818B (zh) 用于管理依附于网络的物理端口的虚拟实例的方法和系统
JP7085565B2 (ja) 分離されたネットワークスタックにわたるインテリジェントなスレッド管理
US10771324B2 (en) System and method for using virtual machine fabric profiles to reduce virtual machine downtime during migration in a high-performance computing environment
US7921431B2 (en) N-port virtualization driver-based application programming interface and split driver implementation
US6718392B1 (en) Queue pair partitioning in distributed computer system
US7051182B2 (en) Mapping of hosts to logical storage units and data storage ports in a data processing system
US6260120B1 (en) Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
EP1399829B1 (en) End node partitioning using local identifiers
JP5272709B2 (ja) アドレス割当方法、コンピュータ、物理マシン、プログラム、及びシステム
US20090240790A1 (en) Network Switching Apparatus, Server System and Server Migration Method for Server System
JP2005525619A (ja) ストレージ・エリア・ネットワーク内で記憶の仮想化を実施する方法及び装置
US8819200B2 (en) Automated cluster node configuration
US7039922B1 (en) Cluster with multiple paths between hosts and I/O controllers
US6173319B1 (en) Using a systems network architecture logical unit activation request unit as a dynamic configuration definition in a gateway
US11018947B2 (en) System and method for supporting on-demand setup of local host channel adapter port partition membership in a high-performance computing environment
US10972375B2 (en) System and method of reserving a specific queue pair number for proprietary management traffic in a high-performance computing environment

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110914

Termination date: 20120316