CN101258725B - 存储区域网络中的负载分布 - Google Patents
存储区域网络中的负载分布 Download PDFInfo
- Publication number
- CN101258725B CN101258725B CN200680032533.1A CN200680032533A CN101258725B CN 101258725 B CN101258725 B CN 101258725B CN 200680032533 A CN200680032533 A CN 200680032533A CN 101258725 B CN101258725 B CN 101258725B
- Authority
- CN
- China
- Prior art keywords
- port
- hba
- network path
- network
- equipment
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1021—Server selection for load balancing based on client or server locations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F2003/0697—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
Abstract
本发明提供了一种用于从一组I/O网络路径中识别输入/输出(I/O)网络路径的负载平衡方法。该组I/O网络路径将主机系统经网络连接至存储子系统。主机系统包括至少一个主机总线适配器(HBA),存储子系统包括至少一个I/O设备,网络包括至少一个网络设备。HBA、I/O设备和网络设备中每一个包括至少一个I/O端口。对于每个HBA的每个I/O端口,确定HBA端口极限。此外,识别将每个HBA的I/O端口经网络设备的I/O端口连接至I/O设备的I/O端口的一组I/O网络路径。然后,为每个I/O网络路径确定结构利用率极限,并为该至少一个HBA的每个I/O端口确定HBA端口利用率。丢弃HBA端口利用率大于HBA端口极限的所有网络路径。为每个剩余网络路径确定网络路径距离。丢弃网络路径距离大于路径距离极限的所有I/O网络路径。然后为每个剩余网络路径确定结构利用率。丢弃结构利用率大于结构利用率极限的所有I/O网络路径。从剩余网络路径中确定I/O网络路径。
Description
技术领域
本发明一般涉及存储区域网络,尤其涉及存储区域网络内输入/输出工作负荷的动态分布。
背景技术
在现代IT系统中,服务器和磁带驱动器经存储区域网络(例如光纤通道SAN,iSCSI SAN)连接。此外,用于可移动介质管理的IEEE1244标准定义了跨异构服务器和应用程序边界有效地共享磁带驱动器的架构和协议。为了简化配置和存取控制,IEEE 1244将驱动器组织为驱动器组。如果两个应用程序被授权访问公共驱动器组的驱动器,则这两个应用程序可共享IEEE 1244管理的驱动器。
理论上,磁带管理系统、如IEEE 1244允许在几个应用程序之间非常灵活地共享磁带驱动器,但在实践上,该共享受到带宽因素的限制。由于主机I/O总线(例如PCI总线)和服务器I/O端口(例如光纤通道端口,iSCSI端口)的带宽限制,I/O端口仅可有效地利用一定数目的驱动器。如果I/O端口所利用的驱动器的数目高于某个阈值,则性能将受到影响。
该数目经常被称为I/O端口的驱动器极限。而且,在异构环境中,不同I/O端口可以具有不同的驱动器极限。例如,在全驱动速度时,2Gbit的光纤通道端口可以比1Gbit光纤通道端口或1Gbit iSCSI端口利用更多驱动器。术语“驱动器”不局限于磁带驱动器,其可以是任何其他I/O设备,诸如磁盘设备,光盘设备,随机存取存储设备,全息记录设备或纳米技术设备。
现有技术使用以下方法和系统来确保在驱动器共享环境中,I/O端口同时使用的驱动器的数目不超过其驱动器极限。
1.经由软件配置对资源分区。
不超过端口的驱动器极限的典型方法是减少在端口处可见的驱动器的数目。假定有两个服务器,每个服务器装配有一个驱动器极限为n的I/O端口。如果存储器管理员知道这两个服务器在一天的不同时间需要n个驱动器,则通常将这n个相同的驱动器划分(zone)给这两个服务器。这使得驱动器能够在这两个服务器之间共享,同时确保不超过相应驱动器极限。
该方法的缺点是缺少灵活性。例如,如果其中一个驱动器发生故障,则需要手动干预。管理员必须识别可以将其划分到这两个服务器的I/O端口的可用的备用驱动器。而且,他必须在应用程序可以使用新驱动器之前触发这两个服务器的操作系统以扫描新硬件。此外,第三服务器的存取特征必须在其可以被集成到该环境中而不与另两个服务器的资源要求冲突之前被公知。而且,如果其中一个服务器的存取特征变化,则还必须修改配置。如果这两个服务器随着时间的推移在一天中的相同时间需要驱动器或如果随着时间的推移可以以不超过一个驱动器来满足其中一个服务器的工作负荷,则要求额外的措施。该情形导致为了改善整个磁带基础设施(infrastructure)的集合驱动器利用率所要求的SAN划分变化。总之,这导致灵活性有限,因此该方法不适于大环境。
2.具有磁盘高速缓存的虚拟磁带服务器
另一个方法是在服务器和磁带之间的I/O路径中设置磁盘高速缓存。在这样的情形中,所谓的虚拟磁带服务器将虚拟磁带驱动器中的虚拟带盒(cartridge)提供给服务器,同时虚拟磁带服务器在内部将数据重新引导到磁盘高速缓存。随后,虚拟磁带服务器经实际驱动器将数据从磁盘高速缓存转移(destage)到实际磁带盒。该方法的缺点是需要额外的硬件和软件来构成虚拟磁带服务器。
3.无磁盘高速缓存的虚拟磁带服务器
在另一情形中,虚拟磁带服务器输出虚拟磁带驱动器到服务器,其中服务器可使用的虚拟磁带驱动器的数量受到软件配置中的参数限制。当服务器要安装带盒时,虚拟磁带服务器动态地将虚拟磁带驱动器连接到物理磁带驱动器。以该方式,可实现物理磁带驱动器到服务器I/O端口的灵活映射。该方法的缺点是需要额外的硬件和软件来形成虚拟磁带服务器。
4.具有多个端口的磁带驱动器
某些磁带驱动器装配有多个端口。额外的多路径软件可被用于在所有可用路径上平衡I/O。该方法的缺点是需要额外的硬件(磁带驱动器处的端口,连接第二驱动器端口的存储器网络的端口)和软件(诸如多路径软件)。通常,一个端口在此时是活动的,而其他端口用作在经该活动端口执行I/O出现问题的情况下的冗余目的。因此,该方法不适于大环境。
因此,需要一种方法和系统来促进在经多个主机总线适配器连接的可移动介质设备之间I/O工作负荷分布的动态分布。
发明内容
按照本发明,提供了一种负载平衡方法,用于从一组I/O网络路径中识别输入/输出(I/O)网络路径。该组I/O网络路径中的每个路径将主机系统经网络连接到存储子系统。主机系统包括至少一个主机总线适配器(HBA)。存储子系统包括至少一个I/O设备,且网络包括至少一个网络设备。HBA、I/O设备和网络设备中每一个都包括至少一个I/O端口。对于该至少一个HBA的该至少一个I/O端口中的每一个,确定HBA端口极限。然后确定经该至少一个网络设备的I/O端口将该至少一个HBA中每一个的该至少一个I/O端口连接到该至少一个I/O设备中每一个的该至少一个I/O端口的该组I/O网络路径。然后,为每个I/O网络路径确定结构(fabric)利用极限,并为该至少一个HBA的该至少一个I/O端口中每一个确定HBA端口利用率。HBA端口利用率大于HBA端口极限的所有网络路径被丢弃。对于剩余路径中的每一个,确定网络路径距离。网络路径距离大于路径距离极限的所有网络路径被丢弃。然后,对于每个剩余路径,结构利用率被确定。结构利用率大于结构利用率极限的所有路径被丢弃,且从剩余网络路径中确定I/O网络路径。
由于本发明通过考虑参数HBA端口利用率、路径距离和结构利用率而动态地确定从HBA到I/O设备的网络路径,所以本发明特别有用。分别相对于参数HBA端口极限、路径距离极限和结构利用率极限检验这些参数。以该方式,从所有合格的网络路径中识别最佳网络路径。
按照本发明的一个实施例,通过HBA的I/O端口可并行服务的I/O设备的数目,为该至少一个HBA中每一个的该至少一个I/O端口中每一个确定HBA端口极限。因为HBA的I/O端口可并行服务的I/O设备的数目通常被指定,所以这特别有利。按照本发明,规范例如可以由系统管理员提供或可以由负载平衡系统从相应的I/O端口读出。规范定义HBA的一个I/O端口可提供的带宽,并直接由可从所述HBAI/O端口接收I/O的I/O设备的数目表述。带宽主要定义一个HBA I/O端口能执行的每秒的I/O操作的数目,其通常以每秒兆字节(MB/s)测量。
按照本发明的一个实施例,通过HBA的I/O端口可处理的每秒的最大比特数,为该至少一个HBA中每一个的该至少一个I/O端口中每一个确定HBA端口极限。特别有利的是使用I/O端口可处理的每秒的比特数作为HBA端口极限,因为该值可由负载平衡系统动态地确定。
按照本发明的一个实施例,通过被分配给HBA的I/O端口的工作负荷(或带宽)确定HBA的I/O端口的HBA端口利用率。因为负载平衡系统可通过发送查询命令到HBA而动态地确定工作负荷,因此这特别有利。
按照本发明的一个实施例,利用驱动器负担(drive weight)确定HBA端口利用率。驱动器负担被分配给I/O设备,并且驱动器负担表示I/O设备的工作负荷。
按照本发明的一个实施例,利用驱动器负担确定HBA端口利用率,其中驱动器负担表示I/O设备的工作负荷并由压缩比(compression ratio)调整,而从I/O设备获取压缩比。
本发明因为支持考虑该至少一个主机总线适配器的该至少一个I/O端口的HBA端口极限,并丢弃HBA端口利用率大于HBA端口极限的所有路径,所以特别有利。注意,每个HBA的每个I/O端口具有其自己特定的HBA端口极限。这确保HBA的I/O端口只利用最优数目的驱动器。这对整个I/O设备基础设施的集合带宽的整体改善有贡献。
按照本发明的一个实施例,通过加和包括在I/O网络路径中的所有互连的等待时间并加上包括在I/O网络路径中的I/O端口的数目来确定每个剩余网络路径的网络路径距离。
按照本发明的一个实施例,通过加和经过包括在网络路径中的该至少一个网络设备的I/O端口的数据率来确定结构利用率。通过网络设备的网络路径一般包括至少两个端口,一个输入端口和一个输出端口。
按照本发明的一个实施例,通过包括在网络路径中的活动I/O端口的数目与包括在网络路径中的I/O端口的总数目的比率来确定网络路径的结构利用率。
使用结构利用率来确定网络路径特别有利,因为考虑了包括在网络路径中的所有部件的工作负荷。选择具有最低结构利用率的路径提供了所有活动资源的最佳利用率。而且,本发明特别有利,因为其考虑了网络路径的结构利用极限,并检验结构利用率的大小是否低于结构利用极限。这确保了从不超过I/O设备基础设施的最大带宽。
按照本发明的一个实施例,“最佳”I/O网络路径是考虑HBA端口利用率、网络路径距离和结构利用率的函数产生最低函数值的剩余网络路径。这三个参数HBA利用率、网络路径距离和结构利用率被分配给从中选择最佳路径的所有路径。例如,函数由系统管理员指定。使用函数来确定最佳路径具有这样的优点,即其使系统管理员能够对这三个参数同等地或不同地加权。
本发明在另一方面中涉及一种计算机程序产品,其包括计算机可执行指令以便执行本发明的方法。
本发明在再一方面中涉及一种负载平衡系统,用于从一组I/O网络路径中识别I/O网络路径,该组I/O网络路径将主机系统经网络连接到存储子系统。
附图说明
下面将参考附图仅仅以示例的方式更详细地介绍本发明的优选实施例,其中:
图1是实现本发明一个实施例的系统的方框图。
图2的流程图示出在本发明一个优选实施例中如何确定I/O网络路径。
图3的流程图示出在本发明另一优选实施例中如何确定I/O网络路径。
具体实施方式
图1是实现本发明一个实施例的系统的方框图。系统包括可移动介质管理系统118、主机系统102、网络112、存储子系统149。可移动介质管理系统118是计算机系统,其包括负载平衡系统106、微处理器103、非易失性存储设备105、和易失性存储设备107。主机系统也是计算机系统,例如服务器系统,其包括应用程序104、与可移动介质管理系统118通信的代理109、设备驱动器108、和分别包括I/O端口160、161及162的主机总线适配器(HBA)110、111。
网络112包括网络元件113、114、和115,它们是典型的网络设备,诸如存储网络内的集线器、交换器和路由器(例如,光纤通道,iSCSI)。每个网络设备包括I/O端口130、131、132、133、134、140、141、142、143、144、145、和146。
存储子系统149包括I/O设备120、121、125、和126。I/O设备通常是可移动介质设备,诸如磁带类I/O设备、磁盘类I/O设备、全息类I/O设备、纳米技术类I/O设备或光学I/O设备。每个I/O设备120、121、125和126分别包括一个或多个I/O端口150、151、152、153、和154。
I/O网络路径利用互连将HBA的I/O端口经一个或多个网络设备的I/O端口连接到I/O设备的I/O端口。例如,网络路径190利用互连将HBA 111的I/O端口161连接到网络设备114的I/O端口131,并将网络设备114的另一I/O端口145连接至I/O设备126的I/O端口153。应该指出,HBA可包括一个以上I/O端口。通常多达4个I/O端口。而且,实践中,网络设备包括两个或更多I/O端口,且I/O设备也可包括一个以上的I/O端口。
路径包括一个或多个互连。互连可以是将数据从一个I/O端口传输到另一I/O端口的任何设备。互连的例子是光纤通道缆线、以太网缆线、或WAN互连,如CWDM、DWDM、ATM、Sonet/SDH、或TCP/IP。互连也可由无线连接提供。例如,主机系统和存储子系统可通过无线局域网互连,从而数据通过光学信号从一个I/O端口发射到另一I/O端口,且光学信号具有例如红外频率范围内的频率。
如果光学缆线被用作互连或如果使用无线互连,则互连自身可包括信号频率不同的几个通道。因此,互连可提供几个路径,而每个路径以通道为特征或相应地以用于传输数据的光学频率为特征。
网络路径也可包括一个以上的网络元件。例如,在I/O网络路径170中,互连将I/O端口160连接到I/O端口130,然后互连将I/O端口140连接到I/O端口132,并且附加地,互连将I/O端口142连接到I/O设备120的I/O端口150。
网络路径也可不包括网络元件。I/O设备的I/O端口可通过互连直接与HBA的I/O端口连接。网络路径由所述互连组成。
应用程序104利用主机系统102访问I/O设备120、121、125、和126。主机系统102,特别是应用程序104经代理109和适当的通信方法,诸如TCPIP,联系包括在介质管理系统118中的负载平衡系统106。负载平衡系统106从应用程序104可通过其读取或写入数据至I/O设备120、121、125、126的网络路径组中确定网络路径170。作为数据存取请求,诸如安装、读取或写入命令,的结果,应用程序104可联系负载平衡系统106。下面介绍用于从该组网络路径中识别I/O网络路径的方法的多种实施例。
负载平衡系统106使用代理109来确定网络和存储子系统149的某些参数,这些参数被存储在易失性存储设备107上。可替换地,这些参数可被存储在非易失性存储设备105上。主机系统102采用一个或多个设备驱动器108,以便访问I/O设备120、121、125和126。
然而,按照本发明的系统并不局限于该实施例。例如,包括负载平衡系统106的介质管理系统118可包括在主机系统102中或包括在存储子系统149中。介质管理系统118例如可以用内置到应用程序的库管理器的形式被实现到主机系统102中。介质管理系统118例如可以以用于磁带库的先进库管理器的形式被实现到存储子系统149中。然而,外部介质管理系统118的优点在于,其可同时被几个连接到不同网络和存储子系统或连接到同一网络和存储子系统的主机系统使用。
这组网络路径包括经网络112将HBA 110或111的I/O端口160、161或162连接到存储子系统149的I/O设备120、121、125、和126的所有路径。例如,I/O网络路径170由从HBA 110的I/O端口160到网络设备113的I/O端口130的互连和从网络设备113的I/O端口140到网络设备115的I/O端口132的互连以及从网络设备115的I/O端口142到I/O设备120的I/O端口150的互连实现。
按照本发明一个实施例,除了下面指定的其他参数之外,负载平衡系统106还确定被存储在易失性存储设备107或非易失性存储设备105上的以下参数:HBA端口极限180、HBA端口利用率182、网络路径距离184、路径距离极限185、结构利用率极限186、结构利用率188、压缩比192、和驱动器负担194。下面详细介绍如何确定这些参数。
微处理器103响应于从应用程序104接收到数据存取请求而执行负载平衡方法。数据请求的例子包括安装带盒请求、建立从SCSI源到存储网络中SCSI目标的连接、和在存储网络中创建新区段。
图2示出的流程图示出了在本发明的一个优选实施例中如何确定“最佳”I/O网络路径。过程从202开始,前进到204,其中确定所有路径的集合。每个I/O网络路径描绘从系统的HBA(主机系统可包括一个以上的HBA,其中每个HBA包括一个或多个I/O端口)的I/O端口经网络到I/O设备的I/O端口(存储子系统也可包括一个以上的I/O设备,其中I/O设备可包括一个以上的I/O端口)的路由。HBA的I/O端口在下文中也被称为HBA端口。作为步骤204的结果,集合P204描述所有路径的集合。步骤206移除对于I/O不合格的所有路径。不合格的I/O网络路径的例子包括不是活动光纤通道区段的成员的物理I/O网络路径。不合格网络路径的另一例子是非空闲或不可用的设备。设备可能因为被另一应用程序或另一主机系统使用而不是空闲的。当设备有故障或离线时,其可能是不可用的。注意,对于新数据存取请求的处理,步骤204仅考虑到当前未被使用的驱动器的路径。作为步骤206的结果,集合P206描述所有合格路径的集合。在一个可替换实施例中,步骤204仅确定合格步骤,因此步骤206可省略。
然后,过程进入判定检查点208。如果此时没有遗留合格路径(P206=),则过程在步骤299结束。步骤299指示此时没有合格路径可用。步骤299中所执行的动作或步骤299的结果取决于环境。例如,在可移动介质管理系统中,各安装请求可能被阻挡,这意味着安装请求被添加到安装请求队列中,或被拒绝。在另一实施例中,存储网络容量规划模块可拒绝各划分或存取请求。在再一实施例中,步骤299可循环返回到该流程图的起点步骤202,以便重新尝试路径寻找。在又一实施例中,可调用按需模块,其动态地提供附加基础设施以便添加更多路径到路径结合P204中。
如果在检查点208存在满足存取请求的合格路径(P206·),则过程进入到步骤210。步骤210建立主机总线适配器的所有I/O端口h的集合H,其中h是至少一个I/O网络路径p元素P206(p∈P206)的起点。而且,在步骤210中,在假设存取请求被调度的情况下,为H的每个主机适配器I/O端口h元素确定HBA端口利用率uh。计算HBA端口利用率的可替换实施例在后面详细说明。
然后,过程进入步骤212。步骤212比较每个HAB端口h∈H的HBA端口利用率uh和HBA端口极限lh,并丢弃HBA端口利用率uh>HBA端口极限lh 180的所有路径p。在一个实施例中,在应用程序已经触发过程200之后动态地确定HBA端口极限lh。该确定基于媒体管理系统的处理器扫描和询问的网络中网络元件的参数和存储系统中的I/O设备特征。例如,负载平衡系统询问与网络路径相关联的所有元件,并确定路径中可能的最大数据率。该最大数据率于是相当于HBA端口极限。在另一实施例中,用户为每个HBA端口配置HBA端口极限lh。在后面进一步说明参数HBA端口极限lh。步骤212的结果是网络路径集合P212,其中P212={p∈p206,其中“h是p的起点”且“新HBA端口利用率uh≤HBA端口极限lh”}。
如果在步骤212中确定没有合格的候选者(P212=),则过程进入步骤299,表明没有发现合格路径。
否则,流程进入步骤214,其中确定所有剩余路径p∈P212的网络路径距离Np。路径p∈P212的网络路径距离Np是两个端口之间的物理距离或互连长度。路径p∈P212的网络路径距离Np可由介质管理系统的微处理器例如通过在网络上发送测试分组并测量回传时间(turnaround time)而自动确定。回传时间与所述分组在网络上必须行进的距离成正比。在一个可替换实施例中,网络路径距离Np是用户可配置的,这意味着用户为网络上的任何给定路径配置距离。参数网络路径距离在下面进一步解释。
下一步骤216丢弃I/O网络路径p的网络路径距离Np大于路径距离极限ld的所有路径p∈P212。在本发明的一个实施例中,路径距离极限ld在应用程序已经触发过程200之后由按照本发明的负载平衡系统动态地确定。该确定基于连接主机系统和存储子系统的网络元件的参数,这些参数被扫描并被询问。在另一实施例中,用户为每个互连配置路径距离极限。后面进一步解释参数路径距离极限ld。步骤216的结果是集合P216,其中P216={p∈P212,其中“I/O网络路径p的网络路径距离Np≤I/O网络路径p的路径距离极限ld”}。如果没有合格候选者(P216=),则处理在步骤299结束。
步骤218计算所有剩余路径p元素P216的结构利用率。路径p∈P216的结构利用率FP是由包括路径p的结构F必须管理的工作负荷来限定。路径p∈P216的结构利用率FP可以由介质管理系统的微处理器自动确定,例如通过发送询问到结构F的网络元件,以询问每秒的I/O数目。然后,在结构F中与路径p相关的所有网络元件上累加该数目。参数结构利用率在后面进一步说明。
下一步骤220丢弃其中路径p的结构利用率大于I/O网络路径p的结构利用率极限lf的所有路径p元素P216。在本发明的一个实施例中,结构利用率极限lf由按照本发明的负载平衡系统在应用程序已经触发过程200之后动态地确定。该确定基于被扫描和询问的连接主机系统和存储子系统的网络中网络元件的参数。在另一实施例中,结构利用率极限由用户配置。参数结构利用率极限lp在下面进一步说明。
步骤220的结果是集合P220,其中P220={p∈P216,其中“路径p的新结构利用率≤路径p的结构利用率极限”}。如果P220中没有合格候选者(P220=),则过程进入步骤299,指示没有发现合格路径。否则,所有路径p∈P220不超过带宽,且因此是“最佳路径”的潜在候选者,并且过程进入步骤222。因此,过程的剩余步骤不丢弃额外的路径,但确定最优路径。
步骤222引入函数f,该函数加权这三个参数HBA端口利用率uh、结构利用率pf、和距离pd。在一个实施例中,函数f是加权和f(uh,pf,pd)=a×uh+b×pf+c×pd,其中a、b、和c是例如由系统管理员指定的常数值。
最后,在步骤224中,选择所有p∈P220中上面给出的函数f产生最低函数值的I/O网络路径pmin:pmin=min(f(ub,pf,pd))。处理在步骤226结束,其返回所确定的网络路径作为具有最佳性能特征的“最佳路径”。
在本发明的一个实施例中,仅执行步骤202到212,和步骤226或步骤229。如上所述,步骤212的结果是网络路径集合P212,其中P212={p∈p206,其中“h是p的起点”且“新HBA端口利用率uh≤HBA端口极限lh”}。如果P212≠,则过程进入步骤226,其中集合P212中一个网络路径被选择,例如通过从列表P212中选择第一个网络路径,或通过从集合P212中随机选择网络路径。如果P212=,则过程进入步骤299。
按照本发明,每个I/O网络路径p元素P220的特征为三个参数(a)HBA端口利用率,(b)网络路径距离184和(c)结构利用率,这三个参数被用于确定“最佳路径”。这些参数在下面说明。
HBA端口利用率uh-该参数跟踪多少工作负荷当前被分配给HBA的I/O端口并以每秒兆字节(MB/s)表示。如果当前在该HBA端口没有使用驱动器,则其值为零。如果一个或多个驱动器被调度用于在HBA端口处使用,则该值被设为各驱动器的驱动器负担之和。
驱动器负担是表示I/O设备消耗多少I/O资源的额外参数。驱动器负担由以每秒兆字节(MB/s)为单位的I/O率表示。该参数可通过发送询问命令至驱动器以指示驱动器报告可实现的数据率而被自动获得。例如,询问命令是SCSI INQUIRY命令,其向驱动器询问特性,其中一个参数通常表示驱动器带宽。驱动器带宽例如表示I/O设备可处理的数据率,并通常以每秒兆字节表示。在一个可替换实施例中,参数驱动器负担可由用户配置。在又一实施例中,驱动器负担由按照本发明的介质管理系统基于I/O设备操作而动态地调整。I/O设备通常保持关于先前操作中所处理的数据率的统计量。该统计量可由介质管理系统询问。询问命令的一个例子是SCSI LOG SENSE命令。基于该信息,介质管理系统可通过计算多个安装的平均I/O率而动态地更新驱动器负担。
在一个实施例中,当驱动器负担涉及未压缩数据时,用压缩比调整驱动器负担参数。压缩通常在I/O设备级以一定比率进行,并影响I/O设备的I/O率。在该实施例中,驱动器负担参数在被加到HBA端口利用率并与HBA端口极限比较之前与压缩比率相乘。在一个实施例中,介质管理向I/O设备询问压缩比率参数。介质管理系统计算压缩比率平均值,并将其存储在易失性存储设备中。询问命令是SCSI-3LOG SENSE命令。在另一实施例中,压缩比率由用户配置。
用于更新HBA端口利用率的方法相当简单。其从没有任何I/O设备经该端口被使用时开始,其中值为零。如果作为图2中过程的结果,I/O设备被调度用于HBA端口(安装请求),则HBA端口利用率的值被增加驱动器负担参数,其中该参数可由I/O设备的压缩比调整。然后,HBA端口利用率被存储在介质管理系统中。如果驱动器被从HBA端口取消调度(de-scheduled)(不安装请求),则HBA端口利用率的值被减少驱动器负担。
网络路径距离Np-网络路径距离主要由I/O网络路径的长度表示,其中I/O网络路径的长度是包括在I/O网络路径中的互连的物理长度。在优选实施例中包括I/O网络路径中包括的I/O端口的数目。其原因是,每个端口表示一定水平的开销,其影响数据率并因此应当被考虑。按照该优选实施例,网络路径距离以长度单位计量,如米(m)。在一个可替换实施例中,该参数以数据分组在该路径上的回传时间来表述,其中回传时间以时间单位计量,诸如毫秒(ms)。为了确定给定网络路径的长度,负载平衡系统过程在路径上发送分组并测量回传时间,类似于根据TCPIP协议的“ping”命令。回传时间作为网络路径距离参数被存储在介质管理系统的存储设备中。在一个可替换实施例中,路径距离由用户配置并以米表述。
结构利用率FP-描述路径p位于其中的结构利用率。结构由大量交换器或网络元件组成。网络元件或交换器由大量I/O端口组成。通过路径内I/O端口的I/O率之和来计算路径p的结构利用率。因此,不考虑整个结构,而仅考虑一个HBA和一个I/O设备之间的I/O网络路径中的元件。该参数用数据率表述,诸如每秒兆字节,以描述属于结构内路径p的端口的所包括的数据率。负载平衡系统通过适当命令确定属于路径的端口的数据率。例如,按照现有技术的SAN交换元件提供负载平衡系统可用其来询问I/O端口的数据率的用于出站连接的应用编程接口(API)。在一个可替换实施例中,路径p的结构利用率通过结构中活动端口数目与结构中总端口数目的比率来确定。端口的活动性由负载平衡系统106询问,例如通过SAN元件所提供的API。作为图2所示过程中步骤218的一部分,确定该参数。因为结构利用率动态地改变,所以其可选地可在后台中被确定。
通过利用该参数,按照本发明的负载平衡方法和系统考虑连接HBA端口和I/O设备的路径中所有元件的工作负荷。选择结构利用率最低的路径就提供所有资源的相等利用率。
图2中所描述的过程还包括允许排除某些路径的下列这些参数的极限或阈值,诸如(a)HBA端口极限,(b)网络路径距离极限和(c)结构利用率极限。将这些极限与上面在步骤212、216和220中所概述的三个参数之一进行比较,将在下面进一步说明这些极限。
HBA端口极限lh-HBA端口极限是HBA的每个端口的新元数据属性。在一个实施例中,HBA端口极限表示该端口可并行服务的驱动器的数量。在另一实施例中,HBA端口极限表示端口可处理的最大吞吐量(例如,100Gbit)。在其中互连是包括几个通道的光学缆线或无线连接,因而利用不同光学频率在每个通道上传递数据的另一实施例中,HBA端口极限也可以是HBA端口可处理的通道的数目。
路径距离极限ld-描述路径的最大允许距离,并与路径距离比较。路径距离极限是用户配置的常数值。
结构利用率极限lf-描述结构的最大允许的利用率,并与结构利用率比较。结构利用率极限由用户配置。
图3教导了选择“最佳I/O网络路径”的另一实施例。与200所描述的过程的主要差别在于,过程300不移除禁止路径。具体地,过程300不考虑HBA端口利用率的极限、网络路径距离的极限、和结构利用率的极限。相反,该过程为上面所述的这三个参数(a)HBA端口利用率、(b)网络路径距离和(c)结构利用率中的每一个选择最小值。该实施例与图2说明的实施例一起表示存在多个可替换方案来实现负载平衡系统。
负载平衡系统106响应于来自应用程序104的数据存取请求执行过程300。一个可替换实施例是,该过程在主机系统102的利用率较小时被执行。
过程300从302开始,并进入304,其中确定所有路径的集合。每个I/O网络路径描述从主机系统102的主机总线适配器110或111的I/O端口160、161、或162经网络112到I/O设备120、121、125和126的该至少一个I/O端口的路由。例如,I/O网络路径170包括HBA110的I/O端口160、从I/O端口160到I/O端口130的互连、网络设备113、从I/O端口140到I/O端口132的互连、网络设备115、和从I/O端口142到I/O设备120的I/O端口150的互连。
在步骤305中,检验是否存在任何网络路径。如果不存在网络路径,则过程进入步骤399,并停止,因而不确定路径。如果存在至少一个网络路径,则过程进入步骤306。在步骤306中,每个主机总线适配器110或111的每个I/O端口160、161、或162的HBA端口利用率被确定。步骤308确定利用率最低的I/O端口160、161或162。在步骤310中,HBA端口160、161和162的HBA端口利用率被比较,且选择利用率最低的HBA端口。如果仅存在一个I/O网络路径具有最小HBA端口利用率,则过程进入后面讨论的步骤326。
否则,如果存在一个以上的I/O网络路径具有最小利用率,则过程进入步骤312,其中为具有相同的最小利用率的I/O网络路径确定主机总线适配器端口160、161和162与驱动器120、121、125、126的I/O端口150、151、152、153、和154之间的距离。
在步骤314,确定步骤312中所考虑的I/O网络路径中的最小网络路径距离。在步骤316,确定具有最小距离的路径数目是否大于1。如果答案是否定的,即仅有一个路径,则过程进入后面讨论的步骤326。如果有一个以上的I/O网络路径具有最小距离,则过程进入步骤318,其中为所有具有最小网络路径距离的路径确定结构利用率。在步骤320中,确定I/O网络路径的最小结构利用率。
然后,过程进入步骤322,其中确定是否存在一个以上的I/O网络路径具有最小结构利用率。如果答案是否定的,即仅一个路径,则过程进入步骤326。步骤326从步骤310、步骤316或步骤322接收正好一个网络路径。在步骤326中,该I/O网络路径被标识为“最佳路径”。步骤326在330结束。
如果在步骤322中的确定结果是存在一个以上的网络路径具有最小结构利用率,则过程进入步骤324,其中所谓的第一网络路径被选择。在本发明的一个实施例中,步骤322中所确定的所有网络路径被存储在列表中。于是,所谓的第一网络路径是作为列表中第一元素的I/O网络路径。本发明的一个可替换实施例是选择列表中最后一个I/O网络路径。步骤324进入终点。
在本发明的一个实施例中,仅步骤302到310、以及步骤326或步骤399被执行。如果步骤310中所确定的路径的数目大于1,则例如随机地选择一个路径,且方法在步骤326以“最佳路径”结束。
附图标记列表
100 | 方框图 |
102 | 主机系统 |
103 | 微处理器 |
104 | 应用程序 |
105 | 非易失性存储设备 |
106 | 负载平衡系统 |
107 | 易失性存储设备 |
108 | 设备驱动器 |
109 | 代理 |
110 | 主机总线适配器 |
111 | 主机总线适配器 |
112 | 网络 |
113 | 网络元件 |
114 | 网络元件 |
115 | 网络元件 |
118 | 可移动介质管理系统 |
120 | I/O设备 |
121 | I/O设备 |
125 | I/O设备 |
126 | I/O设备 |
130 | I/O端口 |
131 | I/O端口 |
132 | I/O端口 |
133 | I/O端口 |
134 | I/O端口 |
140 | I/O端口 |
141 | I/O端口 |
142 | I/O端口 |
143 | I/O端口 |
144 | I/O端口 |
145 | I/O端口 |
146 | I/O端口 |
149 | 存储子系统 |
150 | I/O端口 |
151 | I/O端口 |
152 | I/O端口 |
153 | I/O端口 |
154 | I/O端口 |
160 | I/O端口 |
161 | I/O端口 |
162 | I/O端口 |
170 | 网络路径 |
180 | HBA端口极限 |
182 | HBA端口利用率 |
184 | 网络路径距离 |
185 | 路径距离极限 |
186 | 结构利用率极限 |
188 | 结构利用率 |
190 | 网络路径 |
192 | 压缩比 |
194 | 驱动器负担 |
199 | 客户计算机 |
200 | 流程图 |
202 | 开始 |
204 | 确定网络路径集合 |
206 | 去除禁止路径 |
208 | 选择候选I/O网络路径 |
210 | 确定HBA端口利用率 |
212 | 比较HBA端口利用率和HBA端口极限并选择 |
214 | 确定网络路径距离 |
216 | 选择 |
218 | 确定结构利用率 |
220 | 选择 |
222 | 确定f |
224 | 确定f的最低函数值并选择 |
226 | 退出“最佳路径” |
229 | 退出“无路径” |
300 | 流程图 |
302 | 开始 |
304 | 确定网络路径集合 |
305 | 判定 |
306 | 确定HBA端口利用率 |
308 | 确定具有最小HBA端口利用率的I/O网络路径 |
310 | 判定 |
312 | 确定网络路径距离 |
314 | 确定具有最小网络路径距离的I/O网络路径 |
316 | 选择 |
318 | 确定结构利用率 |
320 | 确定最小结构利用率 |
322 | 选择 |
324 | 选择路径为“最佳路径” |
326 | 确定“最佳路径” |
330 | 结束 |
399 | 退出“无路径” |
Claims (19)
1.一种用于从一组I/O网络路径中识别输入/输出I/O网络路径(170)的负载平衡方法(106),其中所述一组I/O网络路径将主机系统(102)经网络(112)连接至存储子系统(149),所述主机系统(102)包括至少一个主机总线适配器HBA(110,111),所述存储子系统(149)包括至少一个I/O设备(120,121,125,126),所述网络(112)包括至少一个网络设备(113,114,115),每个所述HBA(110,111)、每个所述I/O设备(120,121,125,126)和每个所述网络设备(113,114,115)包括至少一个I/O端口(130,131,132,133,134,140,141,142,143,144,145,150,151,152,153,160,161,162),所述方法包括:
a)为所述至少一个HBA(110,111)的所述至少一个I/O端口(160,161,162)中的每一个确定HBA端口极限(180);
b)确定将所述至少一个HBA(110,111)中每一个的所述至少一个I/O端口(160,161,162)经所述至少一个网络设备(113,114,115)的I/O端口(130,131,132,133,134,140,141,142,143,144,145)连接至所述至少一个I/O设备(120,121,125,126)中每一个的所述至少一个I/O端口(150,151,152,153)的所述一组I/O网络路径;
c)为每个I/O网络路径确定结构利用率极限(186);
d)为所述至少一个HBA(110,111)的所述至少一个I/O端口(160,161,162)中的每一个确定HBA端口利用率(182);
e)丢弃HBA端口利用率(182)大于HBA端口极限(180)的所有网络路径;
f)为每个剩余网络路径确定网络路径距离(184);
g)丢弃网络路径距离(184)大于路径距离极限(185)的所有网络路径;
h)为每个剩余网络路径确定结构利用率(188);
i)丢弃结构利用率(188)大于结构利用率极限(186)的所有网络路径;
j)从剩余网络路径中确定I/O网络路径(170)。
2.如权利要求1所述的方法,其中在步骤a)中,用所述至少一个HBA(110,111)的所述至少一个I/O端口(160,161,162)中每一个可并行服务的I/O设备的数目,为所述至少一个HBA(110,111)中每一个的所述至少一个I/O端口(160,161,162)中每一个确定HBA端口极限(180)。
3.如权利要求1所述的方法,其中在步骤a)中,用HBA(110,111)的I/O端口(160,161,162)可处理的最大数目的每秒比特,为所述至少一个HBA(110,111)中每一个的所述至少一个I/O端口(160,161,162)中每一个确定HBA端口极限(180)。
4.如权利要求1-3中任一项所述的方法,其中在步骤d)中,用分配给HBA的I/O端口的工作负荷来确定所述HBA(110,111)的所述I/O端口(160,161,162)的HBA端口利用率(182)。
5.如权利要求1-3中任一项所述的方法,其中在步骤d)中,利用驱动器负担(194)确定HBA端口利用率(182),其中所述驱动器负担(194)被分配给I/O设备,并且所述驱动器负担(194)表示分配给I/O设备的工作负荷。
6.如权利要求1-3中任一项所述的方法,其中在步骤d)中,利用驱动器负担(194)确定HBA端口利用率(182),其中所述驱动器负担由分配给I/O设备的工作负荷确定,用压缩比(192)调整所述驱动器负担(194),且从所述I/O设备获取所述压缩比。
7.如权利要求1-3中任一项所述的方法,其中在步骤f)中,通过加和包括在I/O网络路径中的所有互连的等待时间并加上包括在I/O网络路径中I/O端口的数目来确定每个剩余网络路径的网络路径距离(184)。
8.如权利要求1-3中任一项所述的方法,其中在步骤h)中,通过加和经过包括在网络路径中的所述至少一个网络设备的I/O端口的数据率来确定结构利用率(188)。
9.如权利要求1-3中任一项所述的方法,其中在步骤h)中,网络路径的结构利用率(188)用包括在所述网络路径中的活动I/O端口的数目与包括在所述网络路径中的I/O端口的总数目的比率来确定。
10.如权利要求1-3中任一项所述的方法,其中在步骤j)中,I/O网络路径(170)是考虑HBA端口利用率(182)、网络路径距离(184)和结构利用率(188)的函数产生最低函数值的剩余网络路径。
11.一种用于从一组将主机系统(102)经网络(112)连接到存储子系统(149)的I/O网络路径中识别输入/输出I/O网络路径(170)的负载平衡系统(106),所述主机系统(102)包括至少一个主机总线适配器HBA(110,111),所述存储子系统(149)包括至少一个I/O设备(120,121,125,126),所述网络(112)包括至少一个网络设备(113,114,115),每个所述HBA(110,111)、每个所述I/O设备(120,121,125,126)、和每个所述网络设备(113,114,115)包括至少一个I/O端口(130,131,132,133,134,140,141,142,143,144,145,150,151,152,153,160,161,162),所述系统包括:
a)用于为所述至少一个HBA(110,111)中每一个的所述至少一个I/O端口(160,161,162)中每一个确定HBA端口极限(180)的装置;
b)用于确定将所述至少一个HBA(110,111)中每一个的所述至少一个I/O端口(160,161,162)经所述至少一个网络设备(113,114,115)的I/O端口(130,131,132,133,134,140,141,142,143,144,145)连接至所述至少一个I/O设备(120,121,125,126)中每一个的所述至少一个I/O端口(150,151,152,153,154)的所述一组I/O网络路径的装置;
c)用于为每个I/O网络路径确定结构利用率极限(186)的装置;
d)用于为所述至少一个HBA(110,111)的所述至少一个I/O端口(160,161,162)中每一个确定HBA端口利用率(182)的装置;
e)用于丢弃HBA端口利用率(182)大于HBA端口极限(180)的所有网络路径的装置;
f)用于为每个剩余网络路径确定网络路径距离(184)的装置;
g)用于丢弃网络路径距离(184)大于路径距离极限(185)的所有网络路径的装置;
h)用于为每个剩余网络路径确定结构利用率(188)的装置;
i)用于丢弃结构利用率(188)大于结构利用率极限(186)的所有网络路径的装置;
j)用于从剩余网络路径中确定I/O网络路径(170)的装置。
12.如权利要求11所述的系统,其中所述用于为所述至少一个HBA(110,111)中每一个的所述至少一个I/O端口(160,161,162)中每一个确定HBA端口极限(180)的装置被配置为:用所述至少一个HBA(110,111)的所述至少一个I/O端口(160,161,162)中每一个可并行服务的I/O设备的数目,为所述至少一个HBA(110,111)中每一个的所述至少一个I/O端口(160,161,162)中每一个确定HBA端口极限(180)。
13.如权利要求11所述的系统,其中所述用于为所述至少一个HBA(110,111)中每一个的所述至少一个I/O端口(160,161,162)中每一个确定HBA端口极限(180)的装置被配置为:用HBA(110,111)的I/O端口(160,161,162)可处理的最大数目的每秒比特,为所述至少一个HBA(110,111)中每一个的所述至少一个I/O端口(160,161,162)的每一个确定HBA端口极限(180)。
14.如权利要求11到13中任一项所述的系统,其中所述用于为所述至少一个HBA(110,111)的所述至少一个I/O端口(160,161,162)中每一个确定HBA端口利用率(182)的装置被配置为:用分配给HBA的I/O端口的工作负荷确定所述HBA(110,111)的所述I/O端口(160,161,162)的HBA端口利用率(182)。
15.如权利要求11到13中任一项所述的系统,其中所述用于为所述至少一个HBA(110,111)的所述至少一个I/O端口(160,161,162)中每一个确定HBA端口利用率(182)的装置被配置为:将所述驱动器负担(194)分配给I/O设备,并且所述驱动器负担(194)表示分配给所述I/O设备的工作负荷。
16.如权利要求11到13中任一项所述的系统,其中所述用于为所述至少一个HBA(110,111)的所述至少一个I/O端口(160,161,162)中每一个确定HBA端口利用率(182)的装置被配置为:利用驱动器负担(194)确定HBA端口利用率(182),其中用分配给I/O设备的工作负荷确定所述驱动器负担,用压缩比(192)调整所述驱动器负担(194),且从所述I/O设备获取所述压缩比(192)。
17.如权利要求11到13中任一项所述的系统,其中所述用于为每个剩余网络路径确定网络路径距离(184)的装置被配置为:通过加和包括在I/O网络路径中的所有互连的等待时间并加上包括在I/O网络路径中的I/O端口的数目来确定每个剩余网络路径的网络路径距离(184)。
18.如权利要求11到13中任一项所述的系统,其中所述用于为每个剩余网络路径确定结构利用率(188)的装置被配置为:通过加和经过包括在网络路径中的至少一个网络设备的I/O端口的数据率来确定结构利用率(188)。
19.如权利要求11到13中任一项所述的系统,其中所述用于为每个剩余网络路径确定结构利用率(188)的装置被配置为:用包括在所述网络路径中的活动I/O端口的数目与包括在所述网络路径中的I/O端口的总数目的比率确定网络路径的结构利用率(188)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05108246 | 2005-09-08 | ||
EP05108246.9 | 2005-09-08 | ||
PCT/EP2006/064191 WO2007036372A1 (en) | 2005-09-08 | 2006-07-13 | Load distribution in storage area networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101258725A CN101258725A (zh) | 2008-09-03 |
CN101258725B true CN101258725B (zh) | 2011-04-13 |
Family
ID=37192337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680032533.1A Expired - Fee Related CN101258725B (zh) | 2005-09-08 | 2006-07-13 | 存储区域网络中的负载分布 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7743198B2 (zh) |
EP (1) | EP1922855A1 (zh) |
JP (1) | JP4686606B2 (zh) |
CN (1) | CN101258725B (zh) |
WO (1) | WO2007036372A1 (zh) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7343356B2 (en) | 2004-04-30 | 2008-03-11 | Commvault Systems, Inc. | Systems and methods for storage modeling and costing |
US8266406B2 (en) | 2004-04-30 | 2012-09-11 | Commvault Systems, Inc. | System and method for allocation of organizational resources |
US7747579B2 (en) | 2005-11-28 | 2010-06-29 | Commvault Systems, Inc. | Metabase for facilitating data classification |
US20110010518A1 (en) | 2005-12-19 | 2011-01-13 | Srinivas Kavuri | Systems and Methods for Migrating Components in a Hierarchical Storage Network |
US8661216B2 (en) * | 2005-12-19 | 2014-02-25 | Commvault Systems, Inc. | Systems and methods for migrating components in a hierarchical storage network |
US20200257596A1 (en) | 2005-12-19 | 2020-08-13 | Commvault Systems, Inc. | Systems and methods of unified reconstruction in storage systems |
US7651593B2 (en) | 2005-12-19 | 2010-01-26 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US7606844B2 (en) | 2005-12-19 | 2009-10-20 | Commvault Systems, Inc. | System and method for performing replication copy storage operations |
US8572330B2 (en) * | 2005-12-19 | 2013-10-29 | Commvault Systems, Inc. | Systems and methods for granular resource management in a storage network |
US8930496B2 (en) | 2005-12-19 | 2015-01-06 | Commvault Systems, Inc. | Systems and methods of unified reconstruction in storage systems |
CA2632935C (en) | 2005-12-19 | 2014-02-04 | Commvault Systems, Inc. | Systems and methods for performing data replication |
JP4757038B2 (ja) * | 2006-01-25 | 2011-08-24 | 株式会社日立製作所 | ストレージシステム及び記憶制御装置 |
US8416954B1 (en) | 2008-09-30 | 2013-04-09 | Emc Corporation | Systems and methods for accessing storage or network based replicas of encrypted volumes with no additional key management |
US8261068B1 (en) | 2008-09-30 | 2012-09-04 | Emc Corporation | Systems and methods for selective encryption of operating system metadata for host-based encryption of data at rest on a logical unit |
US8726242B2 (en) | 2006-07-27 | 2014-05-13 | Commvault Systems, Inc. | Systems and methods for continuous data replication |
US8572302B1 (en) * | 2006-10-13 | 2013-10-29 | Marvell International Ltd. | Controller for storage device with improved burst efficiency |
US8677091B2 (en) | 2006-12-18 | 2014-03-18 | Commvault Systems, Inc. | Writing data and storage system specific metadata to network attached storage device |
US7957398B1 (en) * | 2007-03-05 | 2011-06-07 | Emc Corporation | Methods and systems for dynamic division of path capacity |
US20090119452A1 (en) * | 2007-11-02 | 2009-05-07 | Crossroads Systems, Inc. | Method and system for a sharable storage device |
JP4521678B2 (ja) * | 2007-11-19 | 2010-08-11 | フェリカネットワークス株式会社 | 通信システム、情報処理方法、プログラム、及び情報処理装置 |
US7839788B2 (en) * | 2008-05-19 | 2010-11-23 | Lsi Corporation | Systems and methods for load balancing storage system requests in a multi-path environment based on transfer speed of the multiple paths |
US9178842B2 (en) | 2008-11-05 | 2015-11-03 | Commvault Systems, Inc. | Systems and methods for monitoring messaging applications for compliance with a policy |
US9495382B2 (en) | 2008-12-10 | 2016-11-15 | Commvault Systems, Inc. | Systems and methods for performing discrete data replication |
US8204859B2 (en) | 2008-12-10 | 2012-06-19 | Commvault Systems, Inc. | Systems and methods for managing replicated database data |
US8166314B1 (en) | 2008-12-30 | 2012-04-24 | Emc Corporation | Selective I/O to logical unit when encrypted, but key is not available or when encryption status is unknown |
US8504517B2 (en) | 2010-03-29 | 2013-08-06 | Commvault Systems, Inc. | Systems and methods for selective data replication |
US8504515B2 (en) | 2010-03-30 | 2013-08-06 | Commvault Systems, Inc. | Stubbing systems and methods in a data replication environment |
US8725698B2 (en) | 2010-03-30 | 2014-05-13 | Commvault Systems, Inc. | Stub file prioritization in a data replication system |
US8572276B2 (en) | 2010-04-29 | 2013-10-29 | International Business Machines Corporation | Pipelining protocols in misaligned buffer cases |
US8589347B2 (en) | 2010-05-28 | 2013-11-19 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US9400605B2 (en) | 2011-01-12 | 2016-07-26 | International Business Machines Corporation | Efficient management of a virtual tape library cluster |
US9015372B2 (en) * | 2012-01-12 | 2015-04-21 | Hewlett-Packard Development Company, L.P. | Managing data paths between computer applications and data storage devices |
US8954575B2 (en) * | 2012-05-23 | 2015-02-10 | Vmware, Inc. | Fabric distributed resource scheduling |
US8892523B2 (en) | 2012-06-08 | 2014-11-18 | Commvault Systems, Inc. | Auto summarization of content |
US10379988B2 (en) | 2012-12-21 | 2019-08-13 | Commvault Systems, Inc. | Systems and methods for performance monitoring |
CN103559155B (zh) * | 2013-10-25 | 2016-09-14 | 华为技术有限公司 | 一种数据传输方法、相关装置及数据传输系统 |
JP6323194B2 (ja) * | 2014-06-13 | 2018-05-16 | 富士通株式会社 | ネットワーク管理装置及び方法 |
US10725684B2 (en) * | 2014-09-30 | 2020-07-28 | EMC IP Holding Company LLC | Method and apparatus for cost-based load balancing for port selection |
US9953070B1 (en) | 2015-04-05 | 2018-04-24 | Simply Data Now Inc. | Enterprise resource planning (ERP) system data extraction, loading, and directing |
US10275320B2 (en) | 2015-06-26 | 2019-04-30 | Commvault Systems, Inc. | Incrementally accumulating in-process performance data and hierarchical reporting thereof for a data stream in a secondary copy operation |
US10002014B2 (en) | 2015-07-10 | 2018-06-19 | International Business Machines Corporation | Management of a virtual machine in a virtualized computing environment based on a fabric limit |
US10002015B2 (en) | 2015-07-10 | 2018-06-19 | International Business Machines Corporation | Delayed boot of a virtual machine in a virtualized computing environment based on a fabric limit |
US9973432B2 (en) * | 2015-07-10 | 2018-05-15 | International Business Machines Corporation | Load balancing in a virtualized computing environment based on a fabric limit |
US10248494B2 (en) | 2015-10-29 | 2019-04-02 | Commvault Systems, Inc. | Monitoring, diagnosing, and repairing a management database in a data storage management system |
CN106909310B (zh) * | 2015-12-22 | 2020-06-05 | 伊姆西Ip控股有限责任公司 | 用于存储系统的路径选择的方法和装置 |
CN106527970A (zh) * | 2016-09-22 | 2017-03-22 | 华为技术有限公司 | 通信路径选择方法及装置 |
US10540516B2 (en) | 2016-10-13 | 2020-01-21 | Commvault Systems, Inc. | Data protection within an unsecured storage environment |
US10831591B2 (en) | 2018-01-11 | 2020-11-10 | Commvault Systems, Inc. | Remedial action based on maintaining process awareness in data storage management |
US10642886B2 (en) | 2018-02-14 | 2020-05-05 | Commvault Systems, Inc. | Targeted search of backup data using facial recognition |
US20200192572A1 (en) | 2018-12-14 | 2020-06-18 | Commvault Systems, Inc. | Disk usage growth prediction system |
US11042318B2 (en) | 2019-07-29 | 2021-06-22 | Commvault Systems, Inc. | Block-level data replication |
US11593278B2 (en) | 2020-09-28 | 2023-02-28 | Vmware, Inc. | Using machine executing on a NIC to access a third party storage not supported by a NIC or host |
US11736566B2 (en) | 2020-09-28 | 2023-08-22 | Vmware, Inc. | Using a NIC as a network accelerator to allow VM access to an external storage via a PF module, bus, and VF module |
US11829793B2 (en) | 2020-09-28 | 2023-11-28 | Vmware, Inc. | Unified management of virtual machines and bare metal computers |
US11792134B2 (en) | 2020-09-28 | 2023-10-17 | Vmware, Inc. | Configuring PNIC to perform flow processing offload using virtual port identifiers |
US11636053B2 (en) | 2020-09-28 | 2023-04-25 | Vmware, Inc. | Emulating a local storage by accessing an external storage through a shared port of a NIC |
CN114003371B (zh) * | 2021-09-28 | 2023-03-07 | 中汽创智科技有限公司 | 一种自动驾驶负载均衡方法、装置、电子设备及存储介质 |
US11863376B2 (en) | 2021-12-22 | 2024-01-02 | Vmware, Inc. | Smart NIC leader election |
US11809285B2 (en) | 2022-02-09 | 2023-11-07 | Commvault Systems, Inc. | Protecting a management database of a data storage management system to meet a recovery point objective (RPO) |
US11899594B2 (en) | 2022-06-21 | 2024-02-13 | VMware LLC | Maintenance of data message classification cache on smart NIC |
US11928062B2 (en) | 2022-06-21 | 2024-03-12 | VMware LLC | Accelerating data message classification with smart NICs |
US11928367B2 (en) | 2022-06-21 | 2024-03-12 | VMware LLC | Logical memory addressing for network devices |
US20240098003A1 (en) * | 2022-09-15 | 2024-03-21 | Schweitzer Engineering Laboratories, Inc. | Systems and methods for network traffic monitoring |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1358287A (zh) * | 1999-06-11 | 2002-07-10 | 存储技术公司 | 智能存储区域网络 |
CN1474275A (zh) * | 2002-08-06 | 2004-02-11 | 中国科学院计算技术研究所 | 基于虚拟存储的智能网络存储设备的系统 |
US6775230B1 (en) * | 2000-07-18 | 2004-08-10 | Hitachi, Ltd. | Apparatus and method for transmitting frames via a switch in a storage area network |
CN1543135A (zh) * | 2003-11-07 | 2004-11-03 | 清华大学 | San系统中基于负载自适应的异步远程镜像方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6256675B1 (en) * | 1997-05-06 | 2001-07-03 | At&T Corp. | System and method for allocating requests for objects and managing replicas of objects on a network |
US5926463A (en) * | 1997-10-06 | 1999-07-20 | 3Com Corporation | Method and apparatus for viewing and managing a configuration of a computer network |
US6502135B1 (en) * | 1998-10-30 | 2002-12-31 | Science Applications International Corporation | Agile network protocol for secure communications with assured system availability |
US6993027B1 (en) * | 1999-03-17 | 2006-01-31 | Broadcom Corporation | Method for sending a switch indicator to avoid out-of-ordering of frames in a network switch |
US6963927B1 (en) * | 2000-08-29 | 2005-11-08 | Lucent Technologies Inc. | Method and apparatus for computing the shortest path between nodes based on the bandwidth utilization link level |
US6920498B1 (en) * | 2000-08-31 | 2005-07-19 | Cisco Technology, Inc. | Phased learning approach to determining closest content serving sites |
US7111074B2 (en) * | 2001-07-24 | 2006-09-19 | Pluris, Inc. | Control method for data path load-balancing on a data packet network |
US7586944B2 (en) | 2002-08-30 | 2009-09-08 | Hewlett-Packard Development Company, L.P. | Method and system for grouping clients of a storage area network according to priorities for bandwidth allocation |
JP2004274368A (ja) * | 2003-03-07 | 2004-09-30 | Fujitsu Ltd | 品質保証制御装置および負荷分散装置 |
JP4383132B2 (ja) * | 2003-09-02 | 2009-12-16 | 株式会社日立製作所 | 仮想化制御装置及び計算機システム |
-
2006
- 2006-07-13 WO PCT/EP2006/064191 patent/WO2007036372A1/en active Application Filing
- 2006-07-13 US US12/066,247 patent/US7743198B2/en not_active Expired - Fee Related
- 2006-07-13 EP EP06792501A patent/EP1922855A1/en not_active Withdrawn
- 2006-07-13 JP JP2008529572A patent/JP4686606B2/ja not_active Expired - Fee Related
- 2006-07-13 CN CN200680032533.1A patent/CN101258725B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1358287A (zh) * | 1999-06-11 | 2002-07-10 | 存储技术公司 | 智能存储区域网络 |
US6775230B1 (en) * | 2000-07-18 | 2004-08-10 | Hitachi, Ltd. | Apparatus and method for transmitting frames via a switch in a storage area network |
CN1474275A (zh) * | 2002-08-06 | 2004-02-11 | 中国科学院计算技术研究所 | 基于虚拟存储的智能网络存储设备的系统 |
CN1543135A (zh) * | 2003-11-07 | 2004-11-03 | 清华大学 | San系统中基于负载自适应的异步远程镜像方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101258725A (zh) | 2008-09-03 |
US7743198B2 (en) | 2010-06-22 |
JP2009508196A (ja) | 2009-02-26 |
EP1922855A1 (en) | 2008-05-21 |
JP4686606B2 (ja) | 2011-05-25 |
WO2007036372A1 (en) | 2007-04-05 |
US20080250178A1 (en) | 2008-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101258725B (zh) | 存储区域网络中的负载分布 | |
CN101395889B (zh) | 存储装置端口的选择优化 | |
US9104741B2 (en) | Method and apparatus for seamless management for disaster recovery | |
US20060168156A1 (en) | Hierarchical system configuration method and integrated scheduling method to provide multimedia streaming service on two-level double cluster system | |
US9442763B2 (en) | Resource allocation method and resource management platform | |
US7577158B2 (en) | Information processing system and access method | |
US20090119396A1 (en) | Workload management with network dynamics | |
US6820172B2 (en) | Method, system, and program for processing input/output (I/O) requests to a storage space having a plurality of storage devices | |
US7801994B2 (en) | Method and apparatus for locating candidate data centers for application migration | |
US20070226341A1 (en) | System and method of determining an optimal distribution of source servers in target servers | |
US20070130344A1 (en) | Using load balancing to assign paths to hosts in a network | |
KR20150008446A (ko) | 클라우드 기반 애플리케이션에 대한 단일 장애점 제거를 위한 방법 및 장치 | |
US20050210321A1 (en) | Method of balancing work load with prioritized tasks across a multitude of communication ports | |
JP5882557B2 (ja) | 要求優先順位シーク・マネージャ | |
US20100082840A1 (en) | Using link send and receive information to select one of multiple links to use to transfer data for send and receive operations | |
JP2004199697A (ja) | 記憶アレイ帯域を動的に割り振る方法および装置 | |
US8555021B1 (en) | Systems and methods for automating and tuning storage allocations | |
US7111088B2 (en) | Computer system, management device, and logical device selecting method and program | |
KR20210000938A (ko) | 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 방법 및 동적 로드밸런싱 장치 | |
CN116048413B (zh) | 多路径存储的io请求处理方法、装置、系统及存储介质 | |
JPH11215147A (ja) | Atm交換機及びそのスイッチ制御方法並びにその制御プログラムを記録した記録媒体 |
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 |
Granted publication date: 20110413 Termination date: 20150713 |
|
EXPY | Termination of patent right or utility model |