本发明涉及云计算,特别涉及一种裸金属节点的镜像并发下载方法、装置、设备及介质。
背景技术:
1、openstack glance是openstack云计算平台中的一个核心组件,主要负责镜像的管理。glance提供了镜像的上传、检索、更新、删除以及存储等多种功能,使得用户可以方便地发现、注册和下载所需的镜像。glance支持多种后端,主要的有cinder(块存储服务)、rbd(rados block device)、file等。其中cinder后端兼容性最高,其原理是将镜像数据作为平台的一个存储卷进行保存,由cinder对该卷进行管理。glance通过调用cinder的标准接口,来对具体镜像的后端卷进行挂载、卸载,实现镜像数据填充或读取等操作。目前glance的实现不支持镜像卷的多挂载处理机制,因此限制了单个镜像并发下载的能力。
2、由上可见,如何实现裸金属节点的镜像并发下载及加速分发,提升在规模较大场景下的裸金属服务器的快速部署能力是本领域有待解决的问题。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种裸金属节点的镜像并发下载方法、装置、设备及介质,能够实现裸金属节点的镜像并发下载及加速分发,提升在规模较大场景下的裸金属服务器的快速部署能力。其具体方案如下:
2、第一方面,本技术公开了一种裸金属节点的镜像并发下载方法,应用于开源镜像服务,包括:
3、对本地的块存储服务后端进行镜像卷多挂载,并设置挂载模式,引入多进程及多线程下的镜像卷并发管理机制,为镜像卷添加本地文件锁,以得到目标块存储服务后端,利用所述目标块存储服务后端获取目标镜像;
4、构建多个镜像中转节点,并为所述镜像中转节点添加镜像缓存机制,利用添加镜像缓存机制后的所述镜像中转节点从所述目标块存储服务后端中获取所述目标镜像;
5、当添加镜像缓存机制后的所述镜像中转节点中的所述目标镜像被下载并缓存至缓存节点时,计算所述目标镜像的第一哈希值,当多个裸金属节点从所述缓存节点中并发下载所述目标镜像时,计算所述目标镜像的第二哈希值,对所述第一哈希值和所述第二哈希值进行校验,若校验通过,则完成对所述裸金属节点的镜像并发下载。
6、可选的,所述对本地的块存储服务后端进行镜像卷多挂载,并设置挂载模式,包括:
7、将本地的块存储服务后端的glance store库中驱动代码进行修改,并重新封装cinder接口,以支持镜像卷多挂载;
8、将挂载模式设置为只读。
9、可选的,所述引入多进程及多线程下的镜像卷并发管理机制,为镜像卷添加本地文件锁,包括:
10、引入附件状态管理器、多进程及多线程下的镜像卷并发管理机制,并为镜像卷中的附件创建信息和移除附件信息添加本地文件锁。
11、可选的,所述利用添加镜像缓存机制后的所述镜像中转节点从所述目标块存储服务后端中获取所述目标镜像之后,还包括:
12、采用lru置换算法对添加镜像缓存机制后的所述镜像中转节点中的镜像进行淘汰管理。
13、可选的,所述采用lru置换算法对添加镜像缓存机制后的所述镜像中转节点中的镜像进行淘汰管理,包括:
14、构建有序字典;其中,所述有序字典的唯一标识值为镜像标识符,所述有序字典的数值包括镜像的缓存路径、大小、镜像完整性摘要以及最近使用时间;
15、当添加镜像缓存机制后的所述镜像中转节点中存在新镜像时,基于所述新镜像对所述有序字典中的镜像进行淘汰剔除,以完成淘汰管理。
16、可选的,所述计算所述目标镜像的第一哈希值,包括:
17、利用sm3国密摘要算法计算所述目标镜像的第一哈希值;
18、相应的,所述计算所述目标镜像的第二哈希值,包括:
19、利用sm3国密摘要算法计算所述目标镜像的第二哈希值。
20、可选的,所述当多个裸金属节点从所述缓存节点中并发下载所述目标镜像时,包括:
21、获取裸金属节点发送的镜像获取请求时,判断本地的缓存节点中是否存在与所述镜像获取请求对应的目标镜像;
22、若本地的缓存节点中存在与所述镜像获取请求对应的目标镜像,则利用所述裸金属节点从所述缓存节点中并发下载所述目标镜像。
23、第二方面,本技术公开了一种裸金属节点的镜像并发下载装置,应用于开源镜像服务,包括:
24、后端配置模块,用于对本地的块存储服务后端进行镜像卷多挂载,并设置挂载模式,引入多进程及多线程下的镜像卷并发管理机制,为镜像卷添加本地文件锁,以得到目标块存储服务后端,利用所述目标块存储服务后端获取目标镜像;
25、中转节点构建及配置模块,用于构建多个镜像中转节点,并为所述镜像中转节点添加镜像缓存机制,利用添加镜像缓存机制后的所述镜像中转节点从所述目标块存储服务后端中获取所述目标镜像;
26、镜像并发下载模块,用于当添加镜像缓存机制后的所述镜像中转节点中的所述目标镜像被下载并缓存至缓存节点时,计算所述目标镜像的第一哈希值,当多个裸金属节点从所述缓存节点中并发下载所述目标镜像时,计算所述目标镜像的第二哈希值,对所述第一哈希值和所述第二哈希值进行校验,若校验通过,则完成对所述裸金属节点的镜像并发下载。
27、第三方面,本技术公开了一种电子设备,包括:
28、存储器,用于保存计算机程序;
29、处理器,用于执行所述计算机程序,以实现前述的裸金属节点的镜像并发下载方法。
30、第四方面,本技术公开了一种计算机存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的裸金属节点的镜像并发下载方法的步骤。
31、可见,本技术提供了一种裸金属节点的镜像并发下载方法,包括对本地的块存储服务后端进行镜像卷多挂载,并设置挂载模式,引入多进程及多线程下的镜像卷并发管理机制,为镜像卷添加本地文件锁,以得到目标块存储服务后端,利用所述目标块存储服务后端获取目标镜像;构建多个镜像中转节点,并为所述镜像中转节点添加镜像缓存机制,利用添加镜像缓存机制后的所述镜像中转节点从所述目标块存储服务后端中获取所述目标镜像;当添加镜像缓存机制后的所述镜像中转节点中的所述目标镜像被下载并缓存至缓存节点时,计算所述目标镜像的第一哈希值,当多个裸金属节点从所述缓存节点中并发下载所述目标镜像时,计算所述目标镜像的第二哈希值,对所述第一哈希值和所述第二哈希值进行校验,若校验通过,则完成对所述裸金属节点的镜像并发下载。本技术通过对块存储服务后端进行镜像卷多挂载,设置挂载模式,保证同一个镜像卷不会被重复挂载,引入多进程及多线程下的镜像卷并发管理机制,为镜像卷添加本地文件锁,保证多挂载的卷最后一个附件信息被清理时才会执行实际链路的断开,利用添加镜像缓存机制后的镜像中转节点从目标块存储服务后端中获取目标镜像,加速裸金属节点的部署,当添加镜像缓存机制后的镜像中转节点中的目标镜像被下载并缓存至缓存节点时,计算目标镜像的第一哈希值,当多个裸金属节点从缓存节点中并发下载目标镜像时,计算目标镜像的第二哈希值,能够增加缓存镜像的完整性校验机制,保证镜像缓存内容不被篡改,实现裸金属节点的镜像并发下载及加速分发,提升在规模较大场景下的裸金属服务器的快速部署能力。
1.一种裸金属节点的镜像并发下载方法,其特征在于,应用于开源镜像服务,包括:
2.根据权利要求1所述的裸金属节点的镜像并发下载方法,其特征在于,所述对本地的块存储服务后端进行镜像卷多挂载,并设置挂载模式,包括:
3.根据权利要求1所述的裸金属节点的镜像并发下载方法,其特征在于,所述引入多进程及多线程下的镜像卷并发管理机制,为镜像卷添加本地文件锁,包括:
4.根据权利要求1所述的裸金属节点的镜像并发下载方法,其特征在于,所述利用添加镜像缓存机制后的所述镜像中转节点从所述目标块存储服务后端中获取所述目标镜像之后,还包括:
5.根据权利要求4所述的裸金属节点的镜像并发下载方法,其特征在于,所述采用lru置换算法对添加镜像缓存机制后的所述镜像中转节点中的镜像进行淘汰管理,包括:
6.根据权利要求1所述的裸金属节点的镜像并发下载方法,其特征在于,所述计算所述目标镜像的第一哈希值,包括:
7.根据权利要求1至6任一项所述的裸金属节点的镜像并发下载方法,其特征在于,所述当多个裸金属节点从所述缓存节点中并发下载所述目标镜像时,包括:
8.一种裸金属节点的镜像并发下载装置,其特征在于,应用于开源镜像服务,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的裸金属节点的镜像并发下载方法。
