CN1777177B - 用于适配器端口配置的装置、系统和方法 - Google Patents
用于适配器端口配置的装置、系统和方法 Download PDFInfo
- Publication number
- CN1777177B CN1777177B CN200510099224.3A CN200510099224A CN1777177B CN 1777177 B CN1777177 B CN 1777177B CN 200510099224 A CN200510099224 A CN 200510099224A CN 1777177 B CN1777177 B CN 1777177B
- Authority
- CN
- China
- Prior art keywords
- port
- module
- communication adapter
- resource
- line
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种用于在多端口通信适配器中配置端口的装置、系统、和方法。所述装置包括离线模块和更新模块。所述离线模块使所述多端口通信适配器的第一端口离线。所述更新模块更新所述第一端口的端口资源,同时允许在所述多端口通信适配器的第二端口上的并行通信。所述端口资源可以包括端口拓扑结构和/或端口协议。而且,所述装置可以包括在线模块,其响应于端口资源更新而使所述第一端口重新在线。其优点在于,该装置更新端口资源,并且根据端口资源属性配置所选择的端口,而不中断在该适配器的其它端口上的并行通信,如果存在这种并行通信的话。
Description
技术领域
本发明涉及通信适配器,具体来说涉及更新在多端口通信适配器的端口配置。
背景技术
用户不断地要求计算机系统和计算机子系统具有更高的高效率可用性(high availability)。并且希望网络服务器、数据库服务器、应用程序服务器等随时可用。如果确实需要离线的话(if at all),对这些系统的维护和更新应当使系统的离线时间最小化。此外,还希望这些系统中的部件(component)可以被配置到各种操作环境。
例如,帮助在通信系统中的两个系统部件之间进行通信的通信适配器,被期望可以配置到各种拓扑结构(topology)和协议。如这里所使用的,拓扑结构指的是在通信系统中的物理连接。一般的拓扑结构包括点到点、交换结构(fabric switched)、光纤通道仲裁回路(Fibre Channel Arbitrated Loop,FC-AL)等。这里所使用的协议是指用来在系统部件之间传送数据的通信方案。一般的上层协议(ULP),包括光纤通道协议(FCP)和FICON(FC-SB-2)。取决于通信系统的操作,也可以采用其它拓扑结构和协议。
通信适配器通常包括多个端口(port)。每个端口可以被用于物理连接到另一个系统部件。例如,主机可以经由通信电缆、以点到点的拓扑结构直接连接到端口。在另一个例子中,端口可以被便利地物理连接到集线器(hub)或交换机(switch),而集线器或交换机再连接到主机。通信适配器可以被周期性地重新配置来提供改进的通信或支持不同的通信拓扑结构或协议。
图1描述了传统的适配器配置方法。这种用于重新配置适配器端口的标准技术包括在适配器接收配置请求以及终止适配器的所有端口的操作。例如,典型的适配器可以具有4个端口。然后适配器被使用新的拓扑结构和/或协议配置来进行复位、重新配置和重新初始化。随后,在适配器的全部端口都可以恢复操作。
不幸的是,哪怕是为了重新配置单一的一个端口,传统的适配器配置方法也需要在适配器上的全部端口都脱离通信。这样,对一个端口的重新配置会妨碍到适配器中的其它端口的并行通信(concurrent communication)。换句话说,对一个端口的重新配置会要求终止在没有涉及该重新配置的端口上的操作。而且,传统的适配器配置方法要求所有的端口被同时配置。
如前所述,显而易见,存在对在通信适配器上更新端口配置而不妨碍在同一通信适配器中的其它端口的并行通信的装置、系统和方法的需求。有益的是,这样的装置、系统和方法能够克服与传统的端口配置技术相关的当前挑战。
发明内容
响应于现有技术的状况,并且具体来说,响应于还没有被当前可用的适配器配置技术完全解决的现有技术中的问题和需求做出了本发明的几个实施例。因此,做出本发明以提供用于在多端口(multi-port)适配器上配置端口的装置、系统和方法以克服现有技术中上面讨论的很多或全部缺点。
配置端口的装置配备有包含多个配置来有效执行用于选择性地端口配置所需操作的多个模块的逻辑单元。在所说明的实施例中的这些模块包括离线模块、更新模块、在线模块、静默模块(quiesce module)、光模块、以及路径模块。
在一个实施例中,离线模块在预期到I/O端口的重新配置时使得I/O端口离线。离线模块能够顺序地或同时使单个端口、全部端口或所选端口离线。
在一个实施例中,更新模块更新对应于被离线模块离线的I/O端口的端口资源。所述端口资源可以包括一个或多个端口拓扑属性(topology attribute)和/或一个或多个端口协议属性。所述更新模块可以操作而不引起对在其它I/O端口的每一个上的并行通信的干扰。
在一个实施例中,端口拓扑属性对应于光纤通道仲裁回路(FC-AL)拓扑结构。或者,端口拓扑属性对应于结构(fabric)点到点(P-P)拓扑结构。或者,端口拓扑属性对应于另一种拓扑结构。在进一步的实施例中,端口拓扑属性可能对应于未配置的拓扑结构,其指示I/O端口未被配置为任何特定的拓扑结构。
在一个实施例中,端口拓扑属性对应于光纤通道协议(FCP)。或者,端口拓扑属性对应于光纤连接(Fiber Connection,FICON)协议。或者,端口拓扑属性对应于另一个协议。在再一个实施例中,端口拓扑属性可能对应于未配置的协议,其指示I/O端口未被配置为任何特定的协议。
在另一个实施例中,更新模块还通过管理用于端口资源更新的处理器控制线程分配(thread allocation)来最小化更新操作可能对于并行通信产生的影响。例如,更新模块可能限制在给定时间发送到处理器的线程数,从而限制端口资源更新可能对在其它I/O端口的并行通信产生的影响。在一个实施例中,更新模块可以实施一个队列(queue)来限制发送到处理器的线程数。
在一个实施例中,响应于端口资源更新,在线模块使更新后的I/O端口重新在线(back online)。在I/O端口重新在线后,I/O端口使用包括任何更新的端口拓扑属性和/或端口协议属性的更新端口资源来便利(facilitate)数据通信。
在一个实施例中,静默模块使得在要被配置的I/O端口的通信静默。在另一个实施例中,当第一端口被静默时,静默模块允许在其它端口上的并行通信。这样,静默模块不阻碍(prevent)在其它I/O端口的并行通信。
在一个实施例中,光模块关闭要被配置的I/O端口的光。在另一个实施例中,当第一端口离线时,光模块不关闭其它端口的光。这样,光模块不妨碍在其它I/O端口的并行通信。
在一个实施例中,路径模块管理在多端口通信适配器和诸如主机的远程设备之间的逻辑路径。更具体地讲,路径模块可以管理在要被配置的I/O端口和诸如在远程主机上的主机总线适配器(HBA)的远程通信适配器之间的逻辑路径。在另一个实施例中,路径模块在预期到I/O端口被离线模块离线时去除该逻辑路径。
本发明的系统还用来配置端口。在一个实施例中,系统可以具体表现为包括多个端口的多端口适配器,其包括第一端口和第二端口,以及连接到该多端口适配器的更新模块。在一个实施例中,更新模块更新第一端口的端口资源,而同时允许在第二端口的并行通信。
本系统的另一个实施例可以具体表现为一个通信系统,所述通信系统包括存储系统、主机和配置装置。在一个实施例中,所述存储系统包括具有多个端口的通信适配器,其包含第一端口和第二端口。所述主机可以经由第二端口连接到存储系统。所述配置装置被配置来更新第一端口的端口配置和维护第二端口的现存端口配置。在再一个实施例中,该系统还可以包括在存储系统中的处理器。所述处理器可以被配置来处理在第一端口的端口配置更新期间在主机和第二端口之间的数据通信。换句话说,端口配置操作不中断在适配器其它端口上的并行通信。
还提出一种信号承载介质来存储程序,当该程序被执行时,该程序执行一个或更多操作来配置端口。在一个实施例中,该操作包括使得多端口通信适配器的第一端口离线以及更新第一端口的端口资源,同时允许在多端口通信适配器的第二端口上的并行通信。
在另一个实施例中,该操作还可以包括响应于端口资源更新使第一端口重新在线(put online)和/或管理用于端口资源更新的处理器控制线程分配。在另一个实施例中,该操作还可以包括使第一端口的通信静默,而同时允许在第二端口的通信,关闭第一端口的光,而维持第二端口的光,和/或管理在第一端口和远程适配器之间的逻辑路径。
还提出了一种用于配置(deploy)计算体系结构(infrastructure)的方法。该计算体系结构包括集成在计算系统中的计算机可读代码。在一个实施例中,与计算系统相组合,该计算机可读代码能够配置端口。具体来说,在所公开的实施例中的方法主要包括配置能够使能相对于所描述的装置和系统的操作的执行上述功能的操作所需要的代码。而且,所述代码的操作的一些或全部基本上和当在信号承载介质上的程序被执行时执行的操作类似。
贯穿本说明书的对于特征、优点的参考或类似的语言并不表示本发明可以实现的全部特征和优点都应当在本发明的单一实施例中。相反,参照所述特征和优点的语言应当被理解为连同实施例描述的特定的特征、优点或特性被包括在本发明的至少一个实施例中。于是,贯穿本说明书的对于特征和优点的讨论以及类似的语言可以,而并非必须指的是同一个实施例。
而且,所说明的本发明的特征、优点和特性可以以任何适当的形式组合在一个或多个实施例中。相关技术领域的技术人员应当理解本发明可以以特定实施例中的一个或多个特定特征或优点没有被实施的形式来实现。在其它例子中,可以从特定的实施例中认识到附加的特征和优点,而这些特定实施例可以并没有出现在本发明的全部实施例中。
通过下面的说明和所附权利要求,本发明的特征和优点将变得更加明显,或者可以通过实施此后描述的本发明来学习到。
附图说明
为了容易地理解本发明的优点,将参照在所附附图中说明的特定实施例来给出对上面简单说明的本发明的更具体的说明。应当理解这些附图仅仅描绘了本发明的实施例,并且因此不是为了限制部分发明的范围的。将使用所述附图对本发明进行额外的具体的细节的说明,其中:
图1是说明传统的适配器配置方法的示意性流程图;
图2是说明通信系统的一个实施例的示意性方框图;
图3是说明多端口通信适配器的一个实施例的示意性方框图;
图4是说明配置装置的一个实施例的示意性方框图;
图5是说明端口配置方法的一个实施例的示意性流程图;
图6是说明端口离线方法的一个实施例的示意性流程图;
图7是说明端口更新方法的一个实施例的示意性流程图;
图8是说明端口在线方法的一个实施例的示意性流程图。
具体实施方式
在本说明书中描述的许多功能单元被标为模块,以便更具体地强调它们的实施独立性。例如,模块可以被实施为包括定制(custom)的VLSI电路或门阵列、诸如逻辑芯片的现货供应(off-the-shelf)的半导体、晶体管、或是其它的分立组件的硬件电路。模块还可以以诸如场可编程门阵列(field programmablegate array)、可编程阵列逻辑(logic)、可编程逻辑设备等的可编程硬件设备来实施。
模块也可以以用于由各种类型的处理器执行的软件来实施。例如,识别的可执行代码的模块可以包括一个或更多的计算机指令的物理块或逻辑块,这些计算机指令物理块或逻辑块例如可以被组织为对象、进程或函数。然而,被识别的模块的可执行部分(executable)不需要在物理上处于一处,而是可以包括存储在不同位置的全异(disparate)的指令,而当这些指令逻辑上结合在一起时,将构成该模块并实现该模块所声明的目的。
实际上,可执行代码模块可以是单个指令,或很多指令,并且甚至可以是分布在几个不同的代码段中、在不同的程序中,以及在几个存储器设备中。类似地,可操作数据可以在模块中被识别和说明,并且可以以任何适当的形式来具体表现,以及组织为任何适当类型的数据结构。这些可操作数据可以集中为单一数据集,或分布在不同的位置,包括分布在不同的存储设备中,而且可以至少部分地仅仅作为系统或网络上的电子信号而存在。
图2说明了通信系统200的一个实施例。所说明的通信系统200包括三个连接到存储系统208的主机202、204和206。存储系统208在一个实施例中是配置来存储数据的存储服务器。在一个替代实施例中,通信系统200可以包括多个存储系统208。第一和第二主机202和204经由交换机210冗余地(redundantly)连接到存储系统208。第三主机206直接连接到存储系统208。为了清楚的目的省略其它可能的(potential)连接设备(equipment)。
虽然在所描述的实施例中示出了三个主机202、204和206,通信系统200可以用比主机202、204和206更少或更多的主机以及存储系统208来操作。此外,主机202、204和206可以以变动冗余(varying redundancy)和直接性的替换配置连接到存储系统208。而且,所示的电缆连接可以包括光纤通道(FibreChannel)、企业系统连接(ESCON)、光纤连接(FICON)通道、小型计算机系统接口(SCSI)等。此外,通信系统200可以被配置来支持各种拓扑结构,包括点到点、交换结构、光纤通道仲裁回路(FC-AL)等。而且,通信系统200可以支持各种上层协议(ULP),包括光纤通道协议(FCP)和FICON(FC-SB-2)。
所描述的主机202、204和206的每个包括一个或更多的主机总线适配器(host bus adapter,HBA)212、214、216。每个HBA 212、214和216被配置来管理在相应的主机202、204和206和存储系统208之间传送数据所需的大多数I/O操作。具体来讲,每个主机总线适配器212、214和216被优化来快速地执行很多I/O操作,并且很少需要或不需要主机202、204和206的参与(involvement),最小化主机202、204和206的工作量。主机总线适配器212、214和216还可以被称为通信适配器。
所描述的存储系统208包括多个冗余的主机适配器218、220和簇(cluster)222、224。主机适配器218、220基本上和上述的主机总线适配器212、214和216类似,并且也可以被称为通信适配器。每个簇222、224可以包括一个或更多的多处理器226、228,以及到几个逻辑单元号(logical unit number,LUN)230、232、234、236的连接。在一个特定的实施例中,一个簇222可以主要访问(primarily access)偶数LUN 230、234,而另一个簇224可以主要访问奇数LUN 232、236。在主机适配器218、220和簇222、224之间的冗余路径,以及在多处理器226、228和LUN 230、232、234、236之间的冗余路径允许当发生诸如硬件故障等故障时进行数据存储和访问。此外,存储系统208可以采用冗余独立磁盘阵列(redundant array of independent disk,RAID),并且可能地镜像(mirror)和分区(strip)所存储的数据,以及计算和存储校验数据。
对于所说明的主机202、204和206之一的任何参照被理解为是指主机202、204和206中的任何一个或全部,除非另有说明。同样,对于所述主机总线适配器212、214和216之一的任何参照被理解为是指通信适配器的任何一个或全部,包括主机总线适配器212、214和216和/或主机适配器218、220,除非另有说明。类似地,对于冗余的所说明的簇222、224、多处理器226、228或者LUN 230、232、234、236之一的参照被理解为分别是指任何对应的设备,除非另有说明。
贯穿本说明书,为了描述本发明简短和清楚的目的,将结合在主机总线适配器212、214、216和主机适配器218、220中具体使用的处理器和存储器来描述各种实施例。在此说明的实施例仅是代表性的范例,而不是为了限制由权利要求书所定义的本发明的范围。本领域的技术人员应当理解特定的实施例可以在包括诸如微处理器的处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)等、执行代码映像(code image)并允许使用代码覆盖(code overlay)来更新该代码映像的任何计算机或电气系统中实施。
图3描述了基本上和图2的主机适配器218、220类似的多端口通信适配器300的一个实施例。所示的通信适配器300包括处理器(CPU)302、一个或多个闪存存储器设备304、一个或多个可编程逻辑阵列(PLA)306,多个I/O端口308a-d、本地存储器设备310以及配置装置312。虽然在图3中示出了4个I/O端口308a-d,多端口通信适配器300的替代实施例可以具有更少或更多的I/O端口308。任何对于所示的I/O端口308a-d之一的参照应当理解为是指I/O端口308a-d的任何一个或全部,除非另有说明。配置装置312的一个例子被参照图4来更详细说明。
在一个实施例中,电子存储器设备310可以存储一个或多个端口资源314。例如,电子存储器设备310可以为每个I/O端口308存储一个端口资源314。端口资源314包括对应的I/O端口308的属性。在一个实施例中,端口资源314可以包括端口拓扑属性316和端口协议属性318。端口拓扑属性316与对应的I/O端口308所采用的拓扑结构相关。类似地,端口协议属性318与对应的I/O端口308所采用的协议相关的。
在一个实施例中,多端口通信适配器300执行高速I/O操作,诸如在主机202和存储系统208之间。CPU202被配置来在多端口通信适配器300上执行操作指令。闪存存储器设备304和可编程逻辑阵列(PLA)306与CPU302交互(interact)以适当地执行I/O操作。此外,I/O端口308a-d允许多端口通信适配器300和诸如主机202的其它设备传递(communicate)数据和控制信息。这种连接可以是直接连接或经由集线器、交换机210和/或其它连接设备。在一个实施例中,本地存储器设备310可以是诸如随机存取存储器(RAM)、非易失性随机存取存储器(NVRAM)等的高速主存储器。
图4描述了基本上和图3的配置装置312类似的配置装置400的一个实施例。所说明的配置装置400包括离线模块402、更新模块404、在线模块406、静默模块408、光模块410和路径模块412。虽然配置装置312的一个实施例被描述为在通信适配器300中,配置装置400或者配置装置400的一个或更多的模块可以连接到通信装置300,以及存储在处理器226上或者是存储在存储系统208中或连接到存储系统208的另一个设备上。
在一个实施例中,离线模块402预期到I/O端口308a的重新配置而将I/O端口308a离线。离线模块402能够使得单一I/O端口308a、全部I/O端口308a-d、或所选择的端口308顺序地或同时离线。在另一个实施例中,离线模块402可以被配置为由于另一个原因而使得I/O端口308a离线,包括响应于一个配置请求。
在一个实施例中,更新模块404更新对应于由离线模块402离线的I/O端口308a的端口资源314。更新模块404可以在不引起,如果存在,每个其它I/O端口308b-d的并行通信的干扰的情况下进行操作。如上所示,端口资源314可以包括一个或多个端口拓扑属性316或者一个或多个端口协议属性318。
在一个实施例中,端口拓扑属性316对应于光纤通道仲裁回路(FC-AL)拓扑结构。或者,端口拓扑属性316对应于结构点对点(P-P)拓扑结构。或者,端口拓扑属性316对应于另一个拓扑结构。在再一个实施例中,端口拓扑属性316可以对应于未配置的拓扑结构,其指示I/O端口308a未被配置为任何特定的拓扑结构。
在一个实施例中,端口协议属性318对应于光纤通道协议(FCP)。或者,端口协议属性318对应于光纤连接(FICON)协议。或者,端口协议属性318对应于另一个协议。在再一个实施例中,端口协议属性318可以对应于未配置协议,其指示I/O端口308a未被配置为任何特定的协议。
在另一个实施例中,更新模块404还通过管理用于端口资源314更新的处理器控制线程分配来最小化更新操作可能对并行通信产生的影响。例如,更新模块404可以限制在一个给定时间内发送到处理器302的线程数,从而限制端口资源314更新对于其它I/O端口308b-d的并行通信可能产生的影响。在一个实施例中,更新模块404可以实施一个队列来限制发送到处理器302的线程数。
在一个实施例中,在线模块406响应于端口资源314更新使更新的I/O端口308a重新在线。在I/O端口308a重新在线后,该I/O端口可以使用包括更新的端口拓扑属性316和更新的端口协议属性318的更新端口资源314来便利数据通信。
在一个实施例中,静默模块408静默在要被配置的I/O端口308a的通信。在另一个实施例中,当第一端口308a被静默时,静默模块408允许在其它I/O端口308b-d上的并行通信。这样,静默模块408不会妨碍在其它端口308b-d上的并行通信。
在一个实施例中,光模块410关闭在要被配置的I/O端口308a的光。在另一个实施例中,当第一端口308a离线时,光模块410不关闭在其它端口308b-d的光。这样,光模块410不会妨碍在其它端口308b-d上的并行通信。
在一个实施例中,路径模块412管理在多端口通信适配器300和诸如主机202的远程设备之间的逻辑路径。而且,具体来说,路径模块412可以管理在要被配置的I/O端口308a和诸如在远程主机202上的主机总线适配器(HBA)212的远程通信适配器之间的逻辑路径。在另一个实施例中,路径模块412预期到I/O端口308a被离线模块402离线,而去除该逻辑路径。
图5描述了结合图4的配置装置400来实施的端口配置方法500的一个实施例。在一个实施例中,所说明的端口配置方法500可以响应于端口配置请求而开始。这种端口配置请求可以从连接到存储系统208的网络服务器或管理控制台(console)(未示出)接收。
离线模块402使得所选择的端口308a离线(步骤502)。如上所述,在多端口通信适配器300上的其它端口308b-d保持在线的同时,只将单个I/O端口308a设置为离线(步骤502)。参照图6说明离线操作502的一个更详细的例子。
更新模块404随后根据所述配置请求或者从网络服务器或管理控制台接收的其它命令来配置所选的I/O端口308a(步骤504)。如上所述,当剩余的I/O端口308b-d未被重新配置的同时,单个I/O端口308a可以被重新配置(步骤504)。此外,当剩余的I/O端口308b-d处理并行数据通信时,单个I/O端口308a可以被重新配置。将参照图7说明配置操作的更详细的例子(步骤504)。
在一个实施例中,在线模块406随后使所选的端口308a重新在线(步骤506)。如上所述,当剩余的I/O端口308b-d保持在线并且被允许处理并行通信的同时,单个I/O端口308a可以被重新在线(步骤506)。参照图8说明在线操作506的一个更详细的例子。
图6描述了由图5的端口配置方法500的离线操作502的例子给出的端口离线方法600的一个实施例。通常,端口离线方法600可以便利于静默在所选择的端口308a上的活动,并设置端口308a物理离线(physically offline),包括例如停止(drop)在光纤通道接口上的光。在一个更具体的实施例中,所说明的端口离线方法600开始,并且诸如存储系统208的存储服务器发送端口离线命令到多端口通信适配器300,以将指定的端口308a离线(步骤602)。该适配器300随后从存储服务器208接收端口离线命令(步骤604)。在一个实施例中,该适配器300随后可以通知FICON ULP部件指定的端口正在离线。
然后,该适配器300静默在所选端口308a上的I/O活动(步骤606)。在一个实施例中,FICON ULP执行静默操作606。在另一个实施例中,静默模块408可以执行静默操作606。在该静默周期结束后,任何对于所选的端口308a的剩余(leftover)活动任务都被终止。在一个实施例中,路径模块412随后通知所有逻辑路径发起者预期的路径的消除和所述路径正在离线(步骤608)。
路径模块412随后取消所选端口308a的逻辑路径,并且执行对于这些逻辑路径的系统重置(步骤610)。在离线之前,配置装置400可以执行其它管理(administrative)操作,包括通知FCP ULP部件所选择的端口308a被离线,终止发起者活动(initiator activity),设置要注销(unregistered)的远程端口资源,去除和所选端口308a相关的物理逻辑路径配置信息,和/或静默FCP I/O活动。
离线模块402随后使得所选端口308a离线(步骤612),这可以包括发布命令到所选端口308a使其离线。此外,光模块410关闭到所选端口308a的光(步骤614)。如上所述,然而,使得端口308a离线(步骤612)和停止到端口308a的光(步骤614)并不一定会影响在多端口通信适配器300上的其它端口308b-d的并行通信,如果存在这种并行通信的话。在一个实施例中,所选的端口308a被置于一种状态,以至于端口308a保留关键配置信息,允许该端口308a随后被快速地重新在线,而不需要对适配器300进行全面配置或重置。
多端口通信适配器300然后发送端口离线通知到存储服务器208,指示所选端口308a离线(步骤616)。存储服务器208然后从适配器300接收端口离线通知(步骤618),并完成端口离线请求。所描述的端口离线方法600随后结束。
图7描述了由图5的端口配置方法500的配置操作504的例子给出的端口更新方法700的一个实施例。通常,端口更新方法700可以便利于设置对应于所选端口308a的端口资源314的期望的端口拓扑结构和协议属性316、318。在一个实施例中,端口更新方法700响应于在存储服务器208接收的端口离线通知而开始(步骤618)。
在一个更具体的实施例中,所说明的端口更新方法700开始,并且存储服务器208从用户接收端口配置请求(步骤702)。在一个实施例中,端口配置请求包括端口拓扑属性316和/或端口协议属性318。如上所述,可以从网络服务器、管理控制台或其它图形用户界面(GUI)应用接收端口配置请求(步骤702)。
响应于端口配置请求,存储服务器208可以更新在存储服务器208上或连接到存储服务器208的持续存储器(persistent memory)中的端口资源属性316、318(步骤704)。存储服务器208随后向多端口通信适配器300发送端口配置命令(步骤706),所述多端口通信适配器300接收到该命令(步骤708),并且根据该端口配置请求更新本地端口资源属性316、318(步骤710)。在一个实施例中,更新模块404更新本地端口资源314,包括端口拓扑属性316和/或端口协议属性318。
多端口通信适配器300随后向存储服务器208发送配置完成通知(步骤712),指示更新了所选端口308a的端口资源属性316、318。存储服务器208随后从适配器300接收配置完成通知(步骤714),并且完成端口配置请求。随后所描述的端口更新方法700结束。
图8描述了由图5的端口配置方法500的在线操作506的例子给出的端口在线方法800的一个实施例。通常,端口在线方法800可以便利在端口配置后,以更新的端口资源属性316、318使所选端口308a重新在线。在一个实施例中,端口在线方法800响应于在存储服务器208接收的配置完成通知而开始(步骤714)。
在一个更具体的实施例中,所说明的端口在线方法800开始,并且存储服务器208发送端口在线命令到多端口通信适配器300(步骤802)。适配器300随后从存储服务器208接收端口在线命令(步骤804),并且根据更新的端口资源属性316、318配置端口308a(步骤806)。在一个实施例中,更新模块404配置端口308a(步骤806)。在另一个实施例中,适配器300可以发布一个命令来异步地配置端口308a而使其在线(步骤806)。在这个适配器300上的其它端口308b-d可以被允许继续不中断地、并行通信活动。
在端口配置操作806完成后,光模块410开启在所选端口308a的光(步骤808),并且在线模块406使所选的端口308a重新在线。多端口通信适配器300随后向存储服务器208发送端口在线通知(步骤812),其指示所选端口308a重新在线。存储服务器208随后从适配器300接收端口在线通知,并且完成端口在线请求(步骤814)。所描述的端口在线方法800随即结束。
因此,提供具有配置装置400的通信适配器300是有益的,该配置装置400选择性地配置I/O端口308a,而不中断在同一适配器300上的其它I/O端口308b-d的并行通信。如上所述,这种配置装置400便利于使所选端口308a离线,更新所选端口308a的端口资源314、根据更新资源属性316、318配置所选的端口308a,并使所选端口308a重新在线。
存在各种理由来更新和多端口通信适配器300上的特定I/O端口308a相关的端口资源属性316、318。例如,可以在通信系统200中选择性地实施新技术,其只影响存储服务器208和主机202之间的物理和/或逻辑路径的一个子集。端口资源属性316、318可以仅仅为适应这些新的路径而被更新,同时为未改变的路径保持现存的端口资源属性316、318。
在共享硬件资源的情况下出现了另一个原因。例如,单个存储服务器208可以在多个客户之间共享。对应的通信系统200的硬件能够维持到这些多个客户的连接,并且在客户之间切换以允许不同的客户在不同的时间对存储服务器208进行访问。例如,一个客户可能期望在白天进行访问,而另一个客户可能期望在对应第一个客户的空闲时间(off hour)进行访问。对多端口通信适配器300中的单个端口308a进行配置,以便在为访问第一端口308a的客户重新配置第一端口308a的同时,允许连接到同一适配器300上的其它端口308b-d的其他客户能够继续并行通信。
当通信系统200包括诸如双(dual)存储服务器208的多个存储服务器208的情况下,可以在这种通信系统200中实现前述的装置、系统和方法。例如,可以对多个存储服务器208实施端口更新方法700,以更新在连接到多个存储服务器208中的每一个的持续存储器中的端口资源314。特定实施例的其它方面可以在多个存储服务器208上实施,以利用具有多个存储服务器208的通信系统200的冗余和性能优势。
包括在此的示意性流程图被一般地描述为逻辑流程图。同样地,所描述的次序和有标记的操作指示本方法的一个实施例。其它的操作和方法可以被视为与所说明的方法的一个或多个操作或部分操作在功能、逻辑或效果上等同。此外,采用的格式和符号被提供用来解释该方法的逻辑操作,并且被理解为不限制该方法的范围。虽然在流程图中可以采用各种箭头类型和线的类型,它们被理解为不是用来限制相应方法的范围的。实际上,某些箭头或其它连接符仅仅用于指示该方法的逻辑流。例如,一个箭头可以指示在所说明方法的列举的操作之间未指定持续时间的等待或监视期间。此外,在特定方法中发生的次序可以严格或者可以不严格地遵循所示的对应操作的次序。
贯穿本说明书的“一个实施例”、“实施例”等类似语言意味着和该实施例相关的特定特征、结构或特性被包括在本发明的至少一个实施例中。于是,“在一个实施例中”、“在实施例中”的短语以及贯穿本说明书的类似语言可能但并不必须全部指的是同一个实施例。
对于信号承载介质的参照可以采用任何能在数字处理装置上产生信号、导致信号产生、或导致执行机器可读(machine-readable)指令的程序的形式。信号承载介质可以具体表现为传输线、光盘、数字化视频盘、磁带、Bernoulli驱动器、磁盘、打孔卡、快闪存储器、集成电路,或其它数字处理装置存储器设备。
而且,所描述的本发明的特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。在下面的描述中,提供了多种特定的细节,例如编程、软件模块、用户选择、网络交易、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等,以提供对于本发明的实施例的全面理解。然而,相关领域的技术人员应当理解,本发明可以在不使用一个或多个特定细节,或者使用其它方法、组件、材料等的情况下实施。在其它的例子中,对于公知的结构、材料或操作未示出或未进行详述以避免混淆本发明的各个方面。
本发明在不脱离其精神或主要特性的情况下可以以其它的特定形式实施。所描述的实施例被认为是在各方面都仅仅作为说明的目的而并非限制的目的。因此,本发明的范围是由所附权利要求而不是前述说明限定的。在权利要求等同物的意思和范围内的所有改变都由此范围所保护。
Claims (23)
1.一种用于配置端口的装置,所述装置包括:
离线模块,其被配置来使多端口通信适配器的第一端口离线,其中所述离线模块被配置为个别和独立地控制多端口通信适配器的每个端口;和
更新模块,其被连接到所述离线模块,所述更新模块被配置来更新所述第一端口的端口资源,同时允许在多端口通信适配器的第二端口上的并行通信,其中端口资源是一个或多个端口拓扑属性或者一个或多个端口协议属性,更新模块被配置为个别和独立地更新多端口通信适配器的每个端口,以便更新单一端口不会对多端口通信适配器的其他端口的操作产生干扰。
2.如权利要求1所述的装置,还包括连接到所述更新模块的在线模块,所述在线模块被配置来响应于端口资源更新而使所述第一端口在线。
3.如权利要求1所述的装置,其中,所述端口资源包括端口拓扑结构。
4.如权利要求3所述的装置,其中,所述端口拓扑结构包括以下中的一个:光纤通道仲裁回路(FC-AL)拓扑结构、结构点到点(P-P)拓扑结构、以及未配置的拓扑结构。
5.如权利要求1所述的装置,其中,所述端口资源包括端口协议。
6.如权利要求5所述的装置,其中,所述端口协议包括以下中的一个:光纤通道协议(FCP)、光纤连接(FICON)协议、以及未配置的协议。
7.如权利要求1所述的装置,还包括连接到所述离线模块的静默模块,所述静默模块被配置来静默在所述第一端口的通信,同时允许在所述第二端口的通信。
8.如权利要求1所述的装置,还包括连接到所述离线模块的光模块,所述光模块被配置来关闭在所述第一端口的光,同时维持在所述第二端口的光。
9.如权利要求1所述的装置,还包括连接到所述离线模块的路径模块,所述路径模块被配置来管理在所述第一端口和远程适配器之间的逻辑路径。
10.如权利要求9所述的装置,其中,所述路径模块还被配置来在预期到使所述第一端口离线时去除所述逻辑路径。
11.如权利要求1所述的装置,其中,所述更新模块还被配置来通过管理用于端口资源更新的处理器控制线程分配来最小化由于所述端口资源更新导致的在所述第二端口的通信处理性能的降低。
12.一种用于配置端口的系统,所述系统包括:
具有多个端口的多端口通信适配器,包括第一端口和第二端口;
离线模块,其被配置来使多端口通信适配器的第一端口离线,其中所述离线模块被配置为个别和独立地控制多端口通信适配器的每个端口;和
连接到所述离线模块的更新模块,所述更新模块被配置来更新所述第一端口的端口资源,同时允许在所述第二端口上的并行通信,其中端口资源是一个或多个端口拓扑属性或者一个或多个端口协议属性,更新模块被配置为个别和独立地更新多端口通信适配器的每个端口,以便更新单一端口不会对多端口通信适配器的其他端口的操作产生干扰。
13.如权利要求12所述的系统,其中,所述端口资源包括端口拓扑结构和端口协议。
14.如权利要求12所述的系统,还包括用于存储所述端口资源的电子存储器设备。
15.一种用于配置端口的系统,所述系统包括:
具有多端口通信适配器的存储系统,所述多端口通信适配器具有多个端口,包括第一端口和第二端口;
经由所述第二端口连接到所述存储系统的主机;和
连接到所述多端口通信适配器的配置装置,所述配置装置被配置来更新所述第一端口的端口配置,并维持所述第二端口的现存端口配置,该配置装置包括:
离线模块,其被配置来使多端口通信适配器的第一端口离线,其中所述离线模块被配置为个别和独立地控制多端口通信适配器的每个端口,
更新模块,所述更新模块被配置来更新所述第一端口的端口资源,同时允许在所述第二端口上的并行通信,其中端口资源是一个或多个端口拓扑属性或者一个或多个端口协议属性,更新模块被配置为个别和独立地更新多端口通信适配器的每个端口,以便更新单一端口不会对多端口通信适配器的其他端口的操作产生干扰。
16.如权利要求15所述的系统,还包括在所述存储系统中的处理器,所述处理器被配置来在所述第一端口的端口配置更新期间,处理在所述主机和所述第二端口之间的数据通信。
17.一种用于配置端口的方法,包括:
使多端口通信适配器的第一端口离线,以便多端口通信适配器的每个端口被个别和独立地控制;和
更新所述第一端口的端口资源,同时允许在所述多端口通信适配器的第二端口上的并行通信,其中端口资源是一个或多个端口拓扑属性或者一个或多个端口协议属性,更新模块被配置为个别和独立地更新多端口通信适配器的每个端口,以便更新单一端口不会对多端口通信适配器的其他端口的操作产生干扰。
18.如权利要求17所述的方法,其中,所述端口资源包括端口拓扑结构和端口协议中的至少一个。
19.如权利要求17所述的方法,其中,所述方法还包括响应于端口资源更新而使所述第一端口在线。
20.如权利要求17所述的方法,其中,所述方法还包括管理用于端口资源更新的处理器控制线程分配。
21.如权利要求17所述的方法,其中,所述方法还包括用于静默在所述第一端口的通信,同时允许在所述第二端口的通信。
22.如权利要求17所述的方法,其中,所述方法还包括关闭在所述第一端口的光,而维持在所述第二端口的光。
23.如权利要求17所述的方法,其中,所述方法还包括管理在所述第一端口和远程适配器之间的逻辑路径。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/992,539 US8089889B2 (en) | 2004-11-18 | 2004-11-18 | Adapter port configuration |
US10/992,539 | 2004-11-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1777177A CN1777177A (zh) | 2006-05-24 |
CN1777177B true CN1777177B (zh) | 2011-05-18 |
Family
ID=36696704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510099224.3A Expired - Fee Related CN1777177B (zh) | 2004-11-18 | 2005-09-07 | 用于适配器端口配置的装置、系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8089889B2 (zh) |
CN (1) | CN1777177B (zh) |
TW (1) | TWI359361B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8904050B1 (en) * | 2013-03-13 | 2014-12-02 | Emc Corporation | Techniques for automated data storage system port initialization |
US11119960B2 (en) | 2015-01-06 | 2021-09-14 | Hewlett-Packard Development Company, L.P. | Adapter to concatenate connectors |
CN106302071B (zh) * | 2015-05-29 | 2020-02-14 | 华为技术有限公司 | 一种适配器、网络设备以及端口配置的方法 |
CN107315542B (zh) * | 2017-06-29 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 一种jbod级联系统 |
DE102018004505A1 (de) * | 2018-06-07 | 2019-12-12 | Dirk Brügelmann | Verfahren zum Betrieb eines Netzwerkswitches, sowie Netzwerkswitch selbst |
US10802874B1 (en) * | 2018-09-26 | 2020-10-13 | Vmware, Inc. | Cloud agnostic task scheduler |
US11075823B1 (en) | 2018-10-31 | 2021-07-27 | Vmware, Inc. | Techniques for network packet event related script execution |
CN113726570B (zh) * | 2021-08-30 | 2024-05-31 | 北京广利核系统工程有限公司 | 一种网口配置方法、装置及系统 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421711B1 (en) | 1998-06-29 | 2002-07-16 | Emc Corporation | Virtual ports for data transferring of a data storage system |
US6647010B1 (en) | 1999-04-07 | 2003-11-11 | Lucent Technologies Inc. | Optoelectronic network interface device |
US6721872B1 (en) | 1999-10-25 | 2004-04-13 | Lucent Technologies Inc. | Reconfigurable network interface architecture |
GB0003313D0 (en) | 2000-02-15 | 2000-04-05 | Koninkl Philips Electronics Nv | Software reconfiguration of communications apparatus |
US20020194407A1 (en) * | 2001-04-25 | 2002-12-19 | Kim Hyon T. | Maintaining fabric device configuration through dynamic reconfiguration |
US6898202B2 (en) | 2001-06-27 | 2005-05-24 | International Business Machines Corporation | Method, apparatus and computer program for informing a requesting device of port configuration changes in a computer network switching device |
US7685261B1 (en) * | 2001-06-29 | 2010-03-23 | Symantec Operating Corporation | Extensible architecture for the centralized discovery and management of heterogeneous SAN components |
US7133907B2 (en) * | 2001-10-18 | 2006-11-07 | Sun Microsystems, Inc. | Method, system, and program for configuring system resources |
US20040143639A1 (en) | 2002-06-28 | 2004-07-22 | Venkat Rangan | Apparatus and method for data replication in a storage processing device |
US7143615B2 (en) * | 2002-07-31 | 2006-12-05 | Sun Microsystems, Inc. | Method, system, and program for discovering components within a network |
US7269168B2 (en) * | 2002-07-31 | 2007-09-11 | Brocade Communications Systems, Inc. | Host bus adaptor-based virtualization switch |
US20040081196A1 (en) | 2002-10-29 | 2004-04-29 | Elliott Stephen J. | Protocol independent hub |
JP2004192305A (ja) * | 2002-12-11 | 2004-07-08 | Hitachi Ltd | iSCSIストレージ管理方法及び管理システム |
TWI263560B (en) | 2003-09-03 | 2006-10-11 | Power Most Ind Co Ltd | A precise screwdriver handle |
US7111102B2 (en) * | 2003-10-06 | 2006-09-19 | Cisco Technology, Inc. | Port adapter for high-bandwidth bus |
-
2004
- 2004-11-18 US US10/992,539 patent/US8089889B2/en not_active Expired - Fee Related
-
2005
- 2005-09-07 CN CN200510099224.3A patent/CN1777177B/zh not_active Expired - Fee Related
- 2005-11-14 TW TW094139987A patent/TWI359361B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN1777177A (zh) | 2006-05-24 |
TW200629076A (en) | 2006-08-16 |
US8089889B2 (en) | 2012-01-03 |
TWI359361B (en) | 2012-03-01 |
US20060165116A1 (en) | 2006-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1777177B (zh) | 用于适配器端口配置的装置、系统和方法 | |
US8214844B2 (en) | Systems and methods for adjusting service queue capacity | |
CN101385009B (zh) | 从源物理适配器向目的物理适配器迁移虚拟适配器的方法、装置和计算机可用程序代码 | |
US10333865B2 (en) | Transformation of peripheral component interconnect express compliant virtual devices in a network environment | |
US10747453B2 (en) | Method and apparatus for bottleneck identification in high-performance storage systems | |
US11256649B2 (en) | Machine templates for predetermined compute units | |
US7873702B2 (en) | Distributed redundant adaptive cluster | |
US8832369B2 (en) | Systems and methods for remote raid configuration in an embedded environment | |
US20070258388A1 (en) | Virtual server cloning | |
FR2865817A1 (fr) | Systeme de memorisation ayant une pluralite d'interfaces | |
CN102340533A (zh) | 多租户系统及多租户系统存取数据的方法 | |
CN100421083C (zh) | 更新适配器代码映像的装置、系统和方法 | |
US20070033359A1 (en) | Storage system and storage control method for access exclusion control of each storage area unit comprising storage area of storage device | |
CN104471523A (zh) | 计算机系统及其控制方法 | |
CN105739930A (zh) | 一种存储架构及其初始化方法和数据存储方法及管理装置 | |
US8639908B2 (en) | Dynamically managing available data storage within an automated data storage system | |
US20200169607A1 (en) | Elastic Scaling in a Storage Network Environment | |
US20200341597A1 (en) | Policy-Based Dynamic Compute Unit Adjustments | |
CN101232513B (zh) | 存储设备阵列及其制造方法 | |
AU2021266891B2 (en) | Fencing non-responding ports in a network fabric | |
CN108958889A (zh) | 云数据系统中虚拟机的管理方法和装置 | |
US20110264624A1 (en) | Centralized backup system and backup method for an homogeneous real-time system at different locations | |
US11902089B2 (en) | Automated networking device replacement system | |
US12020019B2 (en) | In-service software upgrade centralized database versioning and migration | |
US11303524B2 (en) | Network bandwidth configuration |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110518 Termination date: 20160907 |