掌桥专利:专业的专利平台
掌桥专利
首页

业务容灾切换方法、装置、设备及存储介质

文献发布时间:2024-04-18 19:58:21


业务容灾切换方法、装置、设备及存储介质

技术领域

本发明涉及计算机业务容灾技术领域,尤其涉及一种业务容灾切换方法、装置、设备及存储介质。

背景技术

现今很多公司的工作推进都严重依赖信息化系统,如果信息化业务系统发生故障,就会导致工作无法开展,所以业务系统的连续性大大影响公司业务的经营效率。为了保证业务的连续性,通常的做法是为每个业务系统准备一个备用服务器,然后把业务系统上的所有磁盘数据实时同步到备用服务器上。当主服务出现故障的时候,把业务切换到备用服务器上,以便快速恢复业务。由于很多情况下,主服务器、备用服务器的硬件配置是不一样的,如果备用服务器上面的驱动程序、系统配置没有做修正,那么备用服务器就很难成功启动,导致备用服务器上业务系统的业务不可用。如果手工修正这些配置,那么业务系统切换的时间会很长,导致公司业务长时间中断。

发明内容

本发明的主要目的在于提供一种业务容灾切换方法、装置、设备及存储介质,旨在解决现有技术中在将业务从主服务器切换到备用服务器上进行业务容灾时,手动修正备用服务器的主机配置,存在切换时间长、效率低的技术问题。

为实现上述目的,本发明提供一种业务容灾切换方法,所述方法包括以下步骤:

获取主服务器的备份点数据,基于备用服务器的硬件配置信息对所述主服务器的备份点数据的目标操作系统进行修正,获得修正后的目标操作系统;

将所述修正后的目标操作系统发送至备用服务器,以使所述备用服务器基于所述修正后的目标操作系统启动操作系统;

将所述主服务器的实时备份数据发送至所述备用服务器,以使所述备用服务器将所述实时备份数据写入磁盘;

向所述备用服务器发送业务切换指令,以使所述备用服务器完成操作系统的初始化,并将所述主服务器支持的业务切换至由所述备用服务器支持。

可选地,所述将所述修正后的目标操作系统发送至备用服务器,以使所述备用服务器基于所述修正后的目标操作系统启动操作系统,包括:

将所述修正后的目标操作系统发送至备用服务器,以使所述备用服务器基于所述修正后的目标操作系统启动操作系统,并在挂载真正根目录之前阻塞操作系统的初始化行为。

可选地,所述将所述修正后的目标操作系统发送至备用服务器,以使所述备用服务器基于所述修正后的目标操作系统启动操作系统,并在挂载真正根目录之前阻塞操作系统的初始化行为,包括:

将修正后的目标操作系统发送至备用服务器,以使所述备用服务器基于所述修正后的目标操作系统启动操作系统,并在挂载真正根目录之前通过所述修正后的目标操作系统阻塞操作系统的初始化行为,其中,所述修正后的目标操作系统为不可自行完成操作系统初始化的操作系统。

可选地,所述将所述修正后的目标操作系统发送至备用服务器,以使所述备用服务器基于所述修正后的目标操作系统启动操作系统,并在挂载真正根目录之前阻塞操作系统的初始化行为,包括:

将所述修正后的目标操作系统发送至备用服务器,以使所述备用服务器基于所述修正后的目标操作系统启动操作系统,并在挂载真正根目录之前通过所述修正后的目标操作系统中的初始化阻塞标识阻塞操作系统的初始化行为,所述修正后的目标操作系统包括初始化阻塞标识;

相应地,所述向所述备用服务器发送业务切换指令,以使所述备用服务器完成操作系统的初始化,并将所述主服务器支持的业务切换至由所述备用服务器支持,包括:

向所述备用服务器发送业务切换指令,以使所述备用服务器删除所述初始化阻塞标识,完成操作系统的初始化,并将所述主服务器支持的业务切换至由所述备用服务器支持。

可选地,所述主服务器的备份点数据的目标操作系统包括:配置数据、设备驱动程序和初始化脚本;

所述获取主服务器的备份点数据,基于备用服务器的硬件配置信息对所述主服务器的备份点数据的目标操作系统进行修正,获得修正后的目标操作系统,包括:

获取主服务器的备份点数据,对所述主服务器的备份点数据的目标操作系统中的配置数据进行修改,并基于备用服务器的硬件配置信息确定设备驱动程序;

修改所述主服务器的备份点数据的目标操作系统中的初始化脚本,在所述初始化脚本中设置所述设备驱动程序的加载时机为挂载真正根目录之前,以使所述备用服务器在挂载真正根目录之前修正真正根目录中的配置文件;

基于修改后的配置数据、设备驱动程序和修改后的初始化脚本生成修正后的目标操作系统。

可选地,所述获取主服务器的备份点数据,对所述主服务器的备份点数据的目标操作系统中的配置数据进行修改,并基于备用服务器的硬件配置信息确定设备驱动程序,包括:

获取主服务器的备份点数据,将所述主服务器的备份点数据的目标操作系统中的配置数据中卷设备的平台相关设备名修改为平台无关设备名,并基于备用服务器的硬件配置信息确定网卡控制器和磁盘控制器对应的设备驱动程序,所述备用服务器的硬件配置信息为备用服务器的PCI信息。

可选地,所述向所述备用服务器发送业务切换指令,以使所述备用服务器完成操作系统的初始化,并将所述主服务器支持的业务切换至由所述备用服务器支持之后,还包括:

将所述修正后的目标操作系统中的修改后的配置数据、设备驱动程序发送至所述备用服务器,以使所述备用服务器后续根据所述修改后的配置数据和所述设备驱动程序重新启动操作系统。

此外,为实现上述目的,本发明还提出一种业务容灾切换装置,所述业务容灾切换装置包括:

系统修正模块,用于获取主服务器的备份点数据,基于备用服务器的硬件配置信息对所述主服务器的备份点数据的目标操作系统进行修正,获得修正后的目标操作系统;

系统发送模块,用于将所述修正后的目标操作系统发送至备用服务器,以使所述备用服务器基于所述修正后的目标操作系统启动操作系统;

数据发送模块,用于将所述主服务器的实时备份数据发送至所述备用服务器,以使所述备用服务器将所述实时备份数据写入磁盘;

业务切换模块,用于向所述备用服务器发送业务切换指令,以使所述备用服务器完成操作系统的初始化,并将所述主服务器支持的业务切换至由所述备用服务器支持。

此外,为实现上述目的,本发明还提出一种业务容灾切换设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的业务容灾切换程序,所述业务容灾切换程序配置为实现如上文所述的业务容灾切换方法的步骤。

此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有业务容灾切换程序,所述业务容灾切换程序被处理器执行时实现如上文所述的业务容灾切换方法的步骤。

在本发明中,公开了获取主服务器的备份点数据,基于备用服务器的硬件配置信息对主服务器的备份点数据的目标操作系统进行修正,由于本发明中是通过程序自动修改,相较于现有的手工修正的方式效率更高,然后将修正后的目标操作系统发送至备用服务器,以使备用服务器基于修正后的目标操作系统启动操作系统,从而能够保证备用服务器与主服务器的操作系统内核一致,便于后续业务顺利切换;再将主服务器的实时备份数据发送至备用服务器,以使备用服务器将实时备份数据写入磁盘,从而保证备用服务器和主服务器的业务数据实时保持一致;最后向备用服务器发送业务切换指令,以使备用服务器完成操作系统的初始化,由于在切换之前已经修正了备用服务器的配置,并且二者业务数据保持一致,从而能够更快的将主服务器支持的业务切换至由备用服务器支持。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的业务容灾切换设备的结构示意图;

图2为本发明业务容灾切换方法第一实施例的流程示意图;

图3为本发明业务容灾切换的设备交互示意图;

图4为本发明业务容灾切换方法第二实施例的流程示意图;

图5为本发明业务容灾切换方法第三实施例的流程示意图;

图6为本发明业务容灾切换装置第一实施例的结构框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的业务容灾切换设备结构示意图。

如图1所示,该业务容灾切换设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的结构并不构成对业务容灾切换设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及业务容灾切换程序。

在图1所示的业务容灾切换设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明业务容灾切换设备中的处理器1001、存储器1005可以设置在业务容灾切换设备中,所述业务容灾切换设备通过处理器1001调用存储器1005中存储的业务容灾切换程序,并执行本发明实施例提供的业务容灾切换方法。

本发明实施例提供了一种业务容灾切换方法,参照图2,图2为本发明业务容灾切换方法第一实施例的流程示意图。

本实施例中,所述业务容灾切换方法包括以下步骤:

步骤S10:获取主服务器的备份点数据,基于备用服务器的硬件配置信息对所述主服务器的备份点数据的目标操作系统进行修正,获得修正后的目标操作系统。

需要说明的是,本实施例方法的执行主体可以是具有业务容灾切换、网络通信以及程序运行功能的计算服务设备,例如手机、平板电脑、个人电脑等;也可以是具有相同或相似功能的上述业务容灾切换设备或者备份一体机。本实施例及下述各实施例将以备份一体机为例进行说明。

可理解的是,在做业务系统容灾的时候,一般都追求两个目标,第一是最大限度的保证主服务、备用服务的数据一致性,也就是争取把主服务器磁盘上改变的数据尽快的同步到备用服务器上;第二是主服务器的业务出现故障,将业务切换到备用服务器的时间尽可能的短。为了达到这两个目标,参考图3,图3为本发明通过备份一体机在主服务器和备用服务器之间进行业务容灾切换的设备交互示意图,可以通过备份一体机将主服务器上的全部数据备份至备用服务器中。

在具体实现中,本发明中首先在主服务器侧做整机级备份,此处的整机级备份指的是将主服务器的操作系统,应用程序,业务数据,以及磁盘的分区、卷、文件系统等元数据备份到备份一体机中,每次备份出来的数据称为备份点。可以通过连续数据保护备份(Continuous Data Protection,CDP)把主服务器的磁盘原有的数据和后续发生变化的数据都源源不断地备份到备份一体机中,形成备份点数据,备份点数据中磁盘的个数和主服务器是一样的。备份的操作过程可以是先枚举主服务器所在的主机上的磁盘个数,获取每个磁盘上的有效数据,然后备份到备份一体机中存储。此外,还可以枚举系统上所有卷(逻辑分区)的平台相关设备名(例如,“/dev/sda1”,“/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0-part1”),以及对应的平台无关设备名(例如,“UUID=1da9387d-bf51-40be-83a3-e13766cb32c0”),后续修正系统配置文件的时候需要用到。平台相关设备名就是该设备名只在主服务器上存在,在备用服务器上不一定存在。平台无关设备名就是在主服务器、备用服务器、或者其他的服务器都存在的设备名。另外,还要获取根分区、引导分区的平台无关设备名,可以通过mount命令查询根目录、/boot目录对应的卷设备,然后获取该卷设备对应的平台无关设备名。

可以理解的是,还可以获取备用服务器的硬件配置信息,根据硬件配置信息获得目标操作系统需要使用的硬件驱动程序,并添加至启动加载器初始化RAM磁盘(bootloader initialized RAM disk,initrd)中。initrd文件是在实际根文件系统可用之前挂载到系统中的一个临时根文件系统,initrd与内核绑定在一起,作为Linux系统初始化的一部分,initrd可以加载操作系统关键驱动程序模块(比如磁盘控制器驱动),初始核心配置文件,完成操作系统的基本初始化,这样才能在基本初始化后使用真正的文件系统,并挂载实际的根文件系统。initrd中包含了实现这个操作系统基本初始化所需要的目录和可执行程序、驱动程序的最小集合。可以通过备用服务器的硬件配置信息中的设备控制器相关的信息对主服务器的备份点数据的目标操作系统进行修正,以适配备用服务器的硬件配置。

值得说明的是,可以基于主服务器的某一个时刻的备份点数据,把磁盘数据挂载起来,然后对操作系统启动需要用到的程序、数据和配置进行修正。此处以Linux操作系统为例进行说明,但并不构成对本发明的限定。在Linux操作系统中,这些程序、数据和配置一般都存放于引导分区和根分区中。可以对挂载后的引导分区的引导配置文件、fstab配置文件和设备配置文件等进行修正。还可以将挂载后的引导分区的initrd文件解压至临时目录(例如,/tmp/initrd-xxx),基于备用服务器的硬件配置信息将启动需要用到的硬件驱动程序(如磁盘控制器、网卡控制器的驱动程序)拷贝到该临时目录中,并修改系统的初始化脚本,在系统内核初始化完毕就加载相关驱动程序。还可以将上述修正的引导配置文件、fstab配置文件和设备配置文件等拷贝至上述临时目录(例如,/tmp/initrd-xxx/config目录),并把这个解压的临时目录重新压缩成initrd文件,替换至boot分区中,同时也把这个initrd文件缓存一份,后续还要使用。在完成上述修正后,即可获得对主服务器的备份点数据进行修正后的目标操作系统。

步骤S20:将所述修正后的目标操作系统发送至备用服务器,以使所述备用服务器基于所述修正后的目标操作系统启动操作系统。

可以理解的是,引导程序是计算机启动过程中的第一个软件,负责加载操作系统内核到内存中并执行。引导程序通常会加载initrd到内存,并将控制权转交给initrd,以完成系统初始化和加载实际的根文件系统。根文件系统(Root File System),也叫root分区,根文件系统是Linux系统中的最高层文件系统,包含了操作系统的核心文件和目录结构。在引导过程中,initrd会被加载为一个临时的根文件系统,用来初始化系统并加载实际的根文件系统(下述也称为真正根目录)。

应当理解的是,修正后的目标操作系统中包括与系统引导、系统启动相关的数据,因此,可以将与系统引导、系统启动相关的数据推送到备用服务器的磁盘上。这些数据包括硬盘的分区表、boot分区数据、root分区的文件系统元数据等,这些引导、启动相关数据的数据量不大,一般不会超过2GB,所以整个推送时间不需要太久。推送完毕之后,备用服务器可以重启操作系统并从硬盘引导,这样备用服务器上启动的系统就是基于主服务器修正后的目标操作系统,备用服务器与主服务器的系统内核完全一致。内核加载完毕之后就可以通过initrd进行基本的初始化,通过初始化脚本加载设备控制器的驱动程序,加载之后备用服务器可以通过Agent配置网络,通过网络连接到备份一体机。备用服务器Agent可以是运行于备用服务器上的应用程序,用于接收备份一体机发送过来的磁盘数据,并可以写入到备用服务器的磁盘上。

步骤S30:将所述主服务器的实时备份数据发送至所述备用服务器,以使所述备用服务器将所述实时备份数据写入磁盘。

可以理解的是,在加载设备控制器的驱动程序之后,Agent程序就可以通过网络连接到备份一体机,通过备份一体机接收主服务器的实时备份数据,包括基础备份数据和后续的CDP流数据,并写入到备用服务器的磁盘上。这个情况下,备用服务器磁盘上先前推送过来的数据(也就是备用服务器重启前备份一体机推送过来的数据)会被覆盖掉。由于主服务器做的是CDP备份,磁盘所有的写入数据都会源源不断的备份到备份一体机,备份一体机会把这些数据转发给备用服务器的Agent程序并写到磁盘上,保证主服务器、备用服务器的磁盘数据的实时同步,在业务切换的时候数据尽可能一致。

步骤S40:向所述备用服务器发送业务切换指令,以使所述备用服务器完成操作系统的初始化,并将所述主服务器支持的业务切换至由所述备用服务器支持。

应当理解的是,可以在主服务器的业务出现故障时,备份一体机向备用服务器发送业务切换指令。备用服务器在收到业务切换指令时,备份服务器的Agent程序会通过root分区的平台无关设备名(例如,“UUID=1da9387d-bf51-40be-83a3-e13766cb32c0”)把root分区挂载到一个临时目录(例如,挂载到/sysroot目录),然后将修正后的目标操作系统中的配置文件(例如,fstab配置文件、设备配置文件……等)拷贝至上述root分区挂载的临时目录中,拷贝完毕之后将这个临时目录中的root分区卸载掉,然后通知initrd的脚本放行操作系统的初始化行为,完成操作系统后续启动流程。后续的流程(也就是正常的操作系统启动流程)也会把真正root分区挂载起来,然后切换到真正的root分区,以及通过fstab配置文件把各个卷挂载起来,完成操作系统的初始化。

可以理解的是,本实施例通过将切换根目录需要用到的配置文件先保存在initrd中,然后在切换到真正根目录前,把根目录挂载在一个临时目录中,把修正后的配置文件放到真正根目录的对应的位置中,再把临时目录中的根目录卸载掉,之后再走原来的系统初始化流程(也就是挂载root分区和切换到root分区),保证了系统的正常初始化。完成卷挂载之后操作系统的初始化脚本还会把系统的各个服务程序启动起来,待业务程序启动之后,就可以对外提供服务,完成业务的切换。由于业务切换前,操作系统已经预启动到一定阶段(正常的硬件初始化、操作系统启动可能比较耗时间),然后暂停下来和接收主服务器的磁盘同步数据,后面收到切换指令的时候,可以很快的完成操作系统的初始化和业务系统启动,在短时间内完成业务的切换。

在本实施例中,公开了获取主服务器的备份点数据,基于备用服务器的硬件配置信息对主服务器的备份点数据的目标操作系统进行修正,由于本发明中是通过程序自动修改,相较于现有的手工修正的方式效率更高,然后将修正后的目标操作系统发送至备用服务器,以使备用服务器基于修正后的目标操作系统启动操作系统,从而能够保证备用服务器与主服务器的操作系统内核一致,便于后续业务顺利切换;再将主服务器的实时备份数据发送至备用服务器,以使备用服务器将实时备份数据写入磁盘,从而保证备用服务器和主服务器的业务数据实时保持一致;最后向备用服务器发送业务切换指令,以使备用服务器完成操作系统的初始化,由于在切换之前已经修正了备用服务器的配置,并且二者业务数据保持一致,从而能够更快的将主服务器支持的业务切换至由备用服务器支持。

参考图4,图4为本发明业务容灾切换方法第二实施例的流程示意图。

进一步地,由于在备用服务器切换业务之前,需要先接收主服务器的实时备份数据,并且在接收到业务切换指令时才进行业务切换,因此,可以在挂载真正根目录之前阻塞操作系统的初始化行为,保证备用服务器的数据与主服务器的数据保持实时一致,便于后续切换业务的时间尽可能地短。

故基于上述第一实施例,在本实施例中,所述步骤S20包括:

步骤S201:将所述修正后的目标操作系统发送至备用服务器,以使所述备用服务器基于所述修正后的目标操作系统启动操作系统,并在挂载真正根目录之前阻塞操作系统的初始化行为。

可以理解的是,由于在备用服务器切换业务之前,需要先接收主服务器的实时备份数据,并且在接收到业务切换指令时才进行业务切换,因此,可以在挂载真正根目录之前阻塞操作系统的初始化行为。具体的,可以在修正目标操作系统时,设置目标操作系统的系统初始化脚本,使得修正后的目标操作系统可以在挂载真正根目录之前阻塞操作系统的初始化行为,以接收主服务器推送过来的同步数据,并且在接收到业务切换指令时才进行备用服务器的操作系统的初始化。

进一步地,为了更加简单、快速的使得备用服务器阻塞操作系统的初始化行为,可以将不可自行完成操作系统初始化的操作系统发送至备用服务器,以此阻塞操作系统的初始化行为。因此,所述步骤S201,还包括:将修正后的目标操作系统发送至备用服务器,以使所述备用服务器基于所述修正后的目标操作系统启动操作系统,并在挂载真正根目录之前通过所述修正后的目标操作系统阻塞操作系统的初始化行为,其中,所述修正后的目标操作系统为不可自行完成操作系统初始化的操作系统。

应当理解的是,可以在对目标操作系统进行修正时,准备2个initrd,一个是阻塞操作系统初始化的initrd-1(还可以在initrd-1中设置阻塞初始化的时机为挂载真正根目录之前),一个是不阻塞操作系统初始化的initrd-2。推送操作系统启动数据的时候,可以推送阻塞操作系统初始化的initrd-1,待同步数据完毕,切换业务之后,agent程序从备份一体机获取initrd的时候,获取initrd-2,这样后续操作系统启动的时候,initrd脚本就不会阻塞操作系统启动了。可以将不可自行完成操作系统初始化的操作系统发送至备用服务器,以使备用服务器基于修正后的目标操作系统启动操作系统。由于修正后的目标操作系统不可自行完成操作系统初始化,因此,在挂载真正根目录之前备用服务器不可进行操作系统的初始化。

进一步地,为了更加简单、快速的使得备用服务器阻塞操作系统的初始化行为,还可以在修正目标操作系统时,添加初始化阻塞标识,再将包含初始化阻塞标识的目标操作系统发送至备用服务器,以此阻塞操作系统的初始化行为。相应地,后续备用服务器在接收到业务切换指令时,将初始化阻塞标识删除后,即可进行操作系统的初始化。因此,所述步骤S201,还包括:将所述修正后的目标操作系统发送至备用服务器,以使所述备用服务器基于所述修正后的目标操作系统启动操作系统,并在挂载真正根目录之前通过所述修正后的目标操作系统中的初始化阻塞标识阻塞操作系统的初始化行为,所述修正后的目标操作系统包括初始化阻塞标识;相应地,所述向所述备用服务器发送业务切换指令,以使所述备用服务器完成操作系统的初始化,并将所述主服务器支持的业务切换至由所述备用服务器支持,包括:向所述备用服务器发送业务切换指令,以使所述备用服务器删除所述初始化阻塞标识,完成操作系统的初始化,并将所述主服务器支持的业务切换至由所述备用服务器支持。

应当理解的是,为了在挂载真正根目录之前阻塞操作系统的初始化行为,还可以通过设置初始化阻塞标识的方式实现。可以修改初始化脚本,在初始化脚本中添加初始化阻塞标识。还可以在磁盘的特殊区域(例如,引导扇区、分区表等)中加入初始化阻塞标识(或者可以称为等待数据同步的标识),告知系统初始化脚本,需要阻塞系统的初始化行为,等待同步数据和业务切换指令。

相应地,由于在挂载真正根目录之前根据初始化阻塞标识阻塞操作系统的初始化行为,以等待同步数据和业务切换指令。那么备用服务器在接收到了同步数据和业务切换指令之后,备用服务器可以将初始化阻塞标识从初始化脚本或者磁盘的特殊区域中删除,后续重启服务器时初始化脚本就不会阻塞系统的初始化行为。

在本实施例中,公开了将所述修正后的目标操作系统发送至备用服务器,以使所述备用服务器基于所述修正后的目标操作系统启动操作系统,并在挂载真正根目录之前阻塞操作系统的初始化行为。由于本实施例在挂载真正根目录之前阻塞操作系统的初始化行为,保证备用服务器的数据与主服务器的数据保持实时一致,便于后续切换业务的时间尽可能地短。

参考图5,图5为本发明业务容灾切换方法第三实施例的流程示意图。

进一步地,在对主服务器的备份点数据的目标操作系统进行修正时,可以对操作系统启动需要用到的程序、数据和配置等进行修正,例如配置数据、设备驱动程序和初始化脚本等,从而使得备用服务器的操作系统能够正常使用备用服务器的硬件资源,避免备用服务器启动失败的问题。

故基于上述第一实施例,在本实施例中,所述主服务器的备份点数据的目标操作系统包括:配置数据、设备驱动程序和初始化脚本;所述步骤S10包括:

步骤S101:获取主服务器的备份点数据,对所述主服务器的备份点数据的目标操作系统中的配置数据进行修改,并基于备用服务器的硬件配置信息确定设备驱动程序。

可以理解的是,可以通过虚拟硬盘技术把主服务器的备份点数据虚拟成硬盘,找到root分区和boot分区,并把他们挂载起来;然后对配置文件进行修正,包括boot的引导配置文件,位于引导器的grub、grub2、lilo的目录中,还有fstab配置文件中的卷设备名、udev规则文件、网卡的设备名、网卡配置等也都根据备用服务器的硬件配置信息做相应的修正。还可以根据备用服务器的硬件配置信息从root分区中选择对应的设备控制器的驱动程序。

进一步地,由于很多操作系统中使用的卷设备的名称(如“/dev/sda1”、“/dev/vdb1”……等)会因硬件平台不同而不同,这类设备名称为平台相关设备名;而有些卷设备名称又可以跟硬件平台无关,比如“/dev/mapper/vg1-lv1”。也就是说,平台相关设备名就是该设备名只在主服务器上存在,在备用服务器上不一定存在。平台无关设备名就是在主服务器、备用服务器、或者其他的服务器都存在的设备名。当把主服务器的操作系统同步到备用服务器,如果设备名没有做修正,操作系统就会找不到设备名,导致系统启动出错。因此可以将卷设备名都修正成平台无关的设备名,在备用服务器的卷挂载时不会出现找不到设备名字的情况。因此,所述步骤S101,还包括:获取主服务器的备份点数据,将所述主服务器的备份点数据的目标操作系统中的配置数据中卷设备的平台相关设备名修改为平台无关设备名,并基于备用服务器的硬件配置信息确定网卡控制器和磁盘控制器对应的设备驱动程序,所述备用服务器的硬件配置信息为备用服务器的PCI信息。

应当理解的是,可以在获取主服务器的备份点数据后,将所述主服务器的备份点数据的目标操作系统中的配置数据中卷设备的平台相关设备名修改为平台无关设备名,具体的,可以找到位于引导器的grub、grub2、lilo的目录中的boot的引导配置文件,将该配置文件中的平台相关的卷设备名改成平台无关的设备名;另外fstab配文件中的卷设备名也要替换成平台无关的设备名;此外,udev规则文件、网卡的设备名、网卡配置……也都根据目标硬件平台做相应的修正。由于fstab配置文件中的卷设备名都修正成平台无关的设备名,如果卷设备名没有做修正,就会找不到设备名,导致系统启动出错,所以在后续切换到真正的root分区时,卷挂载不会出现找不到设备名字的情况。

应当理解的是,在修正主服务器的备份点数据的目标操作系统之前,还可以在备用服务器的主机上运行WinPE、LiveCD系统,通过该系统的应用程序收集备用服务器的硬件配置信息,并发送到备份一体机。硬件配置信息可以包括主机上所有的网卡控制器、磁盘控制器的外设部件互连标准(Peripheral Component Interconnect,PCI)信息,如VendorID、 Device ID、Subsystem Vendor ID、Subsystem Device ID等信息,可以根据获取得到的备用服务器的PCI信息,从备份点的操作系统中选择对应的网卡、磁盘控制器驱动程序,并将驱动程序拷贝到前面initrd的解压目录中。

步骤S102:修改所述主服务器的备份点数据的目标操作系统中的初始化脚本,在所述初始化脚本中设置所述设备驱动程序的加载时机为挂载真正根目录之前,以使所述备用服务器在挂载真正根目录之前修正真正根目录中的配置文件。

应当理解的是,可以修改主服务器的备份点数据的目标操作系统中的初始化脚本,设置设备驱动程序的加载时机为挂载真正根目录之前,以使备用服务器在系统启动的早期(即挂载真正根目录之前)加载这些驱动,加载之后系统就可以对网卡进行配置,收发数据,读写硬盘。

步骤S103:基于修改后的配置数据、设备驱动程序和修改后的初始化脚本生成修正后的目标操作系统。

应当理解的是,可以将上述修改后的配置数据、设备驱动程序添加至initrd中,具体的,将引导配置文件、fstab文件、网卡配置文件、网卡控制器驱动程序和磁盘控制器驱动程序等数据添加至上述解压目录中,并将initrd重新压缩成initrd文件,替换至boot分区中,同时也把这个initrd文件缓存一份,在后续业务成功切换至备用服务器之后还需要用到。

进一步地,由于在业务系统切换至由备用服务器支持之前,备用服务器中的数据是来自主服务器的实时备份数据,会覆盖掉上述修正后的操作系统的数据,这样后续备用服务器系统重启的时候,会启动失败,原因是数据已经被覆盖成主服务器上的未修正的数据了。因此,需要重新将修正后的目标操作系统中的修改后的配置数据、设备驱动程序发送至备用服务器,后续备用服务器就可以正常启动了。因此,所述步骤S40之后,还包括:将所述修正后的目标操作系统中的修改后的配置数据、设备驱动程序发送至所述备用服务器,以使所述备用服务器后续根据所述修改后的配置数据和所述设备驱动程序重新启动操作系统。

可以理解的是,当业务系统启动之后,备用服务器上面的Agent程序会再次连接到备份一体机,获取上述缓存的initrd文件。在上述步骤中,备用服务器通过Agent程序接收备份一体机推送过来的主服务器的实时备份数据,并将实时备份数据写入到磁盘上,会覆盖掉磁盘上原有的修正后的目标操作系统相关的数据,所以前面推送的引导数据也会被覆盖掉,这样后续备用服务器系统重启的时候,会启动失败,原因是initrd已经被覆盖成主服务器上的initrd了,所以需要从备份一体机上获取先前缓存的initrd(里面包含有备用服务器启动所需要的驱动程序和配置数据),替换到boot目录中,这样后续备用服务器就可以正常启动了。

在本实施例中,公开了获取主服务器的备份点数据,对主服务器的备份点数据的目标操作系统中的配置数据进行修改,并基于备用服务器的硬件配置信息确定设备驱动程序;修改主服务器的备份点数据的目标操作系统中的初始化脚本,在初始化脚本中设置设备驱动程序的加载时机为挂载真正根目录之前,以使备用服务器在挂载真正根目录之前修正真正根目录中的配置文件;基于修改后的配置数据、设备驱动程序和修改后的初始化脚本生成修正后的目标操作系统。由于本实施例中在对主服务器的备份点数据的目标操作系统进行修正时,对操作系统启动需要用到的程序、数据和配置等进行修正,例如配置数据、设备驱动程序和初始化脚本等,从而使得备用服务器的操作系统的配置数据、设备驱动程序和初始化脚本跟备用服务器的硬件资源相适配,避免备用服务器的操作系统启动失败的问题。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有业务容灾切换程序,所述业务容灾切换程序被处理器执行时实现如上文所述的业务容灾切换方法的步骤。

参照图6,图6为本发明业务容灾切换装置第一实施例的结构框图。

如图6所示,本发明实施例提出的业务容灾切换装置包括:

系统修正模块601,用于获取主服务器的备份点数据,基于备用服务器的硬件配置信息对所述主服务器的备份点数据的目标操作系统进行修正,获得修正后的目标操作系统;

系统发送模块602,用于将所述修正后的目标操作系统发送至备用服务器,以使所述备用服务器基于所述修正后的目标操作系统启动操作系统;

数据发送模块603,用于将所述主服务器的实时备份数据发送至所述备用服务器,以使所述备用服务器将所述实时备份数据写入磁盘;

业务切换模块604,用于向所述备用服务器发送业务切换指令,以使所述备用服务器完成操作系统的初始化,并将所述主服务器支持的业务切换至由所述备用服务器支持。

本实施例通过获取主服务器的备份点数据,基于备用服务器的硬件配置信息对主服务器的备份点数据的目标操作系统进行修正,由于本发明中是通过程序自动修改,相较于现有的手工修正的方式效率更高,然后将修正后的目标操作系统发送至备用服务器,以使备用服务器基于修正后的目标操作系统启动操作系统,从而能够保证备用服务器与主服务器的操作系统内核一致,便于后续业务顺利切换;再将主服务器的实时备份数据发送至备用服务器,以使备用服务器将实时备份数据写入磁盘,从而保证备用服务器和主服务器的业务数据实时保持一致;最后向备用服务器发送业务切换指令,以使备用服务器完成操作系统的初始化,由于在切换之前已经修正了备用服务器的配置,并且二者业务数据保持一致,从而能够更快的将主服务器支持的业务切换至由备用服务器支持。

基于本发明上述业务容灾切换装置第一实施例,提出本发明业务容灾切换装置的第二实施例。

在本实施例中,所述系统发送模块602,还用于将所述修正后的目标操作系统发送至备用服务器,以使所述备用服务器基于所述修正后的目标操作系统启动操作系统,并在挂载真正根目录之前阻塞操作系统的初始化行为。

作为一种实施方式,所述系统发送模块602,还用于将修正后的目标操作系统发送至备用服务器,以使所述备用服务器基于所述修正后的目标操作系统启动操作系统,并在挂载真正根目录之前通过所述修正后的目标操作系统阻塞操作系统的初始化行为,其中,所述修正后的目标操作系统为不可自行完成操作系统初始化的操作系统。

作为一种实施方式,所述系统发送模块602,还用于将所述修正后的目标操作系统发送至备用服务器,以使所述备用服务器基于所述修正后的目标操作系统启动操作系统,并在挂载真正根目录之前通过所述修正后的目标操作系统中的初始化阻塞标识阻塞操作系统的初始化行为,所述修正后的目标操作系统包括初始化阻塞标识。

作为一种实施方式,所述系统修正模块601,还用于获取主服务器的备份点数据,对所述主服务器的备份点数据的目标操作系统中的配置数据进行修改,并基于备用服务器的硬件配置信息确定设备驱动程序;修改所述主服务器的备份点数据的目标操作系统中的初始化脚本,在所述初始化脚本中设置所述设备驱动程序的加载时机为挂载真正根目录之前,以使所述备用服务器在挂载真正根目录之前修正真正根目录中的配置文件;基于修改后的配置数据、设备驱动程序和修改后的初始化脚本生成修正后的目标操作系统。

作为一种实施方式,所述系统修正模块601,还用于获取主服务器的备份点数据,将所述主服务器的备份点数据的目标操作系统中的配置数据中卷设备的平台相关设备名修改为平台无关设备名,并基于备用服务器的硬件配置信息确定网卡控制器和磁盘控制器对应的设备驱动程序,所述备用服务器的硬件配置信息为备用服务器的PCI信息。

作为一种实施方式,所述系统修正模块601,还用于将所述修正后的目标操作系统中的修改后的配置数据、设备驱动程序发送至所述备用服务器,以使所述备用服务器后续根据所述修改后的配置数据和所述设备驱动程序重新启动操作系统。

本发明业务容灾切换装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

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

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

相关技术
  • 容灾切换方法、相关设备及计算机存储介质
  • 业务系统切换方法、装置、电子设备及存储介质
  • 写缓存模式的切换方法、装置、设备及可读存储介质
  • 视频直播切换方法、装置、计算机设备以及存储介质
  • 分流网关链路切换方法、装置、计算机存储介质及设备
  • 业务系统的容灾切换方法、装置、电子设备及存储介质
  • PaaS的中间件容灾方法、容灾装置、容灾设备及存储介质
技术分类

06120116481450