一种操作系统的备份还原方法及系统技术方案

技术编号:32546322 阅读:17 留言:0更新日期:2022-03-05 11:44
本发明专利技术公开了一种操作系统的备份还原方法及系统,属于计算机信息技术领域,方法包括:响应于接收到备份指令,将操作系统磁盘文件的Btrfs文件系统分区挂载到操作系统的第一挂载点下,使用递归子卷搜索算法找出所有普通子卷内部的内部子卷,通过Btrfs文件系统提供的快照功能在需要备份的子卷中创建快照,将Btrfs文件系统分区卸载,得到包含备份内容的快照,所述需要备份的子卷包括普通子卷和内部子卷;响应于接收到还原指令,根据还原指令中包含的待还原快照信息,将待还原快照中的内容还原至操作系统中;实现了自动对内部子卷的备份和其他处理,不需要物理接触设备,减少了备份文件所占据的磁盘空间,提高了备份效率和磁盘利用率。率。率。

【技术实现步骤摘要】
一种操作系统的备份还原方法及系统


[0001]本专利技术涉及一种操作系统的备份还原方法及系统,属于计算机信息


技术介绍

[0002]在日益发展的互联网时代,高性能Linux集群系统在7*24小时运行的实时业务中需要稳定的数据收集及传输,对服务器的稳定运行要求极高;此外,在边缘计算等场景中,也需要运行Linux系统的硬件设施对外提供高效、稳定的服务;如何进一步保证系统正常运行,目前较为广泛应用的集群技术能有效提高Linux系统的冗余性,但是极个别系统的宕机、硬件故障、网络的不稳定、人为的误操作导致数据或文件丢失等等,在一定程度上会对业务的正常运行造成影响;在实时业务系统出现异常后,如何以最快的速度对系统进行恢复,逐渐成为业务维护人员首要考虑的问题。
[0003]现有的备份方案一般包括系统级备份和文件级备份,系统级备份是定期对系统进行全盘备份,在出现故障时直接进行系统回滚;文件级备份一般是定期备份文件,在出现故障或文件丢失时还原备份文件。
[0004]这些备份方案可以在一定程度上减少由于系统出现异常而导致的业务中断和数据丢失,但是仍存在较多问题;例如,现有的系统级备份方案一般需要额外的设备(如系统修复盘等),或者需要额外的分区(如备份还原分区等),因此这种备份和还原方式一般额外的备份还原设备,备份和还原过程较为不便;另外,现有的系统级备份和文件级备份方式需要使用额外的存储设备用于存放备份还原系统和备份文件,在还原时需要连接这些存储设备,备份占用的存储空间可能较大。
[0005]Btrfs(Butter FS)文件系统提供了子卷快照的功能,使用Btrfs文件系统可以实现对系统的备份;在Btrfs中,子卷(Subvolume)是基本的存储和管理单元,在Btrfs根分区中,Btrfs子卷可以作为目录直接使用;在操作系统中,Btrfs子卷可以作为分区被挂载使用;使用Btrfs文件系统进行文件级备份比较简单便捷,将待备份文件存放于Btrfs子卷中,对子卷进行快照即可备份文件。
[0006]也可以将Linux系统的根分区文件系统安装在Btrfs子卷中,通过对该子卷进行快照即可进行系统级的文件备份;但是,Btrfs只提供了存储管理的功能,并没有引导管理的功能,使用Btrfs进行子卷快照后只能保存子卷中的文件,而不能将系统还原后启动,即Btrfs只能实现系统级的备份,不能实现系统级还原。
[0007]另外,Btrfs只提供了单层子卷操作,无法同时对子卷内部的子卷进行操作;子卷内部的子卷是指,假设子卷A在操作系统中的路径为/mnt/btrfs/A,使用Btrfs在子卷A中创建子卷B,在操作系统中的路径为/mnt/btrfs/A/B,B子卷就是A子卷内部的子卷;在Btrfs中,对子卷A进行快照,生成子卷C,假设子卷C在操作系统的路径为/mnt/btrfs/C,在子卷C中,存在/mnt/btrfs/C/B目录,但是该目录下并没有内容,即在对子卷A进行快照时,并没有对子卷A内部的子卷进行快照;同时,直接删除子卷A将会失败,因为子卷A内部存在子卷;如果操作系统被安装在Btrfs子卷中,许多应用程序(如容器应用程序Docker)会自动在系统
的根分区文件系统子卷中创建子卷,直接使用Btrfs对根分区文件系统子卷进行快照备份时,由于Btrfs本身的机制,应用程序创建的根分区文件系统子卷内部的子卷不会被备份。
[0008]综上,现有的备份还原方案存在如下问题:1)需要额外的备份还原设备和存储设备;2)需要物理接触待备份和待还原设备才能实现备份还原;3)Btrfs提供了子卷快照的功能,但是没有提供启动到快照子卷的功能,同时,无法自动对子卷内部的子卷进行处理;4)备份占用的存储空间可能较大。

技术实现思路

[0009]本专利技术的目的在于提供一种操作系统的备份还原方法及系统,实现了自动对内部子卷的备份和其他处理,通过软件实现备份,不需要物理接触设备,减少了备份文件所占据的磁盘空间,提高了备份效率和磁盘利用率。
[0010]为实现以上目的,本专利技术是采用下述技术方案实现的:第一方面,本专利技术提供了一种操作系统的备份还原方法,包括:响应于接收到备份指令,将操作系统磁盘文件的Btrfs文件系统分区挂载到操作系统的第一挂载点下,使用递归子卷搜索算法找出所有普通子卷内部的内部子卷,通过Btrfs文件系统提供的快照功能在需要备份的子卷中创建快照,将Btrfs文件系统分区卸载,得到包含备份内容的快照,所述需要备份的子卷包括普通子卷和内部子卷;响应于接收到还原指令,根据还原指令中包含的待还原快照信息,将待还原快照中的内容还原至操作系统中。
[0011]结合第一方面,进一步的,使用递归子卷搜索算法找出所有内部子卷:读取所有子卷的信息,将子卷名称、子卷ID、子卷所在的子卷ID保存在数据库中;以需要备份的子卷的子卷ID为关键字,执行内部子卷查找,得到内部子卷列表;遍历内部子卷列表,以每一个内部子卷为关键字,重复内部子卷查找,直至无内部子卷;所述内部子卷查找为:在数据库中查询子卷所在的子卷ID为关键字的所有行,将子卷名称、子卷ID作为列表返回。
[0012]结合第一方面,进一步的,待还原快照中的内容为操作系统所有内容和/或某一分区的内容;还原操作系统所有内容的操作为根分区还原:将操作系统磁盘文件的Btrfs文件系统分区挂载到操作系统的第二挂载点下,将待还原快照、操作系统运行时文件系统、操作系统启动分区挂载到操作系统的第三挂载点下,通过chroot进入待还原快照的文件系统中,重新安装引导并更新引导,依次卸载操作系统启动分区、操作系统运行时文件系统、待还原快照和Btrfs文件系统分区,重启操作系统,完成根分区还原;还原某一分区的内容的操作为普通分区还原:将操作系统磁盘文件的Btrfs文件系统分区和第四挂载点的配置文件进行备份,修改配置文件,将第四挂载点下原来的子卷修改为待还原快照,将第四挂载点下原来的子卷卸载,将待还原快照挂载到第四挂载点下,完成普通分区还原。
[0013]结合第一方面,进一步的,还包括备份删除的步骤:在对保存有备份内容的快照进行删除时,使用递归子卷搜索算法找出该快照内所有内部子卷,同时对所有内部子卷进行删除操作,再删除该保存有备份内容的快照。
[0014]结合第一方面,进一步的,还包括:在操作系统中配置软件环境。
[0015]第二方面,本专利技术还提供了一种操作系统的备份还原系统,包括:备份模块:用于响应于接收到备份指令,将操作系统磁盘文件的Btrfs文件系统分区挂载到操作系统的第一挂载点下,使用递归子卷搜索算法找出所有普通子卷内部的内部子卷,通过Btrfs文件系统提供的快照功能在需要备份的子卷中创建快照,将Btrfs文件系统分区卸载,得到包含备份内容的快照,所述需要备份的子卷包括普通子卷和内部子卷;还原模块:用于响应于接收到还原指令,根据还原指令中包含的待还原快照信息,将待还原快照中的内容还原至操作系统中。
[0016]与现有技术相比,本专利技术所达到的有益效果是:本专利技术提供的一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种操作系统的备份还原方法,其特征在于,包括:响应于接收到备份指令,将操作系统磁盘文件的Btrfs文件系统分区挂载到操作系统的第一挂载点下,使用递归子卷搜索算法找出所有普通子卷内部的内部子卷,通过Btrfs文件系统提供的快照功能在需要备份的子卷中创建快照,将Btrfs文件系统分区卸载,得到包含备份内容的快照,所述需要备份的子卷包括普通子卷和内部子卷;响应于接收到还原指令,根据还原指令中包含的待还原快照信息,将待还原快照中的内容还原至操作系统中。2.根据权利要求1所述的一种操作系统的备份还原方法,其特征在于,使用递归子卷搜索算法找出所有内部子卷:读取所有子卷的信息,将子卷名称、子卷ID、子卷所在的子卷ID保存在数据库中;以需要备份的子卷的子卷ID为关键字,执行内部子卷查找,得到内部子卷列表;遍历内部子卷列表,以每一个内部子卷为关键字,重复内部子卷查找,直至无内部子卷;所述内部子卷查找为:在数据库中查询子卷所在的子卷ID为关键字的所有行,将子卷名称、子卷ID作为列表返回。3.根据权利要求1所述的一种操作系统的备份还原方法,其特征在于,待还原快照中的内容为操作系统所有内容和/或某一分区的内容;还原操作系统所有内容的操作为根分区还原:将操作系统磁盘文件的Btrfs文件系统分区挂载到操作系统的第二挂载点下,将待还原快照、操作系统运行时文件系统、操作系统启动分区挂载到操作系统的第三挂载点下,通过chroot进入待还原...

【专利技术属性】
技术研发人员:朱川秦银华龙霄汉
申请(专利权)人:上海宽泛科技有限公司
类型:发明
国别省市:

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

1