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

文档序号:7638501阅读:138来源:国知局
专利名称:用于管理依附于网络的物理端口的虚拟实例的方法和系统的制作方法
技术领域
本发明涉及一种用于管理依附于网络的物理端口的虚拟实例的方法、 系统和计算枳i程序产品。更具体地,本发明涉及一种网络,在其中,各个相连的计算机或设备具有唯一标识符。作为例子,描述了具有光纤通道(Fibre Channel)连接 的网络。
背景技术
在功能上,光纤通道(FC)是构造用于高性能数据通信的双向、全双 工、点到点、串行数据通道。FC提供了一种通用传输机制,其不具有本机 输入/输出命令集或其自己的协议,但却可以传输任何现有的上层协议 (Upper Level Protocols, ULPs ),例如FCP ("用于SCSI (小型计算机 系统接口 )的光纤通道协议,,),以及IP (因特网协议)。FC所使用的信息传送的最小的、不可分单元称为帧。帧用于传送数据。 帧的大小取决于硬件实现并且与ULP或应用软件无关。这些帧聚合形成称 为序列的消息。可以不按顺序接收序列中的帧。 一个或多个序列形成交换, 其是基本事务。将帧分成两类没有数据有效栽荷的链路控制帧,其用于 流控制,以及具有数据有效栽荷的数据帧,例如封装的ULP数据。存在各种FC标准,例如以下参考1. Information Technology - Fibre Channel Protocol for SCSI, 2nd Version (FCP 2), ANSI/INCITS 350;2. Information Technology - Fibre Channel Framing and Signalling Interface (FC- FS) , ANS匪CITS 373 。可以在例如Robert W. Kembd于1998年的"The Fibre ChannelConsultant—A Comprehensive Introduction"中找到有关FC的更多细节。 将计算机或其它设备连接至FC需要专用硬件。通常以插到诸如计算 机系统的PCI/PCI-X/PCI-Express槽这样的现有输/v/输出(I/O)硬件中 的FC适配卡的形式提供FC硬件。每个FC适配器均含有至少一个N—端 口 (N_Port),即在FC链路上进行实际数据通信的FC硬件实体。N—端口可由实现为64比特的值的、唯一的全球端口名(Worldwide Port 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),各l字节长。 在FC帧的头部的源标识符(S—ID)和目的标识符(D_ID)字段中使用 N—端口标识符。在结构中发起通信需要多个阶段的注册过程,其中,首先在该结构中 的N—端口与f—端口之间建立通信,并且然后与目的n—端口建立通信。在 第一步骤中,N—端口的结构注册(fabric login )建立了将要在该结构内4吏 用的服务类别以及包括流控制信息在内的其它通信参数。在完成N—端口的 结构注册之后,通过称为节点注册(node login )的第二注册过程,在网络 中发起和接收N—端口建立了其彼此间的通信。交换若干通信参数并且开始 传输。由于FC可以用于将系统与多种类型的内部资源以及其内的过程相 连接,因此使用称为过程注册(process login )的附加注册。举例来说,过
程注册用于选择与两个通信 _端口内的过程所支持的ULP相关的参数。大多数现今的FC适配器仅提供一个N—端口。在执行多个操作系统 (OS)实例的计算机中,出现了如何在这些实例中共享这样的]\_端口的 问题。这样的共享将有利于最小化FC适配器的数目,从而减低成本和最 大化适配器利用率,尤其是对大规模虚拟化环境。甚至在4吏用拔^供多个N— 端口的FC适配器时也存在该问题,因为需要支持的过程数常常超过FC 适配器所提供的N—端口数。执行多个OS实例的能力通常由称为(执行)管理体的软件层来提供,虚拟硬件接口。举例来说,管理体可以是计算机系统的固件的一部分,其 可以是操作系统的一部分,或者其可以是运行作为OS实例内的过程的常 规程序。管理体的工作常常是由附加的硬件特征(例如,专用处理器指令 或固件层)来支持的。一些管理体可以有效地创建计算才几系统的多个虛拟映4象,这对于在这 样的虚拟计算机系统中执行的OS实例给予了几乎这样的错觉,即好像其 正独占地运行在真实服务器上一样。这些OS实例通过I/0端口访问真实 I/O实体H象适配器),可以在配置步骤中定义该I/O端口并且将其分派 给虚拟计算机系统。OS实例可以使用分派给在其上运行该OS实例的特定 虛拟服务器的I/O端口来仅进行I/O操作。美国专利申请NO. 2003/0200247A1和NO. 2004/0025166A1描述了 一 种用于在计算机系统的多个OS实例中并行共享FC适配器的方法。然而, 该共享能力具有由以下事实所导致的各种缺陷,即相同的N一端口标识符用 于从特定FC适配器发送或者指定到特定FC适配器的所有FC帧。因此, 该N一端口标识符不可以用于区分多个OS实例所有的帧似乎都来自相同 的发起方,并且相应地将响应发送回到相同的地址。以上专利申请中所提 出的解决方案是截获、分析和修改多个OS实例与物理 _端口之间的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主机可以寻址可以共享公用控制器的多个外围设备。分区允 许将结构的 _端口划分成称为区域(zone)的]\_端口组。区域内的N_ 端口可以仅与相同区域中的其它N—端口通信。在美国专利申请NO. 2003/0103504A1中以及之后在所合并的 INC1TS/ANSI FC Framing and Signalling (FC-FS)标准1.6上公开了一 种解决FC适配器共享问题的方式,其描述了结构需要如何处理N—端口标 识符虛拟化。该申请描述了一种获得用于单个物理N—端口的多个]\_端口 标识符(]\_端口 ID)的方法。为了获得N—端口标识符,N—端口首先通过向依附的F—端口发送"结 构注册,,(FLOGI)扩展链路服务(ELS, extended link service )命令(专 用链路控制帧)来向结构注册。在该步骤中,将传送附加的服务参数,并 且分派笫一 _端口标识符。在完成FLOGI之后,结构本身准备分派附加 的N一端口标识符。为了获得另一N—端口标识符,N一端口使用为零的S_ID 来发送"结构发现(Fabric Discover) " ( FDISC ) ELS命令。使用FDISC ELS而不是附加的FLOGI命令是为了避免破坏操作环境。当N—端口向结 构发送FDISC ELS时,其提供以下功能1. 其为物理N一端口提供装置以便向结构传送WWPN。2. 其向结构提供信号以l更为物理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端 口有关系。通过在耦合于所述计算机系统的存储设备上存储相关表格,可以实现 IVO端口与其WWPN的关联的持久性。该方式下,对所述计算机系统的断 电/通电重开或对所述管理体的重新启动不影响WWPN到I/O端口的映射。 通过发布FDISC以及为所述WWPN分派N—端口 ID,所述WWPN确保 只有正确授4又的虚拟服务器和操作系统实例才可以获得向其分派的资源。本发明允许在多个OS实例中透明地共享单个物理FC适配器。在所 述OS实例不需要任何专用命令的情况下自动共享所述适配器。本发明的进一步的重要方面在于其透明地支持诸如分区和LUN掩蔽 这样的常规SAN经营与管理模型。这避免了基于主机的SAN经营与管理 步骤以及前述出现的问题。这还显著减少了 SAN经营与管理复杂性。这消 除了对诸如FCP这样ULP的限制。
本发明的另 一重要方面在于可以从所述计算机系统外部发起使用虚拟适配器的FC事务,并且将该事务引导至特定的OS实例。本发明允许定义虚拟适配器特征,举例来说,诸如适配器带宽这样的 性能特征。这允许基于每个虛拟适配器的性能需求,在共享相同的物理N一 端口的虚拟适配器之间进行平衡。


对于本发明及其优点,现在参照以下结合附图的描述。图l是可以在其中实现本发明的计算机系统的框图;图2是控制多个OS实例的管理体所封装的FC适配器的框图;图3是依照本发明的管理体实施例的框图;图4是依照本发明的方法的实施例的说明性流程图;以及图5是依照本发明的方法的实施例的说明性流程图。
具体实施方式
图1说明了可以在其中使用本发明的计算机系统10。共享存储器11 耦合于一个或多个中央处理器(CPU) 12。这些CPU 12还耦合于I/O子 系统13。单独的存储设备14还可以由CPU 12访问。存储设备14的内容 是持久的其经受得住断电/通电重开。FC适配器15对于CPU12而言可 通过I/O子系统13进行访问,并且该FC适配器15连接至FC结构16。 FC适配器15具有连接至结构16的FJS^ 口 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可以是可由软件4吏用的 任何种类的计算机接口。在本发明的优选实施例中,存储设备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/0端口 32, AVE30在存储器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 4吏用虚拟适配器名称控制器(Virtual Adapter Name Controller, 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上。 在系统配置步骤中,还定义了 1/0端口 32与OS实例21a的关联。并没有 限制通信单元31仅可以使用 一个I/O端口 。图4中示出了用于I/O端口 32激活的步骤。通信单元31触发对I/O 端口 32的激活(步骤40)。如果(步骤41)已激活了 1/0端口 32,那么(步骤42 )AVE 30向通信单元31呈现错误。否则,I/O端口 32的WWPN 将用于使用FDISC ELS命令注册结构16 (步骤43 )。如果(步骤44 )注 册不成功,那么(步骤45) AVE30向通信单元呈现错误。否则,AVE 30 将I/O端口 32标记为激活的,在虚拟适配器中存储由结构16所提供的N_ 端口 ID (步骤46 ),并且返回至通信单元31 (步骤47 )。图5示出了用于I/0端口 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呈现4晉误(步骤55 )。 否则(步骤56),会将I/0端口 32标记为停用的,并且将在虛拟适配器 中删除用于WWPN的关联PSL端口 ID条目。之后,AVE30成功完成停用(步骤57 )。可以从系统配置中移除已经在管理体20的配置步骤中生成的I/O端 口。如果从系统配置中移除了 1/0端口,则将对应的WWPN再次添加到 WWPN池34并且将其标记为"锁定,,。VA-NC 33不会使用标记"锁定,, 的WWPN来分派给新近创建的I/O端口 32(即I51^添加到系统配置的I/O 端口 )。当已经从管理体20的系统配置中移除了与WWPN关联的I/O端口 32 时,必须对该WWPN进行锁定,从而避免会将该WWPN再次分派给添 加到管理体20的系统配置中的另一I/0端口 32。这会是这样的情况,即 仍然在SAN中为该WWPN建立访问规则,例如,准许该WWPN访问特 定设备(LUN)的一种LUN掩蔽设置。但是,这样随新的I/O端口而重 新使用WWPN常常不是预期的,因为仅有特定的OS实例有意使用SAN 中的特定资源。因此,为了恢复这些锁定的WWPN,以及防止这样的情形,即由于所 有可用的WWPN要么被锁定要么在使用,因此没有WWPN可以净皮分派 给l/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-NAT 35之外的所有可能的WWPN都可以保留在该表中。如果WWPN落在最 近最少4吏用列表之外,则会将其再次添加到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端口的1^_端口 ID和WWPN。出于SAN经营与管 理的目的,这可以由OS实例21a来4吏用。从物理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—端口相关联并且由结构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需要停用其受影响的1/0端口 32并且再次激活它们。为了最小化N—端口断连对该断连所影响的OS实例21b中的应用程序 的影响,可以优先重新激活I/O端口 32。 一种简单的优先化解决方案是 AVE 30在存储器11中使用之前有效的I/O端口的优先级列表。对于每个 1/0端口 32激活,AVE 30搜索该优先级列表并且如果其在优先级列表中 找到I/0端口 (也就是说,激活是对断连的1/0端口的重新激活),则立 即继续激活。否则,AVE 30在其继续激活之前等待一段时间,以便在可 以重新激活先前激活的I/O端口之前不耗用N一端口 ID。当在I/O端口激 活期间找到优先级列表中的条目时将其删除,并且在特定的截止时间之后 移除该条目。进一步地,有可能为虚拟适配器定义特征。举例来说,有可能定义特 定的性能特征,以侵羞于使用虚拟适配器的每个OS实例21a的性能需求, 在共享相同的物理1^_端口 17的虚拟适配器之间进行平衡;例如,"高带宽" 可以定义AVE 30对较大存储緩冲器的使用,以便增加用于虚拟适配器的 带宽;"低带宽,,可以定义AVE刈对小型存储緩冲器的使用,以便降低用
于虚拟适配器的带宽。单独的存储设备14不需要直接依附于计算机系统10。举例来说,其 还可以依附于通过网络服务提供对该存储设备14的间接访问的另一计算 机系统。优选地将本发明实现为软件, 一系列机器可读指令,尤其是作为在一 个或多个硬件机器上执行的所谓固件,其控制和监视这些硬件机器,并且 常常用于实现其它程序(尤其是操作系统)可以使用的、到该硬件的明确 接口。虽然已经示出和描述了特定的实施例,但是,对本领域的技术人员 来说,对本发明的各种修改将是显而易见的。
权利要求
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. 根据前述4又利要求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)的计算^l^呈 序,其包括当在所述计算机上运行所述程序时用于实现根据前述权利要求 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中任何一项的计算机系统,其中所述 存储设备不可由所述操作系统实例访问。
全文摘要
本发明涉及一种用于管理依附于网络的物理端口的虚拟实例的方法、计算机程序产品和系统。在本发明的优选实施例中,所述方法基于对物理光纤通道N端口的光纤通道N端口虚拟化。多个虚拟光纤通道适配器在多个操作系统实例中共享单个物理N端口。本发明公开了用于自动和持久地生成和管理所述N端口虚拟化所需要的唯一全球端口名的装置。
文档编号H04L29/12GK101213818SQ200680024159
公开日2008年7月2日 申请日期2006年3月16日 优先权日2005年7月1日
发明者F·小布赖斯, G·弗雷泽, G·班兹哈夫, I·阿德隆, J·斯里克里施南, S·穆勒 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1