一种镜像坏层修复方法、装置、设备和介质制造方法及图纸

技术编号:24799111 阅读:28 留言:0更新日期:2020-07-07 20:58
本申请提供一种镜像坏层修复方法、装置、电子设备和计算机可读存储介质,该方法包括:当检测到容器加载镜像失败时,获取异常日志,并对异常日志进行分析得到镜像ID;根据镜像ID得到实际镜像层存储位置;根据实际镜像层存储位置判断是否存在对应的镜像坏层;若存在镜像坏层,则获取镜像坏层对应的所有的镜像,根据镜像进行镜像层修复。本申请当镜像加载失败时,根据镜像ID找到实际镜像层存储位置,然后对判断实际镜像层存储位置对应的镜像层进行判断,当存在镜像坏层时,统计该镜像坏层所影响的所有镜像,然后对镜像进行修复,在容器再次启动时避免出现镜像坏层时,实现了快速恢复该镜像的功能,节省了成本。

【技术实现步骤摘要】
一种镜像坏层修复方法、装置、设备和介质
本申请涉及镜像
,特别涉及一种镜像坏层修复方法、镜像坏层修复装置、电子设备和计算机可读存储介质。
技术介绍
容器技术是时下操作系统虚拟化中最热门的技术,其实现原理能够大幅度提升资源使用率和业务部署效率,因此深受业界青睐和采用,基于容器技术的容器云和云原生技术也是发展十分迅速。但是容器技术在大规模应用中会遇到很多实际问题,如本专利提到的镜像坏层问题,由于容器技术是基于镜像作为载体来实现功能,在某些情况下,镜像使用过程中会出现镜像坏层问题,而镜像坏层则会导致容器无法启动,直接导致功能无法使用。镜像坏层的根本原因就是镜像元数据记录的layerID组合没有丢失,因此在执行镜像拉取的过程中,检验到本地记录了该镜像的sha256码并且和镜像仓库的sha256一致,因此不再从远端镜像仓库拉取镜像。但是真正存储镜像文件的目录(上面提到的overlay2下不同ID文件夹)中有些文件丢失,导致在启动容器过程中出现镜像坏层的问题,不能启动容器。出现此问题的原因也是多种多样的,如宿主机意外宕机导致磁盘损坏,进而文件损坏;网本文档来自技高网...

【技术保护点】
1.一种镜像坏层修复方法,其特征在于,包括:/n当检测到容器加载镜像失败时,获取异常日志,并对所述异常日志进行分析得到镜像ID;/n根据所述镜像ID得到实际镜像层存储位置;/n根据所述实际镜像层存储位置判断是否存在对应的镜像坏层;/n若存在所述镜像坏层,则获取所述镜像坏层对应的所有的镜像,根据所述镜像进行镜像层修复。/n

【技术特征摘要】
1.一种镜像坏层修复方法,其特征在于,包括:
当检测到容器加载镜像失败时,获取异常日志,并对所述异常日志进行分析得到镜像ID;
根据所述镜像ID得到实际镜像层存储位置;
根据所述实际镜像层存储位置判断是否存在对应的镜像坏层;
若存在所述镜像坏层,则获取所述镜像坏层对应的所有的镜像,根据所述镜像进行镜像层修复。


2.根据权利要求1所述的镜像坏层修复方法,其特征在于,所述根据所述镜像ID得到实际镜像层存储位置,包括:
根据所述镜像ID得到镜像元数据文件中对应的镜像层列表;
遍历所述镜像层列表,确定镜像坏层文件;
从所述镜像坏层文件中确定所述实际镜像层存储位置。


3.根据权利要求1所述的镜像坏层修复方法,其特征在于,所述根据所述镜像进行镜像层修复,包括:
删除所有所述镜像,启动镜像修复程序,以使完成所述镜像修复。


4.根据权利要求1所述的镜像坏层修复方法,其特征在于,所述根据所述镜像进行镜像层修复,包括:
删除所有所述镜像坏层对应的镜像元数据和所述镜像;
启动镜像修复程序,以使完成所述镜像修复。


5.根据权利要求1所述的镜像坏层修复方法,其特征在于,所述根据所述实际镜像层存储位置判断是否存在对应的镜像坏层,包括:
根据所述实际镜像层存储位置判断对应的镜像层是否是完整镜像层。


6.一种镜像坏层...

【专利技术属性】
技术研发人员:王超李铭琨赵仁明
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1