CN101739286B - 一种多处理器的储存服务器的负载均衡方法 - Google Patents
一种多处理器的储存服务器的负载均衡方法 Download PDFInfo
- Publication number
- CN101739286B CN101739286B CN 200810177063 CN200810177063A CN101739286B CN 101739286 B CN101739286 B CN 101739286B CN 200810177063 CN200810177063 CN 200810177063 CN 200810177063 A CN200810177063 A CN 200810177063A CN 101739286 B CN101739286 B CN 101739286B
- Authority
- CN
- China
- Prior art keywords
- storage equipment
- dialogue
- load
- regular
- real storage
- 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.)
- Active
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种多处理器的储存服务器的负载均衡方法,包含以下步骤:初始化一虚拟储存设备,并依据各个处理器的数目启动相同数目的多个真实储存设备,且将各个真实储存设备加入一负载映像表;响应请求端的发现对话登入请求,发送虚拟储存设备的信息;响应请求端对虚拟储存设备的正规对话登入请求,查询负载映像表;依据负载映像表,于各个真实储存设备中选择一真实储存设备以建立正规对话;以及将与此正规对话相关的数据添加至负载映像表,并更新负载映像表中所记录的对话数目。
Description
技术领域
本发明涉及一种储存服务器的负载控制方法,特别是一种应用于具有多个处理器的iSCSI储存服务器的负载均衡方法。
背景技术
通过iSCSI(Internet Smal l Computer SystemInterface)协议实现的储存服务器产品多种多样,储存服务器可以包含一个或多个储存设备。在储存对话中,请求的发起端被称为启动器(initiator),请求的处理端被称为目标端(Target)。对话(session)的建立分为发现(Discovery)和正规(Normal)两个阶段,使用者通过启动器和服务器建立发现对话来查询储存服务器具有多少个储存设备等基本信息;储存服务器把可以开放给使用者可见的储存设备通过此对话返回给启动器;使用者可以从返回的储存设备中选择一个或多个进行登入,登入成功后,启动器就和特定的储存设备建立了正规对话;使用者即可以通过iSCSI技术对储存服务器进行请求及访问。
请参考图1,其表示了现有技术的方法流程图。启动器发送发现对话登入请求,以查询服务器的储存设备信息(步骤100)。服务器响应发现对话登入请求,发送服务器的所有储存设备的信息,例如:target name=“target1”、target name=“target2”等等(步骤110)。启动器选择进行正规对话登入的一储存设备,发送选择的储存设备名称以进行正规对话登入,例如:target=“target1”(步骤120)。服务器响应正规对话登入请求,发送储存设备登入成功信息至启动器(步骤130),进而启动器与服务器的特定储存设备建立对话,可以对储存设备进行访问。
然而现有技术仍然存有如下诸多缺陷:
1、如果服务器仅具有1个储存设备,当多个启动器通过发现对话查询到此储存设备名称,且通过此储存设备名称建立正规对话,则多个启动器的iSCSI请求集中在此储存设备的iSCSI处理线程。当访问压力增加,处理线程的处理器(CPU)利用率大幅上升,将耗尽系统的CPU资源,导致其它处理线程(例如,磁盘写入等)响应的效率下降,致使系统效能提升困难。
2、如果服务器具有多个储存设备,使用者可以通过发现对话查询到多个储存设备的名称,且可以选择任一储存设备进行登入以建立正规对话。其将造成多个储存设备的负载不均,最极端的状况为全部使用者均和同一储存设备建立正规对话,导致此储存设备的处理线程会耗尽系统的CPU资源,其它储存设备的处理线程处于空闲状态。这种不平均亦为系统效能提升的障碍。
3、如果服务器存在多个CPU,储存设备如何合理利用CPU资源亦存在缺陷。服务器的多个储存设备的处理线程可能集中于同一CPU,当访问压力增大时,此CPU资源会被耗尽,而其它CPU可能处于100%空闲状态。对CPU资源的浪费,亦会阻碍系统的效能提升。
发明内容
为了解决上述现有技术中的问题与缺陷,本发明的目的在于提供一种多处理器的储存服务器的负载均衡方法,用以合理使用服务器的CPU资源,合理分配负载,使服务器的效能达到最佳效果。
本发明所提供的一种多处理器的储存服务器的负载均衡方法,包含:
初始化一虚拟储存设备,并依据该多处理器的数目启动相同数目的多个真实储存设备,且将该多个真实储存设备加入一负载映像表;
响应一发现对话登入请求,发送该虚拟储存设备的信息;
响应针对该虚拟储存设备的一正规对话登入请求,查询该负载映像表;
依据该负载映像表,于该多个真实储存设备中选择一真实储存设备以建立该正规对话;以及
将与该正规对话相关的数据添加至该负载映像表,并更新该负载映像表中所记录的对话数目。
该多处理器通过taskset系统指令与该多个真实储存设备的线程进行绑定。
于该多个真实储存设备中选择一真实储存设备以建立该正规对话的步骤进一步包含:
当该正规对话为第一正规对话时,于该多个真实储存设备中选择任一真实储存设备以建立该正规对话;否则,如果存在具有与该正规对话相同的对话识别的一真实储存设备时,通过该真实储存设备建立该正规对话;以及如果不存在,通过该多个真实储存设备中对话数目最少的一真实储存设备建立该正规对话。
所述的多处理器的储存服务器的负载均衡方法,进一步包含:响应一注销请求,删除与该注销请求对应的对话,并且更新该负载映像表中所记录的对话数目。
综上所述,本发明的优点在于:
1、CPU资源的合理充分利用:每一CPU均绑定一线程,避免CPU使用不均的状况。
2、储存设备负载均衡:使用虚拟储存设备方式把使用者的访问对话集中进行管理,服务器根据每一真实储存设备的负载状况进行对话的合理分配,避免储存设备上负载不均的状况。
3、特殊状态的处理灵活性:储存器区域网络磁盘配接器(SANDA)存在失效切换(failover)和回切(failback)状态,通过采用虚拟储存设备,致使储存设备在两种状态中相同,避免了对这两种状态的特殊处理。
4、扩展的灵活性:通过采用映像虚拟储存设备至真实储存设备的方法,致使服务器对外透露信息减少,服务器管理方式可以多种多样。
附图说明
图1为现有技术的方法流程图;以及
图2为本发明的方法流程图。
具体实施方式
以下,将结合附图对本发明的较佳实施方式作详细说明。
请参考图2,其表示了本发明的方法流程图。
如图2所示,本发明的一种多处理器的储存服务器的负载均衡方法包含如下步骤:服务器启动后,初始化一虚拟储存设备,并依据服务器的CPU数目启动相同数目的真实储存设备,且将真实储存设备加入一负载映像表(步骤200)。其中,虚拟储存设备的数据结构包含真实储存设备列表、全部真实储存设备的iSCSI对话以及虚拟储存设备名称。
真实储存设备的数据结构包含加入到struct v_target->v_list的指标、储存设备识别、储存设备名称、储存设备上活动的对话数目。
正规对话的数据结构包含加入到struct v_target->s_list的指标、对话识别、建立对话的真实储存设备的识别。
当启动器发送一发现对话登入请求时,响应此发现对话登入请求,服务器发送虚拟储存设备的信息至启动器,例如:TargetName=global_target(步骤210)。
接着,启动器针对虚拟储存设备发送一正规对话登入请求,响应此正规对话登入请求,系统查询负载映像表,将虚拟储存设备映像至真实储存设备(步骤220)。
当struct v_target->v_list为空时,说明此正规对话是第一个对话,则可以通过任一真实储存设备建立正规对话(步骤230)。
否则,如果存在具有与此正规对话相同的对话识别的一真实储存设备时,即,此正规对话登入请求的sid存在于struct v_target->s_list中,则通过此真实储存设备建立正规对话,换言之,通过r_session_nfo->owner所指向的真实储存设备建立正规对话(步骤240)。
如果不存在,则依据struct r_target_info->sess_cnt选择真实储存设备,通过sess_cnt最小的真实储存设备,即对话数目最少的真实储存设备建立正规对话(步骤250)。
成功建立正规对话后,将新建立的正规对话的struct r_session_info加入至struct v_target->s_list中,并将建立正规对话的真实储存设备的struct r_target_info->sess_cnt加1(步骤260),用以更新负载映像表中所记录的对话数目。
通过上述步骤,启动器与特定真实储存设备建立了对话,使用者的操作执行于此真实储存设备。服务器采用taskset系统指令来绑定CPU与真实储存设备的线程。
当启动器发送一注销请求,服务器从struct v_target->s_list中删除注销的对话,并将建立对话的真实储存设备的struct r_target_info->sess_cnt减1(步骤270),用以更新负载映像表中所记录的对话数目。
Claims (4)
1.一种多处理器的储存服务器的负载均衡方法,其特征在于,该方法包含以下步骤:
初始化一虚拟储存设备,并依据该多处理器的数目启动相同数目的多个真实储存设备,且将该多个真实储存设备加入一负载映像表;
响应一发现对话登入请求,发送该虚拟储存设备的信息;
响应针对该虚拟储存设备的一正规对话登入请求,查询该负载映像表;
依据该负载映像表,于该多个真实储存设备中选择一真实储存设备以建立该正规对话;以及
将与该正规对话相关的数据添加至该负载映像表,并更新该负载映像表中所记录的对话数目。
2.如权利要求1所述的多处理器的储存服务器的负载均衡方法,其特征在于,该多处理器通过taskset系统指令与该多个真实储存设备的线程进行绑定。
3.如权利要求1所述的多处理器的储存服务器的负载均衡方法,其特征在于,于该多个真实储存设备中选择一真实储存设备以建立该正规对话的步骤进一步包含:
当该正规对话为第一正规对话时,于该多个真实储存设备中选择任一真实储存设备以建立该正规对话;
否则,如果存在具有与该正规对话相同的对话识别的一真实储存设备时,通过该真实储存设备建立该正规对话;以及
如果不存在,通过该多个真实储存设备中对话数目最少的一真实储存设备建立该正规对话。
4.如权利要求1所述的多处理器的储存服务器的负载均衡方法,其特征在于,进一步包含:
响应一注销请求,删除与该注销请求对应的对话,并且更新该负载映像表中所记录的对话数目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810177063 CN101739286B (zh) | 2008-11-19 | 2008-11-19 | 一种多处理器的储存服务器的负载均衡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810177063 CN101739286B (zh) | 2008-11-19 | 2008-11-19 | 一种多处理器的储存服务器的负载均衡方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101739286A CN101739286A (zh) | 2010-06-16 |
CN101739286B true CN101739286B (zh) | 2012-12-12 |
Family
ID=42462806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810177063 Active CN101739286B (zh) | 2008-11-19 | 2008-11-19 | 一种多处理器的储存服务器的负载均衡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101739286B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188083A (zh) * | 2011-12-27 | 2013-07-03 | 华平信息技术股份有限公司 | 基于云计算的网络会议系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1786917A (zh) * | 2004-12-07 | 2006-06-14 | 国际商业机器公司 | 在多处理器数据处理系统中借入线程作为负载平衡的形式 |
CN101256515A (zh) * | 2008-03-11 | 2008-09-03 | 浙江大学 | 多核处理器操作系统负载均衡的实现方法 |
-
2008
- 2008-11-19 CN CN 200810177063 patent/CN101739286B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1786917A (zh) * | 2004-12-07 | 2006-06-14 | 国际商业机器公司 | 在多处理器数据处理系统中借入线程作为负载平衡的形式 |
CN101256515A (zh) * | 2008-03-11 | 2008-09-03 | 浙江大学 | 多核处理器操作系统负载均衡的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101739286A (zh) | 2010-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102549821B1 (ko) | 서버 리소스 할당 방법, 장치, 전자 기기 및 저장 매체 | |
EP2100223B1 (en) | Apparatus and methods of a zero single point of failure load balancer | |
US8762480B2 (en) | Client, brokerage server and method for providing cloud storage | |
US9069835B2 (en) | Organizing data in a distributed storage system | |
CN106936899B (zh) | 分布式统计分析系统的配置方法及分布式统计分析系统 | |
US20150058823A1 (en) | Remote debugging in a cloud computing environment | |
US20130254261A1 (en) | System and Method of Managing Servers for Streaming Desktop Applications | |
WO2016145091A1 (en) | Opportunistic resource migration to optimize resource placement | |
US10728316B2 (en) | Rolling capacity upgrade control | |
WO2013121255A1 (en) | Method for controlling access of clients to a service in a cluster environment | |
CN106331160A (zh) | 一种数据迁移方法及系统 | |
WO2012053393A1 (ja) | 仮想計算機を配置する方法及び装置 | |
KR101499068B1 (ko) | 어플리케이션 공유 서비스 방법 및 이에 적용되는 장치 | |
JP5503678B2 (ja) | ホスト提供システム及びホスト提供方法 | |
CN113032099A (zh) | 云计算节点、文件管理方法及装置 | |
CN112600761A (zh) | 一种资源分配的方法、装置及存储介质 | |
JP2011134219A (ja) | ユーザ環境退避制御システム、装置、方法、及びプログラム | |
KR20150007698A (ko) | 가상 데스크탑 서비스를 위한 부하 분산 시스템 | |
CN106911741B (zh) | 一种虚拟化网管文件下载负载均衡的方法及网管服务器 | |
US10701159B2 (en) | Method and apparatus for implementing device sharing | |
US20130110799A1 (en) | Access to heterogeneous data sources | |
CN101739286B (zh) | 一种多处理器的储存服务器的负载均衡方法 | |
CN114911602A (zh) | 一种服务器集群的负载均衡方法、装置、设备和存储介质 | |
CN112199176A (zh) | 一种业务处理方法、装置及相关设备 | |
US20120166648A1 (en) | Apparatus and method for providing a service through sharing solution providing unit in cloud 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 | ||
ASS | Succession or assignment of patent right |
Owner name: I VALLEY HOLDINGS CO., LTD. Free format text: FORMER OWNER: YINGYEDA CO., LTD., TAIWAN Effective date: 20150723 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150723 Address after: Cayman Islands, George Town Patentee after: IValley Holding Co., Ltd. Address before: Taipei City, Taiwan, China Patentee before: Inventec Corporation |