13 Linux数据备份与恢复
- 丢失数据是常见的情况:有人是因为重装系统时,没有把加密文件的密钥导出,重装系统后密钥丢失,导致所有的加密数据不能解密;或者是硬盘损坏,从而导致硬盘中的重要数据丢失;还有人是因为在系统中误执行了
rm -rf
命令,导致整个根目录被人为清空。但由此带来的后果是一样严重的。保护重要数据的最有效的方法就是数据备份。
13.1 Linux备份的重要性
- 对于系统安全来说,系统硬件的损坏,黑客,都会对系统安全提出挑战。尽管之前学习了Linux 系统的安全防范策略(例如用户管理、权限管理等),但对于系统安全和应用安全来说,备份是以至关重要的策略。系统管理人员不能保证系统永远不出问题,但要在系统出现故障或者崩溃时,能以最快的速度,用最短时间恢复系统的运行,保证数据的安全,从而将故障带来的损失降到最低。
- 这要求系统管理人员对系统和业务应用有一个合理的备份恢复策略,完美的备份策略可以保证业务的 0 宕机时间和数据的完全恢复。而且我们在备份数据的时候,不仅要把数据保存在多个存储介质中,还要考虑把重要数据异地保存。
13.2 备份策略(完全备份、增量备份和差异备份)
- 常用的备份策略有完全备份和增量备份,而增量备份有可细分为累计增量备份和差异增量备份。
13.2.1 完全备份
- 完全备份是指把所有需要备份的数据全部备份。当然,完全备份可以备份整块硬盘、整个分区或某个具体的目录。对于 Linux 操作系统来说,完全备份指的就是将根目录下的所有文件进行备份。完全备份的好处是,所有数据都进行了备份,系统中任何数据丢失都能恢复,且恢复效率较高。如果完全备份备份的是整块硬盘,那么甚至不需要数据恢复,只要把备份硬盘安装上,服务器就会恢复正常。完全备份的缺点也很明显,那就是需要备份的数据量较大,备份时间较长,备份了很多无用数据,占用的空间较大,所以完全备份不可能每天执行。
- 一般会对关键服务器进行整盘完全备份,如果出现问题,则可以很快地使用备份硬盘进行替换,从而减少损失。我们甚至会对关键服务器搭设一台一模一样的服务器,这样只要远程几个命令(或使用 Shell 脚本自动检测,自动进行服务器替换),备份服务器就会接替原本的服务器,使故障响应时间大大缩短。
13.2.2 累计增量备份
- 对于数据量很大的业务应用中,每天对 Linux 系统进行完全备份是不现实的,这就需要用到增量备份策略。累计增量备份是指先进行一次完全备份,服务器运行一段时间之后,比较当前系统和完全备份的备份数据之间的差异,只备份有差异的数据。服务器继续运行,再经过一段时间,进行第二次增量备份。在进行第二次增量备份时,当前系统和第一次增量备份的数据进行比较,也是只备份有差异的数据。第三次增量备份是和第二次增量备份的数据进行比较,以此类推。所以,累计增量备份就是只备份每天增加或者变化的数据,而不备份系统中没有变动的数据。
- 假设我们在第一天进行一次完全备份。第二天增量备份时,只会备份第二天和第一天之间的差异数据,但是第二天的总备份数据是完全备份加第一次增量备份的数据。第三天增量备份时,只会备份第三天和第二天之间的差异数据,但是第三天的总备份数据是完全备份加第一次增量备份的数据,再加第二次增量备份的数据,依次类推。。
- 采用累计增量备份的好处是,每次备份需要备份的数据较少,耗时较短,占用的空间较小;坏处是数据恢复比较麻烦。当进行数据恢复时,就要先恢复完全备份的数据,再依次恢复第一次增量备份的数据、第二次增量备份的数据和第三次增量备份的数据,最终才能恢复所有的数据。
13.2.3 差异增量备份
- 差异增量备份(后续简称差异备份)也要先进行一次完全备份,但是和累计增量备份不同的是,每次差异备份都备份和原始的完全备份不同的数据。也就是说,差异备份每次备份的参照物都是原始的完全备份,而不是上一次的差异备份。
- 如我们在第一天也进行一次完全备份。第二天差异备份时,会备份第二天和第一天之间的差异数据,而第二天的备份数据是完全备份加第一次差异备份的数据。第三天进行差异备份时,仍和第一天的原始数据进行对比,把第二天和第三天所有的数据都备份在第二次差异备份中,第三天的备份数据是完全备份加第二次差异备份的数据,依次类推。
- 相比较而言,差异备份既不像完全备份一样把所有数据都进行备份,也不像增量备份在进行数据恢复时那么麻烦,只要先恢复完全备份的数据,再恢复差异备份的数据即可。不过,随着时间的增加,和完全备份相比,变动的数据越来越多,那么差异备份也可能会变得数据量庞大、备份速度缓慢、占用空间较大。
完全备份 | 增量备份 | 差异备份 | |
---|---|---|---|
备份策略 | 备份全部文件 | 备份从上一次备份后的全部改动和新文件 | 备份从上一次完全备份后的全部改动和新文件 |
备份速度 | 最慢 | 最快 | 较快 |
恢复速度 | 最快 | 最慢 | 较快 |
占用空间 | 最大 | 最小 | 较大 |
- 一个比较的备份策略是,对于数据量不大,并且每天数据量增加不多的系统,优先选择完全备份;对于数据量巨大,每天新增数据也很多的系统,视情况选择差异备份或者增量备份。
参考文献:
Linux备份策略(完全备份、增量备份和差异备份)详解
下一篇:Linux学习-58-备份数据命令(tar、rsync命令)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/123734.html