一种瘦客户端服务器虚拟化方法及虚拟瘦客户端服务器
技术领域
本发明属于一种瘦客户端服务器,尤其涉及一种瘦客户端服务器虚拟化方法。
背景技术
传统的基于客户机/服务器(Client/Server)的模式正面临诸多挑战——系统和数据的安全问题日益突出,设备的增多和计算机应用水平的提高带来更多的管理问题,计算机设备的维护工作量与维护花费与日俱增,因设备使用问题导致的效率损失已不可忽视,IT人员被繁琐的日常维护所困扰,影响工作积极性等等。因而瘦客户机终端模式越来越壮大。
在日常的网络应用当中,存在着这样一些需求,需求一:服务器端需要向很多个瘦客户端提供服务,服务器端通过有线网络或者无线网络接入互联网,向不同的瘦客户端提供服务,其对不同的瘦客户端所提供的服务是相同的(即所完成的功能、所达到的效果是相同的),但这些瘦客户端之间是相互独立的(即瘦客户端之间不知道彼此的存在,互相之间没有任何联系,不会互相影响),服务器端对这些瘦客户端的管理也是相对独立的(即不需要考虑客户端之间的交互问题);或者需求二:一个服务提供及管理系统有多个部件,这些部件是相对独立的,可以为瘦客户端提供某方面的服务,整个系统通过有线网络或者无线网络接入互联网,向不同的瘦客户端提供服务。
现有技术中,要满足前面所述的第一种需求(需求一),一般是把服务器端的管理系统安装到多台独立的物理机器上,每一台独立的物理机器分别对应一个瘦客户端,独立提供服务,进行相应的管理,其逻辑结构示意图如图1所示。
如图1所示,用来提供服务的一个系统被安装在了N台不同的物理机上,各物理机通过有线网络或无线网络接入Internet,同时有N个瘦客户端也通过有线网络或无线网络接入Internet,一个瘦客户端和一台物理机之间建立点对点的连接,即一台物理机只向一个瘦客户端提供服务,一旦建立了这种关系,该物理机和该客户端就紧密地绑定了在一起,而不再与其它物理机或瘦客户端产生任何联系。图1中物理机和客户端之间的虚线,就表示了这种一对一的映射关系。
这种通常的解决方案,其可扩展性很好,当有新的瘦客户端需要接受服务时,只需要简单的增加一台物理机,并安装相关系统软件就可以了,完全不影响整个系统体系的其他部分。但同时,这种解决方案也存在着一些比较令人头痛的问题,比如由于每一个客户端都要对应一台独立的物理机,当服务规模较大时,大量物理机所消耗的电费、所占用的空间,算起来也是一笔很大的开销,而且要对这么多机器进行维护,也不是一件容易的事。
对于第二种需求(需求二),则通常是就把整个服务提供及管理系统安装在一台机器的单个操作系统上,每个部件作为一个进程或线程,相对独立的运行,而整个服务提供及管理系统则作为一个统一的、完整的服务提供方,连接到Internet,向众多的瘦客户端提供各种服务,其逻辑结构示意图如图2所示。
如图2所示,用来提供服务的一个系统被安装在了一台物理机上,这个系统中,包含了n个组件,每个组件可以完成一定的操作,实现一定的功能,为客户提供一种服务。但每个组件不是直接和客户端进行交互的,而是通过服务提供及管理系统来与客户端进行交互的。即在所有客户端看来,只有一个服务提供及管理系统,它们并不知道系统的内部结构,不知道其所需要的服务具体是由哪一个组件提供的。整个服务提供及管理系统通过有线网络或者无线网络连接到Internet,向瘦客户端提供各种服务。各个不同的瘦客户端,也通过有线网络或者无线网络连接到Internet,向该服务提供及管理系统请求某种或某些服务。服务提供及管理系统接收到服务请求后,根据请求内容把请求转交给对应的组件进行处理,处理完毕后,将返回消息发送到客户端。
这种通常的解决方案,在可靠性方面存在着一定的缺陷,由于多个组件运行在同一台物理机的同一个系统中,如果其中的一个组件发生异常,而导致系统崩溃,那么所有其它组件也全都不能提供服务了,即使这些组件本身并没有发生什么问题也罢,这样一来就大大降低了该服务系统的可靠性。
发明内容
基于上述原因,本发明旨在提供一种瘦客户端服务器的虚拟化方法,以可同时满足上文所描述的在日常网络应用中的一些向瘦客户端提供服务的需求,并避免上述缺陷的存在。
本发明的主要目的在于,通过提供一种将瘦客户端服务器虚拟化的方法,使得采用这种方法向瘦客户端提供服务的服务器,同时兼备上文所述的两种需求的常规解决方案的优点,又有效地克服了这两种需求的常规解决方案的缺点,而且,本发明所提供的方法并不仅仅适用于上文所提到的两种具体的需求,也适用于其它一些类似的有关向瘦客户端提供服务的需求。
首先本发明目的在于提供的一种将瘦客户端服务器虚拟化的方法,在应用于需求一时,保持了需求一的常规解决方案的优点,即拥有良好的可扩展性。同时,还有效地解决了需求一的常规解决方案所存在的一些比较令人头痛的问题,即当服务规模较大时,所产生的较大的能源开销、空间占用问题,以及众多机器难以维护的问题。
其次,当本发明提供的一种将瘦客户端服务器虚拟化的方法,在应用于需求二时,可以在达到需求二常规解决方案相同效果的同时,有效地解决需求二的常规解决方案可靠性不高的问题。
综上所述,本发明的所要解决的技术问题在于:
在满足需求一的同时,有效地解决需求一场景中,当服务规模较大时,所产生的较大的能源开销、空间占用问题,以及众多机器难以维护的问题;
在满足需求二的同时,有效地解决需求二的常规解决方案可靠性不高的问题;
在满足其它向瘦客户端提供服务的需求的同时,使其拥有能源开销、空间占用以及可靠性方面的优势。
本发明采用的技术手段为,一种瘦客户端服务器虚拟化方法,该方法包括:
(1)在提供服务的物理服务器上安装虚拟机管理系统;
(2)通过虚拟机管理系统创建数台虚拟机;
(3)在每台虚拟机上安装用来提供服务的相关系统或组件;
(4)配置各虚拟机的网络环境,
其中,虚拟机网络设置可以为每一台虚拟机设置一组对应的公网IP(InternetProtocol,网络互联协议)地址和私人IP地址,使得物理服务器上的虚拟机之间是相互隔离的,而又能向外部提供服务;
(5)将服务器接入Internet,向瘦客户端提供服务,
并且该虚拟机管理系统对各虚拟机的资源进行动态配置。
本发明提供一种虚拟瘦客户端服务器,其包括虚拟机管理系统,数台虚拟机,及数块分别与所述虚拟机对应的虚拟网卡;其中:该虚拟机管理系统管理各虚拟机的建立及对各虚拟机的资源进行动态配置;数块虚拟网卡分别与所述虚拟机一一对应。
该虚拟机管理系统模块的基本功能包括:创建虚拟机、删除虚拟机、动态修改虚拟机配置、控制虚拟机的启动关闭、虚拟机网络设置、服务器网络配置、动态迁移、虚拟机状态监控、虚拟机快照。
其中,创建虚拟机可以通过手动设定虚拟机配置来创建,也可以通过虚拟机模板来创建;可以一次创建一台虚拟机,也可以一次进行批量创建。其中,通过虚拟机模板创建虚拟机,可以方便快速的生成多台具有相同配置、可提供相同的应用服务的虚拟机。
通过虚拟机管理系统,在物理服务器上模拟出多台独立的用于提供服务的机器,并在这些机器上安装服务应用,配置好网络,通过Internet向瘦客户端提供各种服务。其实现的方法包括以下步骤:
(1)在提供服务的物理服务器上安装虚拟机管理系统,该系统提供了管理虚拟机的基本功能;
(2)通过虚拟机管理系统创建所需要数目的虚拟机;
(3)在每台虚拟机上安装用来提供服务的相关系统或组件;
(4)对虚拟机的网络环境进行配置;
(5)将服务器接入Internet,向瘦客户端提供服务。
本发明的有益技术效果在于:现有的满足需求一的解决方案,虽然可扩展性很好,但在服务规模较大时,其能源消耗和占用空间,以及可维护性就成了一个令人头痛的问题。而本发明所提供的方法,则不仅同样保持了良好的扩展性,还很好的解决了现有方案中存在的令人头痛的问题。我们都明白,把十多台500瓦功率的台式机换为一台2000瓦功率的服务器,这样会节约很多电力和制冷费用。同样把几百台工作站缩减为几台服务器也会进一步缩短我们的电费清单,还能降低总体的维修和替换成本。而总体电力消耗大幅下降之后,所有由硬件产生的热量也会相应下降,直接导致空调电费的降低。现有的满足需求二的解决方案,当某一个组件产生异常而导致系统崩溃时,其它工作正常的组件也同样不能再向瘦客户端提供服务了,也就是说,在系统进行维修恢复的期间内,整个服务系统的全部服务都将中断。而本发明所提供的方法,则使得服务系统的不同组件之间相互独立,某一个组件产生异常导致系统崩溃并不会使整个服务系统的服务全部中断,那些工作正常的组件仍然可以向瘦客户端提供服务,这样就提升了服务系统的可靠性。
附图说明
图1为现有解决需求一的方案示意图;
图2为现有解决需求二的方案示意图;
图3为本发明解决需求一的方案示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明基于虚拟化技术,包含一个虚拟机管理系统,通过这个虚拟机管理系统,在物理服务器上模拟出多台独立的用于提供服务的相关系统或组件,并在这些系统或组件上安装服务应用,配置好网络,通过Internet向瘦客户端提供各种服务。
下面结合图3,以需求一为应用场景对本发明做进一步说明,但本发明并不局限于下面的实施例。
为了将本发明提供的方法应用于需求一,首先需要在物理服务器1上安装虚拟机管理系统2。安装好虚拟机管理系统2之后,就可以通过该管理系统在物理服务器上创建虚拟机3。虚拟机的配置完全可以根据用户的需要来设定,在所提供的服务对机器的性能要求不高时,可以创建一系列低配置的虚拟机,如较小的内存容量,较小的磁盘空间;而在所提供的服务对机器的性能要求较高时,则可以创建一系列较高配置的虚拟机,如多CPU,较大的内存容量,较大的磁盘空间。这种创建不同配置虚拟机的灵活性,也使得资源利用率得到了提高,因为这种方式是按需使用资源,一般不易出现资源被闲置浪费的情况。同时,当确实发现某一资源的利用率不高时,还可以通过虚拟机管理系统对虚拟机的资源进行动态配置,把这一部分被闲置的资源分配给更需要这些资源的地方,这样就可以在很大程度上优化资源的使用率。
创建好所需的虚拟机以后,在所有虚拟机上安装用来提供服务的应用程序。在需求一中,每一个客户端对应一个独立的服务端,由固定的服务端提供点对点的服务,在本实施例中,一个客户端7就和一个虚拟机3对应,某一确定的客户端通过访问对应虚拟机的IP来获取服务。虽然每一台虚拟机都有一个虚拟网卡4,但由于虚拟机的所有网络交互(收发包),实际上最终都是通过物理服务器1上的物理网卡5来完成的,所以需要通过虚拟机管理系统2来对虚拟机的网络进行配置,以便对某一虚拟机的网络访问请求在到达物理网卡5后,能够被正确地转发到该虚拟机的虚拟网卡4。在本实施例中,物理服务器上的每一个虚拟机都处于不同的VLAN(VirtualLocalAreaNetwork,虚拟局域网)中,这样就可以实现虚拟机之间的相互隔离(不同VLAN中的节点是不可见的)。同时,每一个虚拟机都对应一个独立的公网IP(PublicIP)和一个VLAN中的私人IP(PrivateIP),外部的客户端可以通过访问虚拟机的公网IP来获取服务,服务请求在到达物理服务器的网卡后,经过目标地址转换,交由对应的虚拟机来进行处理。
物理服务器1上的安装配置工作完成以后,就可以把物理服务器1通过有线或无线的方式接入到Internet6中,而客户端7也就可以通过有线或无线的方式接入到Internet6中,对物理服务器1中的虚拟机进行访问,而获取服务了。
虚拟机管理系统2会随时监控所有的虚拟机的状态,当发现某个虚拟机持续(这里的持续指的是超过了用户定义的某一个时间长度)出现负载过重,虚拟机的资源吃紧的情况时,虚拟机管理系统2可以根据已定义的虚拟机模板,自动创建一个拥有更多资源的新虚拟机,然后通过动态迁移功能,将原有虚拟机上的内容迁移到新创建的虚拟机上,将原有虚拟机的公网IP和私人IP都转移给新创建的虚拟机,由新创建的虚拟机来继续为特定的客户端提供服务,切换工作完成之后,将原有虚拟机注销,以便释放其所占用的资源加以重新利用。
对于没有实时性要求的服务,虚拟机管理系统2还可以在某一虚拟机当机之后,即虚拟机崩溃了,无法响应的时候,创建一个和已崩溃虚拟机具有相同配置的新虚拟机,在其上重新安装所需的服务应用程序,将已崩溃的虚拟机的公网IP和私人IP都转移给新创建的虚拟机,将已崩溃的虚拟机注销,其服务交由新建的虚拟机来继续提供。
本发明仅以需求一为应用场景对一种瘦客户端服务器的虚拟化方法进行了说明,但将本发明的所提供的方法应用于需求二,其过程和步骤也是类似的,事实上其它一些类似的有关向瘦客户端提供服务的需求都在本发明解决的范围之内。该方法可使一台或多台物理机经过虚拟化后可转化为一对一地为瘦客户端提供服务,或是一个由多个独立模块组成的系统为瘦客户端提供服务,其中各虚拟网卡可建立在同一个物理网卡之上也可建立在多个不同的物理网卡上。而且该方法借助该虚拟化方法仅需一个或多个服务器,而不需要配置其它额外的硬件资源,即可实现。