System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及系统恢复,具体提供linux操作系统故障的快速恢复方法。
技术介绍
1、在日益发展的互联网时代,高性能linux集群系统在7*24小时运行的实时业务中需要稳定的数据收集及传输,对服务器的稳定运行要求极高;此外,在边缘计算等场景中,也需要运行linux系统的硬件设施对外提供高效、稳定的服务;如何进一步保证系统正常运行,目前较为广泛应用的集群技术能有效提高linux系统的冗余性,但是极个别系统的宕机、硬件故障、网络的不稳定、人为的误操作导致数据或文件丢失等等,在一定程度上会对业务的正常运行造成影响;在实时业务系统出现异常后,如何以最快的速度对系统进行恢复,逐渐成为业务维护人员首要考虑的问题。
2、如图1所示,当前主流的备份恢复方式是通过rsync技术,备份操作系统时,通过rsync技术,可以是增量备份,也可以是全量备份,将需要备份的操作系统文件拷贝到本地的一块备份分区,恢复时,通过rsync技术将该分支指定的备份节点数据拷贝到默认的根分区。但是该技术有以下缺点:
3、①同步数据,需要扫描所有文件进行对比,才进行差量传输。如果文件数量达到百万甚至千万级,扫描文件对比文件将非常耗时,降低了rsync效率。
4、②rsync不能实时文件监测、同步数据。虽然可以通过守护进程方式触发同步,但两次动作间有时间差,导致数据不一致,无法应对出现故障时完全恢复数据。
5、③大量小文件同步,时间长,有时会导致rsync进程中断或挂起。
6、④rsync同步时,会将本地目录中的文件
7、⑤由于每次备份时,都是复制一份新的文件,占用的磁盘空间是成倍增加,浪费磁盘空间。
8、⑥无论是备份系统,还是恢复系统,都是通过rsync技术进行复制,时间长,效率低。
9、总体来说,现有的备份工具,备份系统时间长,需要额外的空间来存放备份的数据;备份和还原对于普通用户,使用需要一定技术基础,尤其是系统崩溃后还原系统;现有的备份方案一般包括系统级备份和文件级备份,系统级备份是定期对系统进行全盘备份,在出现故障时直接进行系统回滚;文件级备份一般是定期备份文件,在出现故障或文件丢失时还原备份文件。这些备份方案可以在一定程度上减少由于系统出现异常而导致的业务中断和数据丢失,但是仍存在较多问题;例如,现有的系统级备份方案一般需要额外的设备,如系统修复盘等,或者需要额外的分区,如备份还原分区等,因此这种备份和还原方式一般额外的备份还原设备,备份和还原过程较为不便;另外,现有的系统级备份和文件级备份方式需要使用额外的存储设备用于存放备份还原系统和备份文件,在还原时需要连接这些存储设备,备份占用的存储空间可能较大。
10、相应地,本领域需要一种新的linux操作系统故障的快速恢复方案来解决上述问题。
技术实现思路
1、为了克服上述缺陷,提出了本专利技术,以解决现有技术中的备份还原方式具有操作技术难、备份系统时间长、需要额外的空间来存放备份的数据等技术问题。
2、本专利技术提供一种linux操作系统故障的快速恢复方法,包括步骤:
3、在linux操作系统初始化安装时,将磁盘sdx或磁盘分区sdx1格式化为btrfs文件系统格式,作为btrfs根子卷;
4、将linux操作系统原始的根文件系统安装到btrfs根子卷中,并将所述btrfs根子卷设置为btrfs默认子卷;
5、在btrfs根子卷中创建/.snapshots子卷,所述/.snapshots子卷用于存储所有快照对应的btrfs子卷;
6、初始化/boot/grub2/grub.cfg,不设置rootflags=subvolume=/xxx,并增加检索快照的配置,同时在grub菜单选项的linux命令行增加变量参数$custom_cmdline;
7、响应于快照创建指令,进行快照x的创建,x∈n+;
8、当系统恢复时,获取特定时刻创建的快照x;
9、创建快照x的可读写快照x’,将快照x’对应的btrfs子卷设置为btrfs默认子卷,并重启系统。
10、进一步,所述增加检索快照的配置,包括在/boot/grub2/grub.cfg中增加下述内容:
11、if[-f"/.snapshots/grub-snapshot.cfg"];then
12、source"/.snapshots/grub-snapshot.cfg"
13、fi。
14、进一步,所述响应于快照创建指令,包括:
15、响应于用户主动输入的快照创建指令,和/或
16、响应于预设时间自动生成的快照创建指令。
17、进一步,所述进行快照x的创建,包括步骤:
18、在/.snapshots子卷下创建/.snapshots/x子卷,所述/.snapshots/x子卷表示所述快照x对应的btrfs子卷;
19、将当前状态下的linux操作系统的根文件系统存储到/.snapshots/x子卷中;
20、将快照x的检索目录信息保存到/.snapshots/grub-snapshots.cfg子卷中。
21、进一步,所述将当前状态下的linux操作系统的根文件系统存储到/.snapshots/x子卷中,包括:
22、在/.snapshots/x子卷下创建/.snapshots/x/snapshot子卷,将当前状态下的根文件系统存储在/.snapshots/x/snapshot子卷中;
23、在/.snapshots/x子卷下创建/.snapshots/x/grub-snapshot.cfg子卷,将快照x的基本信息存储在/.snapshots/x/grub-snapshot.cfg子卷中,所述基本信息包括快照x对应的子卷id和存储路径。
24、进一步,所述当系统恢复时,获取特定时刻创建的快照x,包括:
25、在系统正常运行时进行系统恢复,获取指定时刻创建的快照x;
26、在系统故障后,通过grub引导,获取指定的时刻创建的快照x。
27、进一步,所述通过grub引导,获取指定的时刻创建的快照x,包括:
28、在开机时,进入grub菜单,在快照列表中选择一个快照x;
29、grub加载读取/.snapshots/x/snapshot/boot/grub2/grub.cfg,将变量custom_cmdline=rootflagsvolume=/.snapshots/x/snapshot传递给grub.cfg中的$custom_cmdline变量;
30、内核挂载指定的子卷/本文档来自技高网...
【技术保护点】
1.一种linux操作系统故障的快速恢复方法,其特征在于,所述快速恢复方法包括步骤:
2.根据权利要求1所述的一种linux操作系统故障的快速恢复方法,其特征在于,所述增加检索快照的配置,包括在/boot/grub2/grub.cfg中增加下述内容:
3.根据权利要求1所述的一种linux操作系统故障的快速恢复方法,其特征在于,所述响应于快照创建指令,包括:
4.根据权利要求1所述的一种linux操作系统故障的快速恢复方法,其特征在于,所述进行快照x的创建,包括步骤:
5.根据权利要求4所述的一种linux操作系统故障的快速恢复方法,其特征在于,所述将当前状态下的Linux操作系统的根文件系统存储到/.snapshots/x子卷中,包括:
6.根据权利要求1所述的一种linux操作系统故障的快速恢复方法,其特征在于,所述当系统恢复时,获取特定时刻创建的快照x,包括:
7.根据权利要求6所述的一种linux操作系统故障的快速恢复方法,其特征在于,所述通过grub引导,获取指定的时刻创建的快照x,包括:
【技术特征摘要】
1.一种linux操作系统故障的快速恢复方法,其特征在于,所述快速恢复方法包括步骤:
2.根据权利要求1所述的一种linux操作系统故障的快速恢复方法,其特征在于,所述增加检索快照的配置,包括在/boot/grub2/grub.cfg中增加下述内容:
3.根据权利要求1所述的一种linux操作系统故障的快速恢复方法,其特征在于,所述响应于快照创建指令,包括:
4.根据权利要求1所述的一种linux操作系统故障的快速恢复方法,其特征在于,所述进行快照x的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。