一种通过代理网关对虚拟机进行演练的方法及系统与流程

文档序号:24495371发布日期:2021-03-30 21:22阅读:71来源:国知局
一种通过代理网关对虚拟机进行演练的方法及系统与流程

本发明涉及计算机备份容灾技术领域,特别是涉及一种通过代理网关对虚拟机进行演练的方法及系统。



背景技术:

目前,在esxi(vmware推出的一款优秀的服务器级别的虚拟机)平台中,需要对机器进行容灾备份,一般通过npsvr对该esxi平台虚拟机进行管理,包括备份,复制,迁移等任务。由于在每次备份后,都会产生一个备份的数据,而备份数据的好坏,是看不出来的,通常的有效性验证是手动对备份数据进行拉起恢复,人为开启虚拟机查看数据是否正确,效率较低且成本高。

为提高有效性验证的效率及降低成本,现有技术也提出了通过代理网关对虚拟机进行演练的技术,通过代理网关的方式,对虚拟机进行应急演练的方法是指:对vmware的esxi虚拟机或者vcener服务器上的虚拟机,备份或者复制后的数据,利用代理网关进行有效性验证的方法。

在现有技术中,基于制作的特定的代理网关,可以使得在同一平台上,生产机器的网络和需要演练而恢复出来的机器的网络隔离起来,并且通过这个网关,充当一个中间代理人,能够使生产网络和演练网络达到连通的效果(如图1所示),从而达到根据代理网关来实现一些脚本命令,心跳测试演练机器,验证演练机器的数据有效性。然而,目前方案的缺点是一个esxi或者vcener平台只能部署一台代理网关,如果一次性同时对很多虚拟机进行有效性验证时,验证的效率会变得非常的低,因为这是一种同步下发到代理网关去验证的方法,一次只会去验证一个代理机,如果有多个的话,效率就不会很高。



技术实现要素:

为克服上述现有技术存在的不足,本发明之目的在于提供一种通过代理网关对虚拟机进行演练的方法及系统,以能够准时地对周期性的任务进行有效性验证,也能够同时对多个不同的备份数据进行有效性验证,大大减少了人工手动验证的时间成本及人力成本,提高了有效性验证的效率。

为达上述目的,本发明提出一种通过代理网关对虚拟机进行演练的方法,包括如下步骤:

步骤s1,在虚拟机平台上,创建并部署一台代理虚拟机作为代理网关,并为所述代理网关创建分别用于连通生产网络和连通演练机器的两张网卡,配置该代理虚拟机生产网络以及隔离网络的ip地址;

步骤s2,对备份数据下发创建瞬时恢复的任务,通过备份数据拉起一台演练虚拟机,为所述演练虚拟机分配隔离网络的网卡,并在成功拉起的演练虚拟机开机后,为所述代理网关设置虚拟ip以与所述演练虚拟机实现网络互通;

步骤s3,通过所述代理网关对所述演练虚拟机进行ping连通测试,端口有效性验证以及脚本验证。

优选地,步骤s1进一步包括:

步骤s100,安装sshpass、winexe、nc等工具包,并获得作为代理网关拉起的源磁盘文件vmdk文件;

步骤s101,通过npsvr服务管理,在虚拟机平台上,创建一台代理虚拟机作为所述代理网关;

步骤s102,配置该代理虚拟机生产网络以及隔离网络的ip地址;

步骤s103,将步骤s100获得的vmdk文件上传到新建的代理网关的存储目录中,进行vmdk磁盘文件的替换。

优选地,于步骤s102中,所述npsvr配置所述代理虚拟机,使其以加载软盘的方式开机,实现虚拟机开机后运行软盘中的脚本,达到修改ip地址的目的。

优选地,于步骤s2中,当通过备份数据拉起所述演练虚拟机后,首先根据演练虚拟机的ip地址和子网掩码,计算出一个可用的网络地址,然后将该可用的网络地址,添加到所述代理网关的隔离网卡上。

优选地,于步骤s2中,假设虚拟ip的子网为255.255.252.0,然后根据所述演练虚拟机的ip地址,计算出当前最大可用的ip地址,并在所述代理网关上ping该地址以判断该ip地址是否被使用,若未被使用,则将该ip地址设置到所述代理网关隔离网络中去,若已被使用,则将ip地址减小一位,再进行上述操作,直到成功为所述代理网关设置好虚拟ip。

优选地,于步骤s3后,还包括如下步骤:

步骤s4,当验证结束后,清理所述演练虚拟机。

优选地,于步骤s4中,当验证完成后,返回正确或者错误的结果,并将代理网关因为本次验证产生的虚拟ip删除,演练虚拟机进行取消注册,然后在备份数据的配置文件中,标记其已经过演练,本次的备份数据有效性验证任务结束。

为达到上述目的,本发明还提供一种通过代理网关对虚拟机进行演练的系统,包括:

代理网关创建单元,用于在虚拟机平台上,创建并部署一台代理虚拟机作为代理网关,并为所述代理网关创建分别用于连通生产网络和连通演练机器的两张网卡,并配置该代理虚拟机生产网络以及隔离网络的ip地址;

演练虚拟机拉起单元,用于对备份数据下发创建瞬时恢复的任务,通过备份数据拉起一台演练虚拟机,为所述演练虚拟机分配隔离网络的网卡,并在成功拉起的演练虚拟机开机后,为所述代理网关设置虚拟ip以与所述演练虚拟机实现网络互通;

有效性验证单元,用于通过所述代理网关对所述演练虚拟机进行ping连通测试,端口有效性验证以及脚本验证。

优选地,所述代理网关创建单元包括:

vmdk文件获取模块,用于在安装sshpass、winexe、nc等工具包后,获得作为代理网关拉起的源磁盘文件vmdk文件;

代理网关创建部署模块,用于通过npsvr服务管理,在esxi虚拟机平台上,创建一台代理虚拟机,作为所述代理网关;

ip地址配置模块,用于配置该代理虚拟机生产网络以及隔离网络的ip地址;

vmdk文件替换模块,用于将代理网关制作模块获得的vmdk文件上传到新建代理网关的存储目录中,进行vmdk磁盘文件的替换。

优选地,所述系统还包括验证清理单元,用于当验证结束后,清理所述演练虚拟机。

与现有技术相比,本发明一种通过代理网关对虚拟机进行演练的方法及系统,实现了对esxi或者vcener中的虚拟机备份数据,进行有效性验证的目的,本发明不仅能够准时地对周期性的任务进行有效性验证,而且能够同时对多个不同的备份数据进行有效性验证,大大减少了人工手动验证的时间成本及人力成本,提高了有效性验证的效率。

附图说明

图1为现有技术中通过代理网关使生产网络和演练网络达到连通的效果示意图;

图2为本发明一种通过代理网关对虚拟机进行演练的方法的步骤流程图;

图3为本发明一种通过代理网关对虚拟机进行演练的系统的系统架构图;

图4为本发明实施例中通过代理网关对虚拟机进行演练的的流程图;

图5及图6为本发明实施例中通过代理网关对虚拟机进行演练的过程示意图;

图7为本发明实施例中使用的软盘脚本示意图。

具体实施方式

以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。

图2为本发明一种通过代理网关对虚拟机进行演练的方法的步骤流程图。如图2所示,本发明一种通过代理网关对虚拟机进行演练的方法,包括如下步骤:

步骤s1,在虚拟机平台上,创建并部署一台代理虚拟机作为代理网关,并为所述代理网关创建分别用于连通生产网络和连通演练机器的两张网卡,并配置该代理虚拟机生产网络以及隔离网络的ip地址。也就是说,所创建的代理网关含有两块网卡,一块与生产网络相同,即与npsvr互联,另一块与隔离网络相连,即与恢复出来的演练虚拟机相同网络。

具体地,步骤s1进一步包括:

步骤s100,安装sshpass,winexe,nc等工具包,并获取作为代理网关拉起的源磁盘文件vmdk文件。

具体地,准备好一台linux机器,选择centos6.8,在该机器中安装nc(全称为netcat,它能够建立并接受传输控制协议(tcp)和用户数据报协议(udp)的连接,netcat可在这些连接上读写数据,直到连接关闭为止,它可以通过手工或者脚本与应用层的网络应用程序或服务进行交互)工具包用于tcp验证,安装sshpass、winexe工具包用于脚本验证,并将centos6.8的vmdk文件拷贝下来,作为代理网关拉起的源磁盘文件,也就是说,该vmdk磁盘文件是从linux系统的虚拟机中拷贝而来。。

步骤s101,通过noproxyserver服务管理(noproxyserver,一种无代理的管理服务,能够支持esxi,vsphere平台备份容灾的软件,后续称npsvr),在源虚拟机所在的平台,如esxi虚拟机平台上,创建一台代理虚拟机,作为代理网关,所述代理需要创建两块网卡,一块与生产网络相同,另一块则是拿来用作演练的网卡,这些工作皆由npsvr完成。

步骤s102,配置该代理虚拟机生产网络以及隔离网络的ip地址。在本发明具体实施例中,npsvr配置所述代理虚拟机,使其以加载软盘的方式开机,软盘的内容则是执行脚本命令行,实现虚拟机开机后运行软盘中的脚本,达到修改ip地址的功能。也就是说,本发明通过开机加载软盘的方式,实现给两块网卡分配ip地址。

步骤s103,将步骤s100获得的vmdk文件上传到新建代理网关的存储目录中,进行vmdk磁盘文件的替换。

具体地,npsvr进行在创建代理网关后,便将会从本地中,将预先获得的centos6.8的vmdk磁盘文件,通过http协议(超文本传输协议)的方式,上传至新建代理网关的存储目录中,并进行vmdk磁盘文件的替换。也就是说,在创建代理虚拟机,即代理网关时,会产生vmdk磁盘文件,然后将步骤s100获得的vmdk磁盘文件对创建代理虚拟机时产生的vmdk磁盘文件进行替换。

步骤s2,对备份数据下发创建瞬时恢复的任务,通过备份数据拉起一台演练虚拟机,为所述演练虚拟机分配隔离网络的网卡,并在成功拉起的演练虚拟机开机后,为所述代理网关设置虚拟ip以与所述演练虚拟机实现网络互通。

也就是说,当经过步骤s1的代理网关部署完成后,便可以开始进行备份数据的有效性验证。首先需将esxi虚拟机平台上的源虚拟机通过npsvr和i2node,备份到备机当中(即将源虚拟机上的数据备份到备机上),所述备机可以是物理机,也可以是虚拟机,只需能够安装i2node,并且支持nfs服务(瞬时恢复需要linux系统的备机)即可,然后再通过npsvr发起瞬时恢复的任务,通过对备份数据瞬时恢复的方式创建一台演练虚拟机,npsvr同时会为该演练虚拟机分配隔离网络的网卡。所述瞬时恢复是一种通过nfs挂载的方式,将备机的文件夹,挂载至esxi平台(该esxi平台指vmware的产品esxi平台,可以是源虚拟机的平台,也可以是其他的esxi平台,本发明不以此为限)中,然后给与磁盘(挂载到esxi平台的备机文件夹)读写的权限,作为恢复的新虚拟机,即演练虚拟机的数据盘。

在本发明具体实施例中,当通过备份数据拉起所述演练虚拟机后,首先根据演练虚拟机的ip地址(需进行演练的虚拟机,一般都是已使用的机器,需事先已设置好ip地址)子网掩码,计算出一个可用的网络地址,然后将该可用的网络地址,添加到所述代理网关的隔离网卡上(即将原先配置的隔离网卡的网络地址按照隔离网络进行修改配置,另一块网卡不做修改),通过该方法,可以实现对多网段的机器进行有效性验证。需说明的是,当演练虚拟机和代理网关,源机在同一个网段时,则不需要进行设置虚拟ip,也就是说,当演练虚拟机和代理网关,源机在同一个网段,则无需计算可用的网络地址添加到隔离网卡上修改配置,只有演练虚拟机和代理网关,源机不在同一个网段,才需进行隔离网卡网络地址的修改配置。

步骤s3,对所述演练虚拟机进行ping连通测试,端口有效性验证以及脚本验证。

也就是说,在确定好代理网关的虚拟ip后,在代理网关与目标机(即演练虚拟机)网络相通的情况下,在代理网关上执行command命令,可以是ping目标机的ip地址,也可以是检测目标端(演练虚拟机)的端口,也更可以执行脚本命令,实现代理网关到演练虚拟机上,执行其他的命令。

具体地,npsvr建立ssh(secureshell)连接到代理网关,然后执行命令行ping-c*.*.*.*,如果测试ping方式可以连通,说明网络没有问题;也可以执行tcp命令进行端口有效性验证,例如命令行为:nc-z*.*.*.*端口号,如果得到成功的返回值,那么证明端口也是成功打开;还可以进行脚本命令进行脚本验证。该方式则是通过在代理网关上,建立代理网关和演练虚拟机的互联,达到能与目标虚拟机a’建立ssh连接,能够执行更多命令行的目的。如果目标虚拟机是linux,则命令行可为:sshpass-ppasswordssh-ostricthostkeychecking=nousrname@ip‘scripts’该命令执行后即可实现在代理网关执行scripts中的命令,如果演练虚拟机是windows,那么执行命令行:winexe-uusr%password//ip‘scripts’。

步骤s4,当验证结束后,清理所述演练虚拟机。

验证完成后,返回正确或者错误的结果,并将代理网关因为本次验证产生的虚拟ip删除,对演练虚拟机进行取消注册,然后在备份数据的配置文件中,标记其已经过演练,随后本次的备份数据有效性验证任务结束。

图3为本发明一种通过代理网关对虚拟机进行演练的系统的系统架构图。如图3所示,本发明一种通过代理网关对虚拟机进行演练的系统,包括:

代理网关创建单元301,用于在虚拟机平台上,创建并部署一台代理虚拟机作为代理网关,并为所述代理网关创建分别用于连通生产网络和连通演练机器的两张网卡,并配置该代理虚拟机生产网络以及隔离网络的ip地址。也就是说,所创建的代理网关含有两块网卡,一块与生产网络相同,即与npsvr互联,另一块与隔离网络相连,即与恢复出来的演练虚拟机相同网络。

具体地,代理网关创建单元301进一步包括:

vmdk文件获取模块,用于在安装sshpass,winexe,nc等工具包后,获得作为代理网关拉起的源磁盘文件vmdk文件。

具体地,准备好一台linux机器,选择centos6.8,在该机器中安装nc(全称为netcat,它能够建立并接受传输控制协议(tcp)和用户数据报协议(udp)的连接,netcat可在这些连接上读写数据,直到连接关闭为止,它可以通过手工或者脚本与应用层的网络应用程序或服务进行交互)工具包用于tcp验证,安装sshpass、winexe工具包用于脚本验证,并将centos6.8的vmdk文件拷贝下来,作为代理网关拉起的源磁盘文件。

代理网关创建部署模块,用于通过noproxyserver服务管理(noproxyserver,一种无代理的管理服务,能够支持esxi,vsphere平台备份容灾的软件,后续称npsvr),在esxi虚拟机平台上,创建一台代理虚拟机,作为代理网关,所述代理需要创建两块网卡,一块与生产网络相同,另一块则是拿来用作演练的网卡,这些工作皆由npsvr完成。

ip地址配置模块,用于配置该代理虚拟机生产网络以及隔离网络的ip地址。在本发明具体实施例中,npsvr配置所述代理虚拟机,使其以加载软盘的方式开机,软盘的内容则是执行脚本命令行,实现虚拟机开机后运行软盘中的脚本,达到修改ip地址的功能。

vmdk文件替换模块,用于将代理网关制作模块获得的vmdk文件上传到新建代理网关的存储目录中,进行vmdk磁盘文件的替换。

具体地,npsvr进行在创建代理网关后,便将会从本地中,将预先获得的centos6.8的vmdk文件,通过http协议(超文本传输协议)的方式,上传至新建代理网关的存储目录中,并进行vmdk磁盘文件的替换。

演练虚拟机拉起单元302,用于对备份数据下发创建瞬时恢复的任务,通过备份数据拉起一台演练虚拟机,为所述演练虚拟机分配隔离网络的网卡,并在成功拉起的演练虚拟机开机后,为所述代理网关设置虚拟ip以与所述演练虚拟机实现网络互通。

也就是说,当经过代理网关创建单元301的代理网关部署完成后,便可以开始进行备份数据的有效性验证了。首先对esxi虚拟机平台上的虚拟机通过npsvr和i2node,备份到备机当中,然后再通过npsvr发起瞬时恢复(一种通过nfs挂载的方式,将备机的文件夹,挂载至esxi平台中,然后给与该磁盘读写的权限,作为恢复的新虚拟机的数据盘)的任务,通过对备份数据瞬时恢复的方式创建一台演练虚拟机,npsvr同时会为该演练虚拟机分配隔离网络的网卡。

在本发明具体实施例中,当通过备份数据拉起所述演练虚拟机后,演练虚拟机拉起单元302首先根据演练虚拟机的ip地址和子网掩码,计算出一个可用的网络地址,然后将该可用的网络地址,添加到所述代理网关的隔离网卡上,通过该方法,可以实现对多网段的机器进行有效性验证。

有效性验证单元303,用于通过所述代理网关对所述演练虚拟机进行ping连通测试,端口有效性验证以及脚本验证。

也就是说,在确定好代理网关的虚拟ip后,在代理网关与目标机网络相通的情况下,在代理网关上执行command命令,可以是ping目标机的ip地址,也可以是检测目标端的端口,也更可以执行脚本命令,实现代理网关到演练虚拟机上,执行其他的命令。

具体地,npsvr建立ssh(secureshell)连接到代理网关,然后执行命令行ping-c*.*.*.*,如果测试ping方式可以连通,说明网络没有问题;也可以执行tcp命令进行端口有效性验证,例如命令行为:nc-z*.*.*.*端口号,如果得到成功的返回值,那么证明端口也是成功打开;还可以进行脚本命令进行脚本验证。该方式则是通过在代理网关上,建立代理网关和目标虚拟机的互联,达到能与目标虚拟机a’建立ssh连接,能够执行更多命令行的目的。如果目标虚拟机是linux,则命令行可为:sshpass-ppasswordssh-ostricthostkeychecking=nousrname@ip‘scripts’该命令执行后即可实现在代理网关执行scripts中的命令,如果演练虚拟机是windows,那么执行命令行:winexe-uusr%password//ip‘scripts’。

验证清理单元304,用于当验证结束后,清理所述演练虚拟机。

验证完成后,返回正确或者错误的结果,验证清理单元304将代理网关因为本次验证产生的虚拟ip删除,演练虚拟机进行取消注册,然后在备份数据的配置文件中,标记其已经过演练,随后本次的备份数据有效性验证任务结束。

实施例

在本实施例中,如图5所示,在esxi平台中,需要对a,b源虚拟机进行容灾备份,本实施例通过npsvr(noproxyserver,一种无代理的管理服务,能够支持esxi,vsphere平台备份容灾的软件)对该esxi平台虚拟机进行管理,包括备份,复制,迁移等任务。因为在每次备份后,都会产生一个备份的数据,然而备份数据的好坏,是看不出来的。需要手动进行拉起恢复虚拟机的操作对演练虚拟机开机。从而对数据有效性进行验证,因此就需要本发明一种通过代理网关的方式,对esxi平台上的虚拟机的备份数据进行有效性验证,如图4所示,其具体过程如下:

步骤一,npsvr下发创建代理网关的任务到esxi平台,本发明中的代理网关是特制的含有sshpass,winexe,nc等工具包的一台代理虚拟机,镜像文件小而全,然后通过http协议(超文本传输协议),将事先在npsvr的本地文件夹中准备好的centos6.8的vmdk文件,传输到代理虚拟机的存储目录当中,进行vmdk文件的替换,得到代理网关,所述代理网关含有两块网卡:一块与生产网络相同,即与npsvr互联,另一块与隔离网络相连,即与恢复出来的演练虚拟机相同网络,拿来用作演练的网卡,假设网卡名称为:“i2isolatedvmnetwork”。同时,npsvr配置代理虚拟机,使其加载软盘的方式开机,软盘的内容则是执行脚本命令行,实现虚拟机开机后运行软盘中的脚本,也就是说,隔离网络的网卡配置由代理网关读取软盘,执行软盘脚本命令的方式得到,软盘的脚本内容如图7所示。

步骤二,当代理网关部署完成后,便可以开始进行备份数据的有效性验证了,首先得对esxi平台上的虚拟机通过npsvr和i2node,备份到备机当中,然后npsvr对备份数据下发一个创建瞬时恢复的任务,则会通过备份数据拉起一个演练虚拟机,例如对a虚拟机的备份数据拉起演练虚拟机a’,对b虚拟机的备份数据拉起演练虚拟机b’,如图6所示,此时代理网关则要进行一个增加虚拟ip的操作,该虚拟ip需要添加到该代理网关的i2isolatedvmnetwork网卡上。

例如a虚拟机ip为172.20.16.61,首先为了确定该代理网关的虚拟ip的网络可互联至演练虚拟机,先设其虚拟ip的子网为255.255.252.0,然后根据虚拟机a的ip地址172.20.16.61,计算出当前最大可用的ip地址172.20.16.62.,并在代理网关上ping该地址,如果连通,则说明该地址已被使用,相反则未被使用,若该ip地址未被使用,则将该ip地址设置到所述代理网关隔离网络中去,即添加到该代理网关的i2isolatedvmnetwork网卡,若已被使用,则将ip地址减小一位,再进行上述操作。

在确定好代理网关的虚拟ip之后,便可对步骤二中通过npsvr瞬时恢复出来的演练虚拟机,例如演练虚拟机a’(图5),进行ping连通测试,具体地,npsvr建立ssh连接到代理网关,然后执行命令行ping-c172.20.16.61,如果测试ping方式可以连通,说明网络没有问题。

也可以进行tcp命令进行端口有效性验证。命令行为:nc-z172.20.16.6122,如果得到成功的返回值,那么证明端口也是成功打开。

还可以进行脚本命令进行脚本验证,该方式则是通过在代理网关上,建立代理网关和目标虚拟机的互联,达到能与目标虚拟机a’建立ssh连接,能够执行更多命令行。如果目标虚拟机是linux,则命令行可为:sshpass-ppasswordssh-ostricthostkeychecking=nousrname@ip‘scripts’该命令执行后即可实现在代理网关执行scripts中的命令。如果演练虚拟机是windows,那么执行命令行:winexe-uusr%password//ip‘scripts’,其与linux的效用相同。

步骤四,验证结束后,关闭演练虚拟机,并且取消注册演练虚拟机。该过程对备份数据不会产生任何的脏数据,并且记录下验证结果,完成一次数据有效性验证的任务。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1