在多机集群系统中实现操作系统升级的方法及装置 【技术领域】
本发明涉及一种操作系统的升级方法及其装置,尤其涉及一种在多机环境的集群系统中升级操作系统的方法及其装置。
背景技术
多机集群系统是指多个相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理,此单一系统为客户端提供高可靠性的服务。系统的高可靠性(High Availability)是用户所关注的一个重要指标,因此集群技术得以广泛研发和应用,以保证系统能够提供7×24小时不间断服务。
但是,现有的多机集群系统下,有些情况下仍不可避免地会出现服务中断,例如操作系统升级,甚至将系统运行平台由32位升级到64位都是会引起服务中断的情况之一,因为升级操作系统或运行平台需要更新相应配置,之后再重新启动系统,这些操作必然要求系统内核被重新加载。同时,由于诸如WindowsXP、Vista等大的版本升级时,格式和配置等很多因素存在着版本差异,因此加大的升级的复杂性。相应地,复杂的操作系统升级过程更造成较长时间的服务中断,对客户端用户带来不便。
【发明内容】
本发明的目的旨在解决现有技术中的上述问题。
为此,本发明的实施例提出一种在不中断客户端服务的同时实现多机群集系统的操作系统升级的方法及其装置。
本发明提出一种在多机集群系统中实现操作系统升级的方法,包括以下步骤:选择所述多机集群系统其中一个服务器来接收由客户端传输的操作系统升级包;从所述服务器上触发接管操作,以释放所述服务器的设备和服务由所述多机集群系统的其它服务器接管;运行所述操作系统升级包,并升级所述服务器的操作系统;从所述服务器传输所述操作系统升级包到所述多机集群系统的另一待升级服务器;以及对待升级服务器进行设备和服务释放、操作系统升级以及升级后所述操作系统升级包传输,直至所述多机集群系统的所有服务器的操作系统升级完成。
根据本发明进一步的实施例,所述选择服务器为对应流量最小的服务器来接收由客户端传输的操作系统升级包。
根据本发明进一步的实施例,升级所述多机集群系统的服务器的操作系统还包括以下步骤:将服务器中的原有配置文件转移到一固定位置;释放所述操作系统升级包中新的配置文件;根据所述新配置文件对所述原有配置文件进行格式转换;以及运行所述操作系统升级包中的操作系统文件。
根据本发明进一步的实施例,还包括在所述多机集群系统的服务器完成升级后,自动恢复由其它服务器接管的原有设备和服务到对应的服务器上。自动恢复所述原有设备和服务时可根据所述服务器的操作系统升级版本对所述原有设备和服务进行转换。
根据本发明进一步的实施例,所述多机集群系统的已升级服务器在接管待升级服务器释放的设备和服务时包括,根据所述已升级服务器的操作系统升级版本对所述待升级服务器释放的设备和服务进行转换。
同时,本发明提出一种在多机集群系统中实现操作系统升级的装置,包括选择程序、接管程序、升级程序以及传输程序。选择程序用于从所述多机集群系统中选择一个服务器来接收由客户端传输的操作系统升级包;接管程序用于从所述服务器上触发接管操作,以释放所述服务器的设备和服务由所述多机集群系统的其它服务器接管;升级程序用于运行所述操作系统升级包,并升级所述服务器的操作系统;和传输程序用于从所述服务器传输所述操作系统升级包到所述多机集群系统的其它待升级服务器。
根据本发明进一步的实施例,所述选择程序会选择所述多机集群系统中对应流量最小的服务器来接收由客户端传输的操作系统升级包。
根据本发明进一步的实施例,所述升级程序还执行以下操作:将服务器中的原有配置文件转移到一固定位置;释放所述操作系统升级包中新的配置文件;根据所述新配置文件对所述原有配置文件进行格式转换;以及运行所述操作系统升级包中地操作系统文件。
根据本发明进一步的实施例,还包括自动恢复程序,用于在所述多机集群系统的服务器完成升级后,将其它服务器接管的原有设备和服务自动恢复到对应的服务器上。所述自动恢复程序可根据所述服务器的操作系统升级版本对所述原有设备和服务进行转换。
根据本发明进一步的实施例,所述接管程序在释放待升级服务器的设备和服务到已升级服务器时,根据所述已升级服务器的操作系统升级版本对所述释放设备和服务进行转换。
本发明通过对集群环境下未升级操作系统的服务器的当前服务和设备释放及相应接管,从而能够在对外服务不中断的情况下,实现对该环境中所有的系统进行操作系统升级,因此向客户端用户提供稳定可靠的服务。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
本发明的上述和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例用于多机集群系统的操作系统升级装置的结构示意图;
图2为本发明实施例用于多机集群系统的操作系统升级的方法流程图;
图3为本发明实施例的操作系统升级步骤流程图;以及
图4为本发明实施例的服务器设备和服务自动恢复步骤流程图。
【具体实施方式】
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
首先,请参考图1,该图示出了本发明实施例用于多机集群系统的操作系统升级装置的结构。
如图1所示,服务器端多机集群系统30包括一组机器(S1,S2,…Sn),从而构成集群环境。多机集群系统30的每一台服务器通过以太网、光纤信道等方式与外部网络20相连,其中客户端10的用户通过外部网络20访问该多机集群系统30。集群环境下的多个服务器(S1,S2,…Sn)之间可以具有单独的连接通道,以用于内部交换数据。例如,图1实施例中所示InterLink(互联),可能为以太网(Ethernet)、串行连接SCSI(SAS)连接或其它连接方式。或者它们之间的数据交换也可以通过外部网络进行。
另外,如图所示,多机集群系统30还包括选择程序302、接管程序304、升级程序306和传输程序308。其中选择程序302可运行于集群中的一个主服务器上,接管程序304、升级程序306和传输程序308可分别运行于各个服务器(S1,S2,…Sn)中,从而这些程序构成多机集群系统30的操作系统升级装置。下面,将结合图1对用于多机集群系统30的操作系统升级装置的实施例做出详细说明。
当需要对多机集群系统30的各个服务器(S1,S2,…Sn)进行操作系统版本升级时,客户端10通过外部网络20向多机集群系统30发送操作系统升级包,其中该操作系统升级包中包括新的操作系统、新的配置文件以及升级工具。运行于主服务器上的选择程序302用于从多机集群系统30中选择一个服务器来接收由客户端10传输的操作系统升级包。选择程序302根据各个服务器(S1,S2,…Sn)的流量大小来选择接收升级包的服务器,通常选择的服务器为对应流量最小的服务器,从而最大程度地减小对集群系统30的影响。下面,为方便描述,例如假设选择的服务器为S1。
接管程序304用于根据选择程序302选择的服务器S1,从服务器S1上触发接管操作,以释放服务器S1上的设备和服务被多机集群系统30中其它服务器接管。这里,接管服务器可以是一台或者多台,它们之间有着共同的存储器。这时如果客户端10存在对服务器S1的服务访问,则转由接管服务器提供相应的服务,当前服务不会停止。
升级程序306用于运行服务器S1上接收的操作系统升级包,并执行服务器S1的操作系统升级。升级程序306首先运行操作系统升级包中的升级工具,并在运行安装新版本操作系统文件之前,将服务器S1中的原有的配置文件转移到固定地点(例如集群系统中共用的一储存设备)进行保留。然后释放操作系统升级包中新的配置文件,并将新旧配置文件解译到新的文件中,以根据新配置文件对原有配置文件进行格式转换。完成这一操作后,升级程序306将升级包中的操作系统文件解包,运行并安装,重启服务器S1,从而完成对该服务器的操作系统升级。
传输程序308用于将操作系统升级包从服务器S1传输到多机集群系统30中其它的待升级服务器。这里,选择程序302也可以根据尚未升级的服务器的流量大小选择一个服务器,并通知传输程序308将对应的操作系统升级包传输到该服务器上,并由接管程序304进行设备和服务释放,由升级程序306对其进行操作系统升级,以及由传输程序308执行升级后操作系统升级包的传输。即,通过选择程序302、接管程序304、升级程序306以及传输程序308,对待升级服务器执行与服务器S1类似的操作,直至多机集群系统的所有服务器的操作系统升级完成。
另外,本发明实施例用于多机集群系统的操作系统升级装置还可以包括自动恢复程序(图中未显示),以用于在相应的服务器完成升级后,将被其它服务器接管的原有设备和服务自动恢复(failover/failback)到此服务器上。当然,自动恢复程序不一定对完成升级的服务器被接管的服务进行自动恢复,如果接管服务器当前的流量较小,则可以由该接管服务器处理被接管服务器在升级时释放的任务,而不执行自动恢复。并且,自动恢复将多出一次服务转移。因此,自动恢复程序可根据平衡资源采用相应的操作。在需要启动自动恢复手段时,自动恢复程序则根据被接管的已升级服务器的操作系统升级版本,对其原有设备和服务进行转换,即将该服务器升级前的旧的设备和服务转换为与升级后系统及设备对应的新设备和服务。
下面,将结合图2至图4对本发明实施例的用于多机集群系统的操作系统升级的方法说明如下。其中,图2为本发明实施例用于多机集群系统的操作系统升级的方法流程图,图3为本发明实施例的操作系统升级步骤流程图,以及图4为本发明实施例的服务器设备和服务自动恢复步骤流程图。
请参考图2,如图所示,本发明实施例用于多机集群系统的操作系统升级的方法包括以下步骤:当需要对多机集群系统的各个服务器进行操作系统版本升级时,首先,从包括多个服务器的服务器端的多机集群系统中选择其中一个服务器来接收从客户端传输的操作系统升级包(步骤102)。其中,操作系统升级包中包括新的操作系统、新的配置文件以及升级工具。这里,选择接收升级包的服务器是根据各个服务器的流量大小来确定,选择的服务器为对应流量最小的服务器,以最大程度地减小对集群系统的影响。
然后,根据选择的服务器,从该服务器上触发接管操作,以释放服务器上的设备和服务被多机集群系统中其它服务器接管(步骤104)。这里,接管服务器可以是一台或者多台。这时如果存在对该服务器的访问,则当前服务转由接管服务器继续提供。
在服务器的原有设备和服务被其它服务器接管之后,则运行服务器上接收的操作系统升级包,以执行服务器的操作系统升级(步骤106)。关于服务器操作系统的升级步骤,下面结合图3具体说明。
如图3所示,升级时首先运行操作系统升级包中的升级工具(步骤602),并在运行安装新版本操作系统文件之前,将服务器中的原有的配置文件转移到固定地点进行保留(步骤604)。然后释放操作系统升级包中新的配置文件(步骤606),并将新旧配置文件解译到新的文件中,以根据新配置文件对原有配置文件进行格式转换(步骤608)。接着,将升级包中的操作系统文件解包,运行并安装(步骤610),重新启动服务器(步骤612),此时即完成对该服务器的操作系统升级。
现在,请返回参考图2。在步骤106升级完毕后,则前进至步骤108,以将操作系统升级包从已升级服务器传输到多机集群系统中其它的待升级服务器(步骤108)。这里,也可以根据各个待升级的服务器的流量大小选择一个服务器接收对应的操作系统升级包,并传输到该服务器上。然后,对当前选择服务器进行设备和服务释放、操作系统升级,以及升级后操作系统升级包的再次传输(步骤110)。即,通过在多机集群系统的服务器中循环执行上述服务器选择步骤、设备和服务接管步骤、操作系统升级步骤以及操作系统升级包传输步骤,可以依次对待升级服务器执行操作系统升级,直至完成多机集群系统的所有服务器的操作系统升级。
另外,本发明实施例用于多机集群系统的操作系统升级方法还可以包括自动恢复步骤,以用于在相应的服务器完成升级后,将被其它服务器接管的原有设备和服务自动恢复(failover/failback)到此服务器上。下面,结合图4对该步骤做出详细说明。
如图4所示,首先,启动原有设备和服务的自动恢复(步骤202),在自动恢复过程中,根据被接管的已升级服务器的操作系统升级版本,对版本不同的设备管理信息和服务对原有设备和服务进行转换(步骤204),即将该服务器升级前的旧的设备和服务转换为与升级后系统及设备对应的新设备和服务。最后,得到与服务器升级版本对应的新系统和设备(步骤206)。
当然,完成升级的服务器之前被接管的服务不一定需要自动恢复,如果接管服务器当前的流量较小,则可以由该接管服务器处理被接管服务器在升级时释放的任务,而不执行自动恢复步骤。并且,自动恢复将多出来一次服务转移。因此,可根据平衡资源决定采用相应的操作。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。