Linux系统备份与恢复

Linux系统备份与恢复

如果这个问题之前已经回答过了,我很抱歉,但是我没有看到该问题的答案。

我想将我的 Debian 10 系统升级到版本 11。因此,我想进行完整备份,以便在升级过程中出现故障时可以恢复。

我的系统的磁盘分区非常简单。一个交换分区和一个包含所有内容的大型根文件系统。

因此,我认为一种简单的备份方法是安装一个外部驱动器(可能通过 USB),然后运行tar(带有一些压缩选项)来备份根文件系统,告诉它排除备份设备的挂载点(以避免无限递归)。

然后,如果我需要恢复,我可以启动实时映像,重新格式化存储并使用 tar 将所有内容复制回来,然后可能运行grub以使其可启动。

这听起来合理吗?还是说我将会制造一个难以恢复的混乱局面?

如果是后者,那么进行全系统备份的最佳常见做法是什么,以便我可以简单地将其恢复到新擦除的系统上以从灾难中恢复?

答案1

它既合理,又可能由于引导加载程序问题、分区问题等而造成混乱。

为了简单和全面,我可能会采用以下不同的方法:

  1. (可选,以节省空间,并且仅在未使用全盘加密并且您打算压缩备份时适用)用包含 0 的文件填充要备份的磁盘。您可以将 /dev/null 添加到文件,直到出现错误。然后删除文件。

  2. 从 U 盘或者类似设备启动(这样您就不再使用实时文件系统了。)

  3. 将硬盘的整个块设备备份到 USB 映像。您可以通过 gzip 管道对其进行压缩。(如果您不压缩它,您可以稍后将其作为文件系统挂载以恢复单个文件)

答案2

您的想法可能会奏效,并且具有创建可浏览档案的优势,但它也有缺点:您获得的是“随时间推移的副本”,而不是在某个时间点的副本,并且恢复分区和启动配置的负担落在您身上。

对于这种情况,我喜欢使用 Clonezilla - 正是因为它是完全自动化的并且相对万无一失。您可以从 USB 运行 Clonezilla 并让它拍摄磁盘快照(顺便说一句,使用多线程 zstd 压缩可获得最佳性能和最终大小)。映像将比dd生成的映像小,因为未使用的磁盘区域不会包含在磁盘映像中。恢复过程类似:启动 Clonezilla,选择磁盘,选择磁盘映像,等待它完成。恢复的系统应可立即启动。

Clonezilla 的图像不可浏览,因为这不是该工具的重点,但您可以读取磁盘的分区布局并使用恢复各个分区partclone

相关内容