本发明涉及云计算,具体而言,涉及一种跨集群迁移批量云主机的方法、装置、设备及介质。
背景技术:
1、超融合集群作为一种集计算、存储和网络功能于一体的综合解决方案,得到了企业在数据中心部署和管理的广泛应用。随着企业业务的不断扩展,当企业需要进行数据中心整合、跨数据中心迁移、资源优化或者跨云厂商迁移时,主要是由用户手动将集群内单个云主机的数据迁移到另一集群。
2、但通常集群中包含大量云主机,各个云主机又包含大量数据,且集群间的专线带宽一般较低,容易在跨集群迁移批量云主机的过程中占用大量网络带宽,导致网络拥堵,迁移速度缓慢,难以提高跨集群迁移批量云主机的整体效率。
技术实现思路
1、本发明实施例的目的在于提供一种跨集群迁移批量云主机的方法、装置、设备及介质,用以实现提高跨集群迁移批量云主机的效率的技术效果。
2、第一方面,本发明实施例提供一种跨集群迁移批量云主机的方法,适用于第一集群服务器,所述跨集群迁移批量云主机的方法,包括:
3、将云硬盘数据划分为多个云硬盘数据块,判断当前待发送的目标云硬盘数据块是否为历史发送数据块;
4、当所述目标云硬盘数据块为历史发送数据块时,向第二集群服务器发送所述目标云硬盘数据块的位置信息,使所述第二集群服务器根据所述目标云硬盘数据块的位置信息获取并存储所述目标云硬盘数据块;
5、当所述目标云硬盘数据块不为历史发送数据块时,向所述第二集群服务器发送所述目标云硬盘数据块,使所述第二集群服务器存储所述目标云硬盘数据块,并将所述目标云硬盘数据块作为历史发送数据块存储。
6、在上述实现过程中,通过由第一集群服务器对第一集群中云主机的云硬盘数据进行分块去重发送,能够有效降低网络传输的数据量,避免因占用集群间大量的网络带宽而导致网络拥堵,加快跨集群迁移批量云主机的速度,从而提高跨集群迁移批量云主机的效率。
7、进一步地,在所述将云硬盘数据划分为多个云硬盘数据块,判断当前待发送的目标云硬盘数据块是否为历史发送数据块之前,还包括:
8、向所述第二集群服务器发送源虚拟机的基础配置信息和云硬盘信息,使所述第二集群服务器根据所述源虚拟机的基础配置信息和云硬盘信息在第二集群中创建目的虚拟机。
9、在上述实现过程中,通过由第一集群服务器向第二集群服务器发送源虚拟机的基础配置信息和云硬盘信息,使第二集群服务器根据源虚拟机的基础配置信息和云硬盘信息在第二集群中创建目的虚拟机,能够保证在第二集群中创建的目的虚拟机与第一集群中的源虚拟机的硬件结构保持一致,从而进一步提高跨集群迁移批量云主机的效率。
10、进一步地,所述将云硬盘数据划分为多个云硬盘数据块,具体包括:
11、将所述云硬盘数据划分为多个云硬盘数据块,使各个所述云硬盘数据块的数据长度均等于预设数据长度。
12、在上述实现过程中,通过由第一集群服务器将云硬盘数据划分为多个数据长度均等于预设数据长度的云硬盘数据块,能够保证后续快速准确地判断目标云硬盘数据块是否为历史发送数据块,从而进一步提高跨集群迁移批量云主机的效率。
13、进一步地,所述判断当前待发送的目标云硬盘数据块是否为历史发送数据块,具体包括:
14、对所述目标云硬盘数据块进行哈希计算,得到所述目标云硬盘数据块的哈希值;
15、查询所述第一集群服务器的内存数据库中是否有所述目标云硬盘数据块的哈希值;
16、当所述第一集群服务器的内存数据库中有所述目标云硬盘数据块的哈希值时,判定所述目标云硬盘数据块为历史发送数据块;
17、当所述第一集群服务器的内存数据库中没有所述目标云硬盘数据块的哈希值时,判定所述目标云硬盘数据块不为历史发送数据块。
18、在上述实现过程中,通过在第一集群服务器的内存数据库足以存储跨集群迁移批量云主机过程中向第二集群服务器发送的所有云硬盘数据块的情况下,由第一集群服务器仅从第一集群服务器的内存数据库中查询有无目标云硬盘数据块的哈希值来判断目标云硬盘数据块是否为历史发送数据块,能够保证快速准确地判断目标云硬盘数据块是否为历史发送数据块,从而进一步提高跨集群迁移批量云主机的效率。
19、进一步地,所述判断当前待发送的目标云硬盘数据块是否为历史发送数据块,具体包括:
20、对所述目标云硬盘数据块进行哈希计算,得到所述目标云硬盘数据块的哈希值;
21、查询所述第一集群服务器的内存数据库中是否有所述目标云硬盘数据块的哈希值;
22、当所述第一集群服务器的内存数据库中有所述目标云硬盘数据块的哈希值时,判定所述目标云硬盘数据块为历史发送数据块;
23、当所述第一集群服务器的内存数据库中没有所述目标云硬盘数据块的哈希值时,继续查询所述第一集群服务器的外部数据库中是否有所述目标云硬盘数据块的哈希值;
24、当所述第一集群服务器的外部数据库中有所述目标云硬盘数据块的哈希值时,判定所述目标云硬盘数据块为历史发送数据块;
25、当所述第一集群服务器的外部数据库中没有所述目标云硬盘数据块的哈希值时,判定所述目标云硬盘数据块不为历史发送数据块。
26、在上述实现过程中,通过在第一集群服务器的内存数据库不足以存储跨集群迁移批量云主机过程中向第二集群服务器发送的所有云硬盘数据块的情况下,由第一集群服务器依次从第一集群服务器的内存数据库、外部数据库中查询有无目标云硬盘数据块的哈希值来判断目标云硬盘数据块是否为历史发送数据块,能够保证快速准确地判断目标云硬盘数据块是否为历史发送数据块,从而进一步提高跨集群迁移批量云主机的效率。
27、进一步地,所述对所述目标云硬盘数据块进行哈希计算,得到所述目标云硬盘数据块的哈希值,具体包括:
28、采用md5算法,对所述目标云硬盘数据块进行哈希计算,得到所述目标云硬盘数据块的哈希值。
29、在上述实现过程中,通过由第一集群服务器采用md5算法计算目标云硬盘数据块的哈希值,能够保证准确判断目标云硬盘数据块是否为历史发送数据块,从而进一步提高跨集群迁移批量云主机的效率。
30、进一步地,所述继续查询所述第一集群服务器的外部数据库中是否有所述目标云硬盘数据块的哈希值,具体包括:
31、采用布隆过滤器预测所述第一集群服务器的外部数据库中是否有所述目标云硬盘数据块的哈希值;
32、当预测到所述第一集群服务器的外部数据库中有所述目标云硬盘数据块的哈希值时,继续查询所述第一集群服务器的外部数据库中是否有所述目标云硬盘数据块的哈希值。
33、在上述实现过程中,通过由第一集群服务器仅在布隆过滤器预测到第一集群服务器的外部数据库中有目标云硬盘数据块的哈希值时,才继续查询第一集群服务器的外部数据库中是否有目标云硬盘数据块的哈希值,能够在判断目标云硬盘数据块是否为历史发送数据块的过程中有效减少数据库的查询次数,从而进一步提高跨集群迁移批量云主机的效率。
34、进一步地,所述跨集群迁移批量云主机的方法,还包括:
35、统计所述第一集群服务器的内存数据库中的各个历史发送数据块的查询次数,以及统计所述第一集群服务器的外部数据库中的各个历史发送数据块的查询次数;
36、将查询次数最多的预设数量的历史发送数据块存储在所述第一集群服务器的内存数据库,将其余历史发送数据块存储在所述第一集群服务器的外部数据库。
37、在上述实现过程中,通过由第一集群服务器将查询次数最多的预设数量的历史发送数据块存储在第一集群服务器的内存数据库,将其余历史发送数据块存储在第一集群服务器的外部数据块,能够使后续更加快速地判断目标云硬盘数据块是否为历史发送数据块,从而进一步提高跨集群迁移批量云主机的效率。
38、进一步地,所述使所述第二集群服务器根据所述目标云硬盘数据块的位置信息获取并存储所述目标云硬盘数据块,具体包括:
39、使所述第二集群服务器根据所述目标云硬盘数据块的位置信息,从目标云硬盘中读取所述目标云硬盘数据块,将所述目标云硬盘数据块存储在第二集群中的目的虚拟机上;其中,所述目标云硬盘数据块的位置信息包括所述目标云硬盘的编号和所述目标云硬盘数据块在所述目标云硬盘中的偏移位置。
40、在上述实现过程中,通过由第二集群服务器在接收到第一集群服务器发送的目标云硬盘数据块的位置信息时,根据目标云硬盘数据块的位置信息自行读取目标云硬盘数据块,能够保证第二集群服务器准确读取目标云硬盘数据块,从而进一步提高跨集群迁移批量云主机的效率。
41、进一步地,所述将所述目标云硬盘数据块作为历史发送数据块存储,具体包括:
42、以所述目标云硬盘数据块的哈希值为键、以所述目标云硬盘数据块的位置信息为值,生成所述目标云硬盘数据块的键值信息;
43、将所述目标云硬盘数据块的键值信息存储在所述第一集群服务器的数据库。
44、在上述实现过程中,通过由第一集群服务器以目标云硬盘数据块的哈希值为键、以目标云硬盘数据块的位置信息为值,生成目标云硬盘数据块的键值信息,将目标云硬盘数据块的键值信息存储在第一集群服务器的数据库,能够进一步提高跨集群迁移批量云主机的效率。
45、第二方面,本发明实施例提供一种跨集群迁移批量云主机的装置,适用于第一集群服务器,所述跨集群迁移批量云主机的装置,包括:
46、数据处理模块,用于将云硬盘数据划分为多个云硬盘数据块,判断当前待发送的目标云硬盘数据块是否为历史发送数据块;
47、数据发送模块,用于当所述目标云硬盘数据块为历史发送数据块时,向第二集群服务器发送所述目标云硬盘数据块的位置信息,使所述第二集群服务器根据所述目标云硬盘数据块的位置信息获取并存储所述目标云硬盘数据块;
48、所述数据发送模块,还用于当所述目标云硬盘数据块不为历史发送数据块时,向所述第二集群服务器发送所述目标云硬盘数据块,使所述第二集群服务器存储所述目标云硬盘数据块,并将所述目标云硬盘数据块作为历史发送数据块存储。
49、第三方面,本发明实施例提供一种电子设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序;所述存储器与所述处理器耦接,且所述处理器执行所述计算机程序时实现如上所述的跨集群迁移批量云主机的方法。
50、第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上所述的跨集群迁移批量云主机的方法。