本发明涉及计算机,具体涉及一种云主机备份方法、装置、计算机设备及存储介质。
背景技术:
1、硬件故障、软件错误、网络问题等原因会使云主机发生存储故障,会导致云主机的业务数据丢失或不可用。在这种情况下,如果没有对云主机进行备份,则需要重新构建云主机环境并进行恢复数据等操作,这将会花费更长的时间,从而导致云主机的业务中断时间更长,给企业带来重大的损失和影响。因此,需要对云主机的数据进行备份,一旦出现存储故障,就可以使用备份数据快速恢复云主机,减少业务停机时间,从而减少损失和影响。
2、当前对云主机进行备份时,大多采用“openstack+备份一体机”的方案,openstack是一种基于云计算技术的开源软件平台,它提供了一整套构建和管理私有云和公有云所需的组件。备份一体机是一种集备份软件、存储设备和备份介质于一身的设备,它具有数据备份、恢复和管理等多项功能。然而,采用“openstack+备份一体机”的方案对云主机进行备份时,操作复杂,且对于中小型的云主机来说,该方案的成本过高。
3、因此,相关技术存在对云主机进行备份时方法单一,操作复杂且成本过高的问题。
技术实现思路
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、在有效状态为正常状态的情况下,根据云硬盘快照和第一历史备份数据确定第一增量数据,并将第一增量数据作为待备份数据;
29、在有效状态为异常状态的情况下,从备份云硬盘中获取第二历史备份数据,根据云硬盘快照和第二历史备份数据确定第二增量数据,并将第二增量数据作为待备份数据,其中,第二历史备份数据存入备份云硬盘的时间早于第一历史备份数据;
30、根据预设备份策略,将待备份数据写入备份云硬盘。
31、在本实施方式中,根据云硬盘快照和备份云硬盘中的备份数据,确定增量数据,并将增量数据写入备份云硬盘,实现了对云主机进行增量备份,丰富了本发明的备份方式。并且,相较于已有增量备份方法,本发明即便第一历史备份数据异常依然可以确定增量数据。
32、在一种可选的实施方式中,根据预设备份策略,将待备份数据写入备份云硬盘,包括:
33、根据预设规则和预设片段大小,将待备份数据划分成第一预设数量个数据片段,其中,每个数据片段的大小为预设片段大小;
34、生成数据片段对应的索引表和元数据文件,其中,索引表包含每个数据片段的索引值,索引值用于确定数据片段,元数据文件包含每个数据片段的目标完整性校验值;
35、根据备份任务调度和协调机制调用目标备份存储集群中的第二预设数量个备份节点,根据索引表,将数据片段并行传输至对应的备份节点,并控制备份节点并行处理数据片段;
36、在备份节点并行处理数据片段的过程中,解压数据片段,得到需要写入备份节点的待写入数据;
37、根据待写入数据得到待写入数据的当前完整性校验值,并判断当前完整性校验值和目标完整性校验值是否一致;
38、如果一致,将待写入数据写入对应的备份节点。
39、在本实施方式中,将待备份数据划分为数据片段,将数据片段并行传输至对应的备份节点,并控制备份节点并行处理数据片段。通过将待备份数据分片并进行并行传输,可以实现并发备份,提高数据备份的效率和速度。
40、在一种可选的实施方式中,在对云主机的云硬盘进行备份之后,方法还包括:
41、获取第二调用指令,根据第二调用指令得到原云主机,其中,原云主机为备份过的云主机,原云主机挂载有原云硬盘;
42、从备份云硬盘中获取第一待恢复数据,并将第一待恢复数据写入对应的原云硬盘;
43、调整原云硬盘的状态为可用状态;
44、获取第三调用指令,根据第三调用指令得到待创建云主机;
45、从备份云硬盘中获取第二待恢复数据,并获取待创建云主机对应的目标生产存储集群;
46、根据第二待恢复数据,在目标生产存储集群中创建新建云硬盘,其中,新建云硬盘包含第二待恢复数据,新建云硬盘用于创建待创建云主机。
47、在本实施方式中,第二组件既支持将备份云硬盘中的待恢复数据恢复到原云主机,又支持利用待恢复数据创建新建云硬盘,将待恢复数据恢复到新建云硬盘上,能够尽快恢复云主机业务,减少业务停机时间。
48、在一种可选的实施方式中,方法还包括:
49、获取备份云硬盘中备份数据的访问频率,并获取第一频率阈值和第二频率阈值;
50、根据访问频率将备份数据划分为不同的数据分片,并生成数据分片的索引信息;
51、获取云硬盘的存储空间和存储空间的读取速度,并获取第一速度阈值和第二速度阈值;
52、根据读取速度将存储空间划分为第一存储区间、第二存储区间以及第三存储区间,其中,第一存储区间的读取速度大于或等于第二速度阈值,第二存储区间的读取速度小于或等于第一速度阈值,第三存储区间的读取速度小于第二速度阈值且大于第一速度阈值;
53、将对应访问频率大于或等于第二频率阈值的数据分片放入第一存储区间;
54、将对应访问频率小于或等于第一频率阈值的数据分片放入第二存储区间;
55、将对应访问频率大于第一频率阈值且小于第二频率阈值的数据分片放入第三存储区间;
56、当从备份云硬盘中获取待恢复数据时,先获取目标索引信息,并将目标索引信息对应的数据分片进行拼接,得到待恢复数据,其中,目标索引信息包含于索引信息。
57、在本实施方式中,第二组件通过统计备份云硬盘中备份数据的还原请求调用次数,计算访问频率,按照访问频率高低划分数据分片,并合理调度数据分片迁移到对应的存储区间,节约了存储资源、提升了备份数据还原的速率。
58、第三方面,本发明提供了一种云主机备份装置,该装置包括:
59、第一控制模块,用于在接收到云主机备份指令的情况下,控制云主机备份指令对应的云主机停止对云主机挂载的云硬盘进行读写操作,其中,云硬盘用于存储云主机的系统和数据;
60、第一获取模块,用于获取云硬盘快照信息,并获取云硬盘对应的云硬盘信息,其中,云硬盘快照信息用于描述云硬盘快照的对应信息,云硬盘信息用于描述云硬盘的对应信息;
61、第一发送模块,用于根据云硬盘快照信息和云硬盘信息,向第二组件发送第一调用指令,其中,第一调用指令用于指示第二组件对云主机的云硬盘进行备份。
62、第四方面,本发明提供了一种云主机备份装置,该装置包括:
63、第二获取模块,用于获取云主机备份指令,并根据云主机备份指令得到备份类型和目标备份存储集群;
64、快照模块,用于在云主机备份指令对应的云主机停止对云主机挂载的云硬盘进行读写操作之后,对所有云硬盘进行快照,得到云硬盘快照和云硬盘快照信息,其中,云硬盘用于存储云主机的系统和数据,云硬盘快照信息用于描述云硬盘快照的对应信息;
65、第二发送模块,用于将云硬盘快照信息发送给第一组件;
66、备份模块,用于在接收到第一调用指令的情况下,根据备份类型和云硬盘快照,在目标备份存储集群中,对云主机的云硬盘进行备份。
67、第五方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的云主机备份方法。
68、第六方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的云主机备份方法。