首页> 中国专利> Linux虚拟服务器配置方法和系统

Linux虚拟服务器配置方法和系统

摘要

本发明涉及一种Linux虚拟服务器配置方法和系统,其中,Linux虚拟服务器配置系统包括:LVS、用户接口模块、AAA客户端和指令翻译模块;用户接口模块用于将接收的配置指令信息发送给AAA客户端,在接收到AAA客户端返回的授权结果表示所述配置指令信息授权成功时,向指令翻译模块发送成功授权的配置指令信息;AAA客户端用于将配置指令信息发送给AAA服务器,将AAA服务器返回的授权结果发送给用户接口模块;指令翻译模块用于将成功授权的配置指令翻译成LVS支持的操作指令,并执行或通知LVS执行与操作指令相应的配置操作。本发明提高了用户维护包括有LVS的网络系统的方便性。

著录项

  • 公开/公告号CN101908967A

    专利类型发明专利

  • 公开/公告日2010-12-08

    原文格式PDF

  • 申请/专利权人 百度在线网络技术(北京)有限公司;

    申请/专利号CN200910086114.1

  • 发明设计人 周文旭;张诚;

    申请日2009-06-02

  • 分类号H04L12/24;H04L9/32;

  • 代理机构北京同立钧成知识产权代理有限公司;

  • 代理人刘芳

  • 地址 100080 北京市海淀区北四环西路58号理想国际大厦12层

  • 入库时间 2023-12-18 01:18:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-02-19

    授权

    授权

  • 2012-05-02

    实质审查的生效 IPC(主分类):H04L12/24 申请日:20090602

    实质审查的生效

  • 2010-12-08

    公开

    公开

说明书

技术领域

本发明涉及计算机网络技术,特别是涉及一种Linux虚拟服务器配置方法和系统。

背景技术

Linux虚拟服务器(Linux Virtual Server,简称LVS)集群技术是一种基于IP层和基于内容请求分发的负载平衡调度解决方法,可将一组物理服务器构成一个具有良好的可伸缩性(Scalability)、可靠性(Reliability)和可管理性(Manageability)的虚拟的服务器集群系统。LVS集群系统从体系结构上看是透明的,最终用户只感觉到一个虚拟服务器。物理服务器之间可以通过高速的局域网(local area network,简称LAN)或分布在各地的广域网(Wide Area Ne twork,简称WAN)相连;置于LVS集群系统最前端是负载调度器,它负责将各种服务请求分发给后面的物理服务器,让整个集群表现得像一个服务于同一IP地址的虚拟服务器。

LVS可实现负载均衡网络设备的功能,但LVS的配置管理方法与网络设备的通用配置方法存在较大差异,采用现有网络设备的通用配置方法无法实现LVS的配置管理,例如:LVS通过修改文件的方式修改自身配置,各项修改都是基于一个或多个配置文件,因此无法针对单项配置进行用户授权;当LVS系统中增加一台LVS时,需要在新增的LVS上添加现有的所有用户信息。而网络设备通常通过命令行修改配置信息,可对单项配置进行用户授权,新增的网络设备无需增加用户信息等。

通过上述分析可知,现有技术中LVS的配置方法与网络设备的通用配置方法存在较大差异,为网络维护工作带来了不便。

发明内容

本发明提供一种Linux虚拟服务器的配置方法和系统,用以提高用户维护包括有Linux虚拟服务器的网络系统的方便性。

本发明提供了一种Linux虚拟服务器配置系统,包括Linux虚拟服务器,还包括:用户接口模块、认证授权计费客户端和指令翻译模块;

所述用户接口模块用于将接收的配置指令信息发送给所述认证授权计费客户端;在接收到所述认证授权计费客户端返回的授权结果表示所述配置指令信息授权成功时,向所述指令翻译模块发送成功授权的配置指令信息;

所述认证授权计费客户端用于将所述用户接口模块发送的所述配置指令信息发送给认证授权计费服务器,以供所述认证授权计费服务器对所述配置指令信息进行授权处理;将所述认证授权计费服务器返回的授权结果发送给所述用户接口模块;

所述指令翻译模块用于将所述用户接口模块发送的所述成功授权的配置指令翻译成所述Linux虚拟服务器支持的操作指令,并执行或通知所述Linux虚拟服务器执行与所述操作指令相应的配置操作。

本发明还提供了一种Linux虚拟服务器配置方法,包括:

接收配置指令信息;

将所述接收的配置指令信息发送给认证授权计费服务器,以供所述认证授权计费服务器对所述配置指令信息进行授权处理;

将成功授权的配置指令翻译成Linux虚拟服务器支持的操作指令,并对所述Linux虚拟服务器执行与所述操作指令相应的配置操作。

本发明可将Linux虚拟服务器的配置管理纳入到标准网络设备的管理体系中,采用类似标准网络设备的通用配置方法对Linux虚拟服务器进行配置管理,因而提高了用户,如网络管理人员进行包含有Linux虚拟服务器的网络系统的维护方便性,并提高了网络安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明第一实施例提供的LVS配置系统结构图;

图2为本发明第二实施例提供的LVS配置方法流程图;

图3为本发明第三实施例提供的LVS配置方法信令交互图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明第一实施例提供的LVS配置系统结构图。如图1所示,本实施例LVS配置系统包括:LVS11、用户接口模块12、认证授权计费(Authentication Authorization Accounting,简称AAA)客户端(即AAA客户端13)和指令翻译模块14;用户接口模块12分别与AAA客户端13和指令翻译模块14连接,指令翻译模块14与LVS11连接。

LVS11采用IP负载均衡技术和基于内容请求分发技术实现负载均衡。需要说明的是,本发明中,LVS的具体结构不受限制,如:LVS11可包括负载调度器(load balancer)、服务器池(server pool)和共享存储(shared storage)区。负载调度器是整个集群对外面的前端机,负责将用户的请求发送到一组物理服务器上执行,而用户则认为服务是来自一个IP地址(可称之为虚拟IP地址)上。服务器池是一组真正执行用户请求的物理服务器。共享存储区为服务器池提供一个共享的存储区,从而使得服务器池拥有相同的内容,可提供相同的服务。在LVS中,负载调度器将用户请求均衡地转移到不同的物理服务器上执行,且自动屏蔽掉服务器的故障,从而将一组物理服务器构成一个高性能的、高可用的虚拟服务器。整个LVS的结构对用户而言是透明的。

用户接口模块12用于将接收的配置指令信息发送给AAA客户端13;在接收到AAA客户端13返回的授权结果表示配置指令信息授权(Authorization)成功时,向指令翻译模块14发送成功授权的配置指令信息。

AAA客户端13与系统外部的AAA服务器15连接,用于将用户接口模块12发送的配置指令信息发送给AAA服务器15,以供AAA服务器15服务器对配置指令信息进行授权处理;将AAA服务器15返回的授权结果发送给用户接口模块12。

指令翻译模块14用于将用户接口模块12发送的成功授权的配置指令翻译成LVS11支持的操作指令,并执行或通知LVS11执行与该操作指令相应的操作。

在上述技术方案的基础上,为了在LVS配置系统进一步引入用户鉴权机制,还可对用户接口模块12和AAA客户端13的功能进行扩展:

用户接口模块12还用于将接收的用户身份信息发送给AAA客户端13;在接收到的授权结果表示用户身份信息认证(Authentication)成功时,向AAA客户端13发送与成功认证的用户身份信息相应的用户发送的配置指令信息。

AAA客户端13用于将用户接口模块12发送的用户身份信息发送给AAA服务器15,以供AAA服务器15对用户身份信息进行认证。

通过上述技术方案的分析可见,用户接口模块12为用户提供了与LVS配置系统交互的接口,用户通过用户接口模块12可输入用于配置LVS的配置指令;进一步的,用户接口模块12还可作为对用户进行认证处理、授权和计费的入口,用户接口模块12只有对成功认证的用户身份信息相应的用户输入的配置指令信息进行后续处理;且配置指令授权成功,用户接口模块12才会将成功授权的配置指令发送给指令翻译模块14,使之进行指令翻译并执行相应配置操作。

为了实现对LVS的用户登录进行控制,和/或对用户输入的配置指令进行细粒度地授权,可将LVS纳入到网络设备用户统一管理体系中。本实施例通过在LVS配置系统中增设AAA客户端,使得LVS配置系统通过AAA客户端可与AAA服务器交互,以完成对用户的身份信息的认证处理和/或用户输入的配置指令信息的授权等处理。

上述技术方案中,指令翻译模块14可进一步包括:存储单元141和翻译单元142和配置单元143。

存储单元141用于存储合法配置指令与LVS支持的操作指令之间的映射关系。

翻译单元142用于根据存储单元141存储的映射关系,将成功授权的配置指令,即合法配置指令翻译成LVS支持的相应的操作指令。翻译单元142在接收到成功授权的配置指令之后,可查询存储单元141存储的映射关系,得到该配置指令对应的操作指令,即动作。

配置单元143可用于对LVS11执行与上操作指令相应的配置操作,或者,配置单元143可用于将操作指令发送给LVS11,以供LVS11执行与上述操作指令相应的配置操作。

本实施例通过在LVS配置系统中通过引入用户接口模块提供了类似网络设备的用户接口,通过引入AAA客户端为用户身份认证和/或配置指令授权处理提供AAA协议支持,并通过引入指令翻译模块根据成功授权的配置指令对LVS进行相应的配置操作或通知LVS进行相应的配置操作,因此,本实施例可将LVS的配置管理纳入到标准网络设备的管理体系中,采用类似标准网络设备的通用配置方法对LVS进行配置管理,因而提高了用户,如网络管理人员进行包含有LVS的网络系统的维护方便性,并提高了网络安全性。

图2为本发明第二实施例提供的LVS配置方法流程图。如图2所示,本实施例LVS配置方法包括:

步骤21、接收配置指令信息。

步骤22、将配置指令信息发送给AAA服务器,以供AAA服务器对配置指令信息进行授权处理。

步骤23、将成功授权的配置指令翻译成LVS支持的操作指令,并对LVS执行与操作指令相应的配置操作。

本实施例的实施主体可为用于对LVS进行配置管理的配置系统,其主要目的是将现有的LVS“封装”成标准网络设备,使得“封装”后的LVS具有与用户交互的接口,支持AAA协议,并提供用户输入的配置指令与LVS支持的操作指令之间的翻译功能,因而提高了用户,如网络管理人员进行包含有LVS的网络系统的维护方便性,并提高了网络安全性。

举例说明:假设LVS中集成有用户态的守护程序,如:Keepalived程序,该程序用于提高LVS的健壮性,提供LVS包括的服务器池中各物理服务器的健康检查,以及为LVS包括的负载均衡调度器提供抗灾容错功能等。Keepalived程序的配置信息保存在配置文件中,如:Keepalived程序的配置信息保存在配置文件“/etc/keepalived/keepalived.conf”中,配置文件保存的配置信息可包括:健康检查的时间间隔信息、VRRP优先级等程序自身运行所需的参数,此外,还可包括虚拟服务地址、虚拟服务对应的LVS中物理服务器的地址等LVS参数。

发明人在实现本发明过程中发现,现有技术进行集成有Keepalived程序的LVS的配置管理方法包括用户登录LVS,运行Keepalived程序,使用编辑器修改配置文件“/etc/keepalived/keepalived.conf”,之后保存修改后的配置文件并指示keepalived程序重新加载修改后的配置文件。由此可见,现有技术对于LVS配置参数的修改是基于配置文件进行的手动修改,无法对单项配置进行授权,也无法实现基于用户配置指令的修改操作,与现有标准网络设备的通用配置方法存在较大差异,给用户,如网络管理人员进行网络维护带来较大不便。由于基于本实施例提供的方法配置LVS,可将LVS的配置管理纳入到标准网络设备的管理体系中,采用类似标准网络设备的通用配置方法对LVS进行配置管理,因而可实现对单项配置进行授权;当网络系统中新增LVS时,新增的LVS上也无需增加用户信息,而是通过AAA服务器上的用户信息即可实现用户操作,因而提高了网络扩容的方便性,下面参照图3对集成有Keepalived程序的LVS的配置方法进行详细说明。

图3为本发明第三实施例提供的LVS配置方法信令交互图。本实施例LVS配置系统可参见图1所示的系统。如图3所示,本实施例LVS配置方法包括:

步骤31、客户端向用户接口模块发送登录(Login)请求,该登录请求中携带有用户身份信息。

用户可使用客户端,如通信方式上遵循安全外壳协议(ssh)或TCP/IP终端仿真协议(telnet)的客户端连接到向LVS配置系统,向LVS配置系统的用户接口模块发送登录请求,该登录请求中携带有用户身份信息,该用户身份信息可包括用户名和密码等。

步骤32、用户接口模块向AAA客户端发送登录请求,该登录请求中携带有用户身份信息。

用户接口模块在接收到客户端发送的登录请求后,获取该登录请求中的用户身份信息,将用户身份信息携带在登录请求中发送给AAA客户端,用于请求AAA客户端对该登录请求中的用户身份信息进行认证处理。

步骤33、AAA客户端向AAA服务器发送认证(Authentication)请求,该认证请求中包括用户身份信息。

AAA客户端解析接收到的登录请求,获得该登录请求中携带的用户身份信息,并将获得的用户身份信息封装成遵循AAA实现协议的认证请求,如遵循终端访问控制器访问控制系统(Terminal Access Controller Access-Control System Plus,简称TACACS+)协议的认证请求,将认证请求发送给AAA服务器,用于请求AAA服务器对该认证请求中包括的用户身份信息进行认证处理。

步骤34、AAA服务器对认证请求中包括的用户身份信息进行认证处理,并将认证结果发送给AAA客户端。

AAA服务器上预先存储有合法用户信息。当AAA服务器接收到AAA客户端发送的认证请求时,根据预先存储的合法用户身份信息对认证请求中包括的用户身份进行认证处理,如对用户名和密码进行有效性认证,并将认证结果封装成遵循AAA实现协议的数据包,如遵循TACACS+协议的数据包发送给AAA客户端。如果认证结果表明该用户身份信息认证成功时,AAA服务器向AAA客户端发送的认证结果可包括:登录成功的通知信息,或用户所拥有的权限信息等。如果认证结果表明该用户身份信息认证失败时,AAA服务器向AAA客户端发送的认证结果可包括:登录失败的通知信息等。

步骤35、AAA客户端接收AAA服务器发送的认证结果,并将接收到认证结果发送给用户接口模块;该认证结果可携带在登录返回消息中发送给用户接口模块。

AAA客户端对AAA服务器发送的遵循AAA实现协议的数据包进行解析,得到该数据包包括的认证结果,并将认证结果发送给用户接口模块。

步骤36、用户接口模块向客户端发送与认证结果相应的提示信息,该认证结果相应的提示信息可携带在登录返回消息中发送给客户端。

如果认证结果表明用户身份信息认证失败时,用户接口模块向客户端发送的提示信息可为“登录失败”;该情形下,用户接口模块拒绝向该用户提供服务,结束本流程。

如果认证结果表明用户身份信息认证成功时,用户接口模块向客户端发送的提示信息可为“登录成功”;该情形下,用户接口模块等待用户基于客户端输入的配置指令信息,执行步骤37。

步骤37、客户端向用户接口模块发送指令(Command)执行请求,该指令执行请求包括用户希望执行的配置指令信息。

用户可将自身希望执行的配置指令信息封装在指令执行请求中,并将该指令执行请求通过客户端发送给用户接口模块。

步骤38、用户接口模块向AAA客户端发送指令授权请求,该指令授权请求中用户希望执行的配置指令信息。

用户接口模块在接收到客户端发送的指令执行请求后,获取该指令执行请求中的配置指令信息,将配置指令信息携带在指令授权请求中发送给AAA客户端,用于请求AAA客户端对该指令授权请求中的配置指令信息进行授权处理。

步骤39、AAA客户端向AAA服务器发送指令授权(Authorization)请求,该指令授权请求中包括用户希望执行的配置指令信息。

AAA客户端解析接收到的指令授权请求,获得该指令授权请求中携带的配置指令信息,并将获得的配置指令信息封装成遵循AAA实现协议的指令授权请求,如遵循TACACS+协议的指令授权请求,将指令授权请求发送给AAA服务器,用于请求AAA服务器对该指令授权请求中包括的配置指令信息进行授权处理。

步骤310、AAA服务器对指令授权请求中包括的配置指令信息进行授权处理,并将授权结果发送给AAA客户端;该授权结果可携带在指令授权返回消息中发送给AAA客户端。

AAA服务器上预先存储有Keepalived程序支持的合法指令信息。当AAA服务器接收到AAA客户端发送的指令授权请求时,根据预先存储的合法指令信息对指令授权请求中包括的配置指令信息进行授权处理,并将授权结果封装成遵循AAA实现协议的数据包,如遵循TACACS+协议的数据包发送给AAA客户端。如果授权结果表明该配置指令信息授权成功时,AAA服务器向AAA客户端发送的授权结果可包括:指令授权成功的通知信息等。如果授权结果表明该配置指令信息授权失败时,AAA服务器向AAA客户端发送的授权结果可包括:指令授权失败的通知信息等。

步骤311、AAA客户端接收AAA服务器发送的授权结果,并将接收到授权结果发送给用户接口模块;授权结果可携带在指令授权返回消息中发送给用户接收模块。

AAA客户端对AAA服务器发送的遵循AAA实现协议的数据包进行解析,得到该数据包包括的授权结果,并将授权结果发送给用户接口模块。

步骤312、用户接口模块接收授权结果,根据授权结果进行相应处理;例如:如果认证结果表明配置指令信息授权成功时,用户接口模块向指令翻译模块发送指令解析执行请求,该指令解析执行请求中包括成功授权的配置指令信息,执行步骤313;如果认证结果表明配置指令信息授权失败时,用户接口模块生成与授权失败信息相应的提示信息,发送给客户端并拒绝执行该条指令,之后,用户接口模块可等待用户输入下一条配置指令。当用户接口模块接收到用户输入的新配置指令时,可对该新配置指令重复执行步骤37~步骤312(图3未示出)。

步骤313、指令翻译模块解析用户接口模块发送的指令解析执行请求,如果解析成功,可得到配置指令信息,并将解析得到的配置指令翻译成LVS支持的操作指令信息,向LVS发送执行命令,用于指示LVS执行与操作指令相应的动作,执行步骤314。如果指令翻译模块解析失败,则向用户接口模块发送解析失败的通知信息,由用户接口模块将解析失败的结果通知给用户(图3未示出)。

步骤314、LVS执行与接收的操作指令相应的动作,并将执行结果发送给指令翻译模块。

指令翻译模块上可预先存储合法配置指令与Keepalived程序支持的操作指令之间的映射关系,根据该映射关系,将成功授权的配置指令,即合法指令翻译成相应的操作指令,并对LVS进行与操作指令相应的配置操作。

举例说明一:指令翻译模块接收的配置指令为“删除虚拟服务XXX指令”,指令翻译模块则根据预先存储的映射关系,将该配置指令翻译成相应的操作指令,如“删除Keepalived程序配置文件中关于虚拟服务XXX的一段内容”,将翻译后的操作指令发送给LVS。LVS根据该操作指令调用Keepalived程序配置文件,并删除该配置文件中关于虚拟服务XXX的相应内容。LVS删除Keepalived程序配置文件中关于虚拟服务XXX的相应内容后,将删除完成的执行结果发送给指令翻译模块。

举例说明二:指令翻译模块上存储的合法配置指令与LVS支持的操作指令之间的映射关系示例可如表1所示:

表1合法配置指令与操作指令之间的映射关系示例

  合法指令名称  函数  参数  操作指令(动作)  改名  Name(X,Y)  X=A,Y=B  将X修改为Y

表1中,假设某一经过AAA服务器成功认证的合法用户输入的、且经过AAA服务器成功授权的合法指令为改名指令“Name(X,Y)”,X用于表示LVS中某一物理服务器的当前名称,如当前名称X为“A”;改名指令“Name(X,Y)”对应的操作指令为“将X修改为Y”,即将当前名称为X的物理服务器的名称修改为Y,如更改后的名称Y为“B”。

指令翻译模块接收的配置指令为“改名”,指令翻译模块则根据表1所示的映射关系,将该配置指令翻译成LVS支持的相应操作指令,如“将某一物理服务器的名称X修改为Y”,将翻译后的操作指令发送给LVS以使LVS执行与该上述操作指令相应的配置操作,或者,指令翻译模块可对LVS执行与上述操作指令相应的配置操作。

由于LVS的配置信息可记录配置文件上,因此,可通过LVS自身或者由指令翻译模块对LVS配置信息进行修改。对于LVS自身修改配置信息的情形,LVS可根据该操作指令调用Keepalived程序配置文件,并修改该配置文件中关于该物理服务器的名称。LVS更改Keepalived程序配置文件中相应物理服务器的名称后,将改名完成的执行结果发送给指令翻译模块。对于指令翻译模块对LVS配置信息进行修改的情形,相当于指令翻译模块访问LVS,并调用LVS上的Keepalived程序配置文件,改该配置文件中关于该物理服务器的名称。

步骤315、指令翻译模块将执行结果发送给用户接口模块,该执行结果可携带在指令解析执行返回消息中发送给用户接口模块。

步骤316、用户接口模块将接收的执行结果以可读的形式反馈给客户端。

通过上述分析可知,本实施例可采用类似于标准网络设备的配置方法,对于集成有Keepalived程序的LVS进行配置管理,具有如下优点:

(1)统一的接口形式:与标准网络设备一致形式的用户接口,有利于降低网络管理人员进行网络维护的成本;

(2)方便的用户管理:引入AAA认证机制,无需每台服务器都建立用户,只需要在AAA服务器侧创建用户即可;

(3)简单的操作:基于指令实现LVS的配置,降低配置操作的复杂性,及误操作几率;

(4)引入了指令的授权机制:引入AAA认证,实现用户指令级别的授权,有利于提高操作的安全性;

(5)服务的灵活性:经过对LVS的“封装”,提高了服务程序的灵活性,虽然本实施例以LVS集成Keepalived程序为例说明LVS的配置方法,但本领域技术人员可以理解,本发明技术方案还适用于集成有其他服务程序的LVS,此时,只需要相应修改指令翻译模块上存储的合法配置指令与新的服务程序支持的操作指令之间的映射关系即可,实现方式非常灵活并对用户完全透明。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号