一种基于ipsan的均衡多主机网口性能的方法及装置的制造方法

文档序号:9691095阅读:597来源:国知局
一种基于ipsan的均衡多主机网口性能的方法及装置的制造方法
【技术领域】
[0001]本发明属于通信技术领域,更具体地,涉及一种基于ipsan的均衡多主机网口性能的方法及装置。
【背景技术】
[0002]企业存储技术发展日新月异,早期是基于大型服务器的DAS技术(DirectAttached Storage,直接附加存储,又称直连存储),后来为了提高存储空间的利用及管理安装上的效率,因而有了SAN(Storage Area Network,存储局域网络)技术的诞生,SAN可说是DAS网络化发展趋势下的产物。早先的SAN采用的是光纤通道(FC,Fiber Channel)技术,所以在iSCSI出现以前,SAN多半单指FC而言。一直到iSCSI (Internet Small ComputerSystem Interface,Internet小型计算机系统接口)问世,为了方便区别,业界才分别以FC-SAN及iSCS1-SAN的称呼加以分辨。紧接着,为了能在多用户网络环境中,做好档案集中化分享管理的工作,采用全然不同于以往的文件协议(File Protocol)数据存取方式的NAS(Network Attached Storage;网络附加存储)方案也应运而生。它的出现,为以太网络的成熟及重要,做了最佳脚注。日益发展及成熟的因特网,更进一步成为了 IP存储方案成长壮大的最佳腹地及平台,现成的架构、协议、标准、基础设施及管理工具,莫不吸引着寻求最佳存储方案者的目光。此背景,加上FC-SAN高不可攀的成本及管理门坎的障碍,另一存储成员iSCSI (InternetSCSI)也来报到了。iSCSI的出现,标志着低价化SAN方案的问世。
[0003]从IP SAN到iSCSI SAN所谓iSCSI亦即通过IP网络,将SCSI区块数据转换成网络封包的一种传输标准,它和NAS—样通过IP网络来传输数据,但在数据存取方式上,则采用与NAS不同的,而与FC-SAN相同的Block Protocol。iSCSI最早是由IBM和Cisco于2001年制定的。事实上,为了解决FC-SAN在价格及管理上的诸多门坎,各家早有不同协议的IP SAN的研究开发。这些IP SAN的架构,其实与iSCSI大同小异,只不过并非走标准化的协议(事实上,在iSCSI标准化之前,也没有什么标准不标准的问题),而是各家自行研发的协议,所以基本上各家IP SAN是不兼容的。
[0004]IP SAN基于十分成熟的以太网技术,由于设置配置的技术简单、低成本的特色相当明显,而且普通服务器或PC机只需要具备网卡,即可共享和使用大容量的存储空间。由于是基于IP协议的,能容纳所有IP协议网络中的部件,因此,用户可以在任何需要的地方创建实际的SAN网络,而不需要专门的光纤通道网络在服务器和存储设备之间传送数据。同时,因为没有光纤通道对传输距离的限制,IP SAN使用标准的TCP/IP协议,数据即可在以太网上进行传输。IP SAN网络对于那些要求流量不太高的应用场合以及预算不充足的用户,是一个非常好的选择。
[0005]然而如果多台主机同时访问ipsan的同一个网口,会出现性能好的主机独占带宽的情况,从而导致性能波动很大。

【发明内容】

[0006]针对现有技术的以上缺陷或改进需求,本发明提供了一种基于ipsan的均衡多主机网口性能的方法及装置,其目的在于为多个主机访问ipsan存储设备的同一个端口时提供一种资源均衡的调度方法,从而解决部分性能好的主机独占带宽以及访问性能波动很大的技术问题。
[0007]为实现上述目的,按照本发明的一个方面,提供了一种基于ipsan的均衡多主机网口性能的方法,包括:
[0008]在ipsan存储设备中,针对每个端口维护一个连接链表,每个端口的连接链表中包含该端口与主机之间的多个连接;
[0009]在ipsan存储设备中,针对每个端口维护一个对象链表,每个端口的对象链表中的多个对象分别对应该端口与主机之间的多个连接;
[0010]在ipsan存储设备中,针对对象链表中的每个对象分别维护一个命令链表,每个命令链表中包含多个命令,每个命令链表中包含的多个命令是由与该对象所对应的连接所下发的;
[0011]在ipsan存储设备中,开启一个监控线程用于轮询对象链表,在处理对象链表中的某个对象所对应的命令链表中预设数量的命令后,将命令执行结果通过返回发送队列返回给对应的主机,并继续处理下一个对象所对应的命令链表中预设数量的命令并返回命令执行结果。
[0012]进一步地,当有新的主机与ipsan存储设备的某一端口建立连接时,把该连接加入到该端口所对应的连接链表中,并在该端口所对应的对象链表中加入对应该连接的对象,并建立该对象所对应的命令链表。
[0013]进一步地,在ipsan存储设备中开启一个处理线程用于轮询连接链表,当连接链表中某个连接下发了新的命令时,则将该命令加入到该连接所对应的对象的命令链表中。
[0014]进一步地,所述将命令执行结果通过返回发送队列返回给对应的主机具体为:监控线程在处理完某个对象所对应的命令链表中预设数量的命令后,将命令执行结果挂到该对象所对应的连接所维护的返回发送队列中;处理线程轮询连接链表,当接链表中某个连接收到了新的命令执行结果时,则将预计数量的命令执行结果发送给该连接所对应的主机。
[0015]进一步优选地,监控线程执行命令链表中的命令的预设数量是4;处理线程发送返回发送队列中的命令执行结果的预设数量是4。
[0016]按照本发明的另一方面,还提供了一种基于ipsan的均衡多主机网口性能的装置,包括连接链表维护模块、对象链表维护模块、命令链表维护模块以及监控线程维护模块,其中:
[0017]所述连接链表维护模块,用于在ipsan存储设备中,针对每个端口维护一个连接链表,每个端口的连接链表中包含该端口与主机之间的多个连接;
[0018]所述对象链表维护模块,用于在ipsan存储设备中,针对每个端口维护一个对象链表,每个端口的对象链表中的多个对象分别对应该端口与主机之间的多个连接;
[0019]所述命令链表维护模块,用于在ipsan存储设备中,针对对象链表中的每个对象分别维护一个命令链表,每个命令链表中包含多个命令,每个命令链表中包含的多个命令是由与该对象所对应的连接所下发的;
[0020]所述监控线程维护模块,用于在ipsan存储设备中,维护一个用于轮询对象链表的监控线程,在处理对象链表中的某个对象所对应的命令链表中预设数量的命令后,将命令执行结果通过返回发送队列返回给对应的主机,并继续处理下一个对象所对应的命令链表中预设数量的命令并返回命令执行结果。
[0021]进一步地,当有新的主机与ipsan存储设备的某一端口建立连接时,所述连接链表维护模块用于把该连接加入到该端口所对应的连接链表中;所述对象链表维护模块,用于在该端口所对应的对象链表中加入对应该连接的对象,并建立该对象所对应的命令链表。
[0022]进一步地,所述装置还包括一个处理线程维护模块,用于在ipsan存储设备中开启一个用于轮询连接链表的处理线程,当连接链表中某个连接下发了新的命令时,则将该命令加入到该连接所对应的对象的命令链表中。
[0023]进一步地,所述监控线程维护模块将命令执行结果通过返回发送队列返回给对应的主机具体为:监控线程在处理完某个对象所对应的命令链表中预设数量的命令后,将命令执行结果挂到该对象所对应的连接所维护的返回发送队列中;并由处理线程轮询连接链表,当接链表中某个连接收到了新的命令执行结果时,则将预计数量的命令执行结果发送给该连接所对应的主机。
[0024]进一步优选地,监控线程执行命令链表中的命令的预设数量是4;处理线程发送返回发送队列中的命令执行结果的预设数量是4。
[0025]总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:
[0026]1、本发明中分别通过连接链表、对象链表和命令链表来维护ipsan存储设备与主机间的连接和命令,并通过监控线程来轮询对象链表的方式来依次对各对象中的命令进行处理,所以主机端发送的命令并非直接发送到ipsan存储设备进行执行并返回执行结果,而是将命令先挂在相应的命令链表下,再由监控线程来轮询依次处理,从而能够对各主机均衡分配访问资源,避免了性能好的主机独占带宽并导致性能波动较大的问题;
[0027]2、监控线程在执行命令链表中的命令时,只执行预设数量的命令即跳转到下一个对象并执行下一个对象中的命令,而并不是在对每个连接的命令执行完毕后再执行下一个连接中的命令(如果某个主机性能较多,则单位时间内发送到ipsan存储设备的命令较多,此时可能执行该主机的命令需要较长时间),从而避免了性能好的主机独占带宽并导致性能波动较大的问题。
【附图说明】
[0028]图1是多台主机同时访问ipsan存储设备的同一个端口的模块示意图;
[0029]图2是本发明实施例中基于ipsan的均衡多主机网口性能方法的原理示意图;
[0030]图3是本发明发明实施例中基于ipsan的均衡多主机网口性能的装置示意图。
【具体实施方式】
[0031]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0032]本发明方法基于如图1所示的存储模型提出,在该存储模型中,多个主机(S卩Iscsi启动器)通过同一个网口访问ipsan存储设备(S卩Iscsi目标器),然而由于主机本身的差异,比如网卡性能、内存大小等,使得各台主机间性能存在不均衡,甚至会出现性能好的主机独占带宽的情况,从而导致整个存储系统的性能波动很大。
[0033]为了解决上述技术问题,本发明提供了一种基于ipsan的均衡多主机网口性能的方法,该方法具体为:
[0034]在ipsan存储设备中,针对每个端口维护一个连接链表,每个端口的连接链表中包含该端口与主机之间的多个连接;
[0035]在ipsan存储设备中,针对每个端口维护一个对象链表,每个端口的对象链表中的多个对象分别对应该端口与主机之间的多个连接;
[0036]在ipsan存储设备中,针对对象链表中的每个对象分别维护一个命令链表,每个命令链表中包含多个命令,每个命令链表中包含的多个命令是由与该对象所对应的连接所下发的;
[
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1