本技术涉及通信,特别是涉及一种跨集群访问虚拟ip地址方法、一种跨集群访问虚拟ip地址装置、一种电子设备以及一种计算机非易失性可读存储介质。
背景技术:
1、集群之中的虚拟机可以通过二层网络互通,集群与集群之间可以通过三层网络互通,其中,二层网络仅通过mac(media access control address,物理地址/硬件地址)寻址即可实现通讯,三层网络则需要通过ip路由实现跨网段的通讯,因此可以跨集群进行通讯。
2、然而,在通过虚拟机上的虚拟ip(internet protocol)地址实现三层网络互通时,虚拟ip地址被分配到某个集群的某个虚拟机后,还无法被其他集群上的虚拟机感知,需要工作人员手动在控制面配置虚拟ip地址的静态路由后,才能被其他集群上的虚拟机感知使用,使得操作繁琐、效率低。
技术实现思路
1、本技术实施例是提供一种跨集群访问虚拟ip地址方法、装置、电子设备及存储介质,以解决工作人员在手动配置虚拟ip地址的静态路由时,存在操作繁琐、效率低的问题。
2、本技术实施例公开了一种跨集群访问虚拟ip地址方法,应用于第一集群的网关节点中,所述第一集群与第二集群通过路由器通信连接,所述方法包括:
3、将接收到的报文与流表进行匹配;其中,所述报文携带虚拟ip地址及其对应的mac地址;
4、当所述报文与所述流表中的第一流表项匹配成功时,确定所述虚拟ip地址漂移至所述第一集群内的虚拟机中,根据所述虚拟ip地址及其对应的mac地址在所述第二集群的路由器上添加所述虚拟ip地址对应的静态路由,以便所述第二集群访问所述第一集群中的所述虚拟ip地址。
5、在本技术的一些实施例中,在所述将接收到的报文与流表进行匹配之后,还包括:
6、当所述报文与所述流表中的第二流表项匹配成功时,确定所述虚拟ip地址漂移至所述第二集群内的虚拟机中,删去所述第二集群的路由器上所述虚拟ip地址对应的静态路由,并根据所述虚拟ip地址及其对应的mac地址在所述第一集群的路由器上添加所述虚拟ip地址对应的静态路由。
7、在本技术的一些实施例中,在所述将所述接收到的报文与流表进行匹配之前,还包括:
8、在所述流表中建立第一流表项,所述第一流表项用于感知所述第一集群中虚拟ip地址的出现;
9、在所述确定所述虚拟ip地址漂移至所述第一集群内的虚拟机中之后,还包括:
10、在所述流表中建立第二流表项,所述第二流表项用于感知第二集群中虚拟ip地址的出现;
11、在所述确定所述虚拟ip地址漂移至所述第二集群内的虚拟机中之后,还包括:
12、删去所述第二流表项。
13、在本技术的一些实施例中,在所述将所述接收到的报文与流表进行匹配之前,还包括:
14、在所述流表中建立第一流表项和第二流表项,所述第一流表项用于感知所述第一集群中虚拟ip地址的出现,所述第二流表项用于感知第二集群中虚拟ip地址的出现。
15、在本技术的一些实施例中,所述流表包括第一流表和第二流表,所述第一流表项位于所述第一流表中,所述第二流表项在所述第二流表中。
16、在本技术的一些实施例中,在所述确定所述虚拟ip地址漂移至所述第一集群内的虚拟机中之后,还包括:
17、根据所述虚拟ip地址及其对应的mac地址在所述第一流表中建立第三流表项;
18、在所述确定所述虚拟ip地址漂移至所述第二集群内的虚拟机中之后,还包括:
19、删去所述第三流表项。
20、在本技术的一些实施例中,在所述根据所述虚拟ip地址和所述mac地址在所述第一流表中建立第三流表项之后,还包括:
21、当新的报文与所述第三流表项匹配成功,且所述新的报文中的所述虚拟ip地址对应的mac地址与所述第三流表项中所述虚拟ip地址对应的mac地址不同时,确定所述虚拟ip地址在所述第一集群中发生漂移,根据所述新的报文中所述虚拟ip地址对应的mac地址,对所述第三流表项中所述虚拟ip地址对应的mac地址进行更新。
22、在本技术的一些实施例中,当同时存在所述第一流表项和所述第三流表项时,所述报文先与所述第三流表项匹配。
23、在本技术的一些实施例中,所述第一流表预先建立有第四流表项,所述将接收到的报文与流表进行匹配,包括;
24、当所述报文为所述第一集群发出的报文时,所述报文与所述第四流表项进行匹配;
25、若所述报文与所述第四流表项进行匹配成功,则确定所述报文携带ip地址及其对应的mac地址;
26、若所述报文与所述第四流表项进行匹配失败,则将所述报文与所述第一流表项进行匹配。
27、在本技术的一些实施例中,在所述确定所述虚拟ip地址漂移至所述第二集群内的虚拟机中之后,还包括:
28、通过所述第二流表项记录所述虚拟ip地址及其对应的所述mac地址;
29、在所述根据所述虚拟ip地址和所述mac地址在所述第一集群的路由器上添加所述虚拟ip地址对应的静态路由之后,还包括:
30、当新的报文与所述第二流表项匹配成功,且所述新的报文中的所述虚拟ip地址对应的mac地址与所述第二流表项中所述虚拟ip地址对应的mac地址不同时,确定所述虚拟ip地址在所述第二集群中发生漂移,根据所述新的报文中所述虚拟ip地址对应的mac地址,对所述第二流表项中所述虚拟ip地址对应的mac地址进行更新。
31、在本技术的一些实施例中,所述报文为ip报文或arp报文。
32、在本技术的一些实施例中,所述arp报文为所述虚拟ip地址漂移至虚拟机中时所述虚拟机广播发出。
33、在本技术的一些实施例中,所述根据所述虚拟ip地址及其对应的mac地址在所述第二集群的路由器上添加所述虚拟ip地址对应的静态路由,包括:
34、在集群共享数据库中添加所述虚拟ip地址及其对应的mac地址;以便所述第二集群从所述集群共享数据库获取到所述虚拟ip地址及其对应的mac地址,并根据所述虚拟ip地址及其对应的mac地址在所述第二集群的路由器上添加所述虚拟ip地址对应的静态路由。
35、在本技术的一些实施例中,所述删去所述第二集群的路由器上所述虚拟ip地址对应的静态路由,包括:
36、在所述集群共享数据库中删除所述虚拟ip地址及其对应的mac地址;以便所述第二集群感知到所述集群共享数据库的所述虚拟ip地址及其对应的mac地址删除后,删去所述第二集群的路由器上所述虚拟ip地址对应的静态路由。
37、在本技术的一些实施例中,所述路由器上配置有静态路由表,所述静态路由表用于保存所述虚拟ip地址对应的静态路由。
38、在本技术的一些实施例中,所述第一集群和所述第二集群均包括第一路由器和第二路由器,所述第一路由器用于实现所述第一集群和所述第二集群通信连接,所述第二路由器用于实现所述第一集群/所述第二集群内虚拟机的通信连接。
39、在本技术的一些实施例中,在所述确定所述虚拟ip地址漂移至所述第一集群内的虚拟机中之后,还包括:
40、在所述第一集群的第二路由器上添加所述虚拟ip地址及其对应的mac地址的映射关系。
41、在本技术的一些实施例中,所述网关节点为l2gateway网关节点。
42、在本技术的一些实施例中,在所述l2gateway网关节点中部署有控制代理。
43、本技术的一些实施例还公开了一种跨集群访问虚拟ip地址装置,应用于第一集群的网关节点中,所述第一集群与第二集群通过路由器通信连接,包括:
44、报文匹配模块,用于将接收到的报文与流表进行匹配;其中,所述报文携带虚拟ip地址及其对应的mac地址;
45、第一静态路由添加模块,用于当所述报文与所述流表中的第一流表项匹配成功时,确定所述虚拟ip地址漂移至所述第一集群内的虚拟机中,根据所述虚拟ip地址及其对应的mac地址在所述第二集群的路由器上添加所述虚拟ip地址对应的静态路由,以便所述第二集群访问所述第一集群中的所述虚拟ip地址。
46、在本技术的一些实施例中,还包括:
47、第二静态路由添加模块,用于当所述报文与所述流表中的第二流表项匹配成功时,确定所述虚拟ip地址漂移至所述第二集群内的虚拟机中,删去所述第二集群的路由器上所述虚拟ip地址对应的静态路由,并根据所述虚拟ip地址及其对应的mac地址在所述第一集群的路由器上添加所述虚拟ip地址对应的静态路由。
48、在本技术的一些实施例中,还包括:
49、第一流表项建立模块,用于在所述流表中建立第一流表项,所述第一流表项用于感知所述第一集群中虚拟ip地址的出现;
50、第二流表项建立模块,用于在所述流表中建立第二流表项,所述第二流表项用于感知第二集群中虚拟ip地址的出现;
51、第一流表项删除模块,用于删去所述第二流表项。
52、在本技术的一些实施例中,还包括:
53、流表项建立模块,用于在所述流表中建立第一流表项和第二流表项,所述第一流表项用于感知所述第一集群中虚拟ip地址的出现,所述第二流表项用于感知第二集群中虚拟ip地址的出现。
54、在本技术的一些实施例中,所述流表包括第一流表和第二流表,所述第一流表项位于所述第一流表中,所述第二流表项在所述第二流表中。
55、在本技术的一些实施例中,还包括:
56、第三流表项建立模块,用于根据所述虚拟ip地址及其对应的mac地址在所述第一流表中建立第三流表项;
57、第三流表项删除模块,用于删去所述第三流表项。
58、在本技术的一些实施例中,还包括:
59、静态路由更新模块,用于当新的报文与所述第三流表项匹配成功,且所述新的报文中的所述虚拟ip地址对应的mac地址与所述第三流表项中所述虚拟ip地址对应的mac地址不同时,确定所述虚拟ip地址在所述第一集群中发生漂移,根据所述新的报文中所述虚拟ip地址对应的mac地址,对所述第三流表项中所述虚拟ip地址对应的mac地址进行更新。
60、在本技术的一些实施例中,当同时存在所述第一流表项和所述第三流表项时,所述报文先与所述第三流表项匹配。
61、在本技术的一些实施例中,所述第一流表预先建立有第四流表项,所述报文匹配模块,包括;
62、第一报文匹配子模块,用于当所述报文为所述第一集群发出的报文时,所述报文与所述第四流表项进行匹配;
63、地址确定子模块,用于若所述报文与所述第四流表项进行匹配成功,则确定所述报文携带ip地址及其对应的mac地址;
64、第二报文匹配子模块,用于若所述报文与所述第四流表项进行匹配失败,则将所述报文与所述第一流表项进行匹配。
65、在本技术的一些实施例中,还包括:
66、信息记录模块,用于通过所述第二流表项记录所述虚拟ip地址及其对应的所述mac地址;
67、静态路由更新模块,还用于当新的报文与所述第二流表项匹配成功,且所述新的报文中的所述虚拟ip地址对应的mac地址与所述第二流表项中所述虚拟ip地址对应的mac地址不同时,确定所述虚拟ip地址在所述第二集群中发生漂移,根据所述新的报文中所述虚拟ip地址对应的mac地址,对所述第二流表项中所述虚拟ip地址对应的mac地址进行更新。
68、在本技术的一些实施例中,所述报文为ip报文或arp报文。
69、在本技术的一些实施例中,所述arp报文为所述虚拟ip地址漂移至虚拟机中时所述虚拟机广播发出。
70、在本技术的一些实施例中,所述第一静态路由添加模块,包括:
71、数据添加子模块,用于在集群共享数据库中添加所述虚拟ip地址及其对应的mac地址;以便所述第二集群从所述集群共享数据库获取到所述虚拟ip地址及其对应的mac地址,并根据所述虚拟ip地址及其对应的mac地址在所述第二集群的路由器上添加所述虚拟ip地址对应的静态路由。
72、在本技术的一些实施例中,所述第二静态路由添加模块,包括:
73、数据删除子模块,用于在所述集群共享数据库中删除所述虚拟ip地址及其对应的mac地址;以便所述第二集群感知到所述集群共享数据库的所述虚拟ip地址及其对应的mac地址删除后,删去所述第二集群的路由器上所述虚拟ip地址对应的静态路由。
74、在本技术的一些实施例中,所述路由器上配置有静态路由表,所述静态路由表用于保存所述虚拟ip地址对应的静态路由。
75、在本技术的一些实施例中,所述第一集群和所述第二集群均包括第一路由器和第二路由器,所述第一路由器用于实现所述第一集群和所述第二集群通信连接,所述第二路由器用于实现所述第一集群/所述第二集群内虚拟机的通信连接。
76、在本技术的一些实施例中,还包括:
77、映射关系添加模块,用于在所述第一集群的第二路由器上添加所述虚拟ip地址及其对应的mac地址的映射关系。
78、在本技术的一些实施例中,所述网关节点为l2gateway网关节点。
79、在本技术的一些实施例中,在所述l2gateway网关节点中部署有控制代理。
80、本技术实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
81、所述存储器,用于存放计算机程序;
82、所述处理器,用于执行存储器上所存放的程序时,实现如本技术实施例所述的方法。
83、本技术实施例还公开了一种计算机非易失性可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本技术实施例所述的方法。
84、本技术实施例包括以下优点:通过流表中的第一流表项匹配报文的方式,确定出虚拟ip地址漂移至第一集群,并根据虚拟ip地址所在的集群位置配置第二集群中虚拟ip地址对应的静态路由,实现让第二集群中的虚拟机/设备可以跨集群访问第一集群中的虚拟ip地址,无需工作人员手动在控制面配置虚拟ip地址的静态路由,解决了工作人员在手动配置虚拟ip地址的静态路由时,存在操作繁琐、效率低的问题。