在旧硬盘损坏后,可以将整个文件系统完全恢复到空白硬盘(包括分区)的最佳 Linux 备份解决方案是什么?
我目前正在运行几台 Ubuntu 机器,有些带有 RAID-1,有些则没有 RAID(主要是笔记本电脑)。我想实现一个备份解决方案,可以对整个文件系统进行增量快照,这样如果我要替换全部机器中的硬盘,我可以使用备份来恢复以前的文件系统的完美副本。
不幸的是,我发现的几乎所有备份解决方案似乎都是被美化的 rsync 脚本,它们只能备份一些文件,而且一旦整个文件系统丢失,就没有简单的方法可以恢复。一些更复杂的解决方案,比如巴库拉,可能可以满足我的需要,但是需要复杂的服务器/客户端设置,而且维护起来非常困难。
我听说苹果的时光机器实用程序具有此功能,并且我也使用以下方法成功获取了差异磁盘映像安克诺斯 (Acronis) 真实影像在 Windows 上,但当然这些都不适用于 Linux。有没有什么可以与 Ubuntu 相媲美的?
答案1
首先要提醒的是,我认为这不会满足您的增量要求,而且我不确定 RAID 兼容性。但我玩过克隆兹拉有一点,作为具有大量文档的指导解决方案,我认为它至少值得检查。
答案2
最简单的解决方案是 dd 命令。
dd if=/dev/DEVICE_TO_BACKUP of=/mnt/DEVICE/filename
例如,如果您的笔记本电脑有一个隐藏的救援分区、一个系统分区和另一个分区,它可能看起来像这样:
/dev/sda0
/dev/sda1
/dev/sda2
要备份一个分区,您需要写入dd if=/dev/sdaX of=/mnt/DEVICE/filename
其中 X 是分区号。如果您要备份整个驱动器及其上的所有内容,则命令将是dd if=/dev/sda of=/mnt/DEVICE/filename
这将真正备份所有内容。要恢复系统,您只需更改命令的input file
(if=) 和output file
(of=)。但备份文件当然会很大。
问题是,它不是增量的。因此,您可能需要备份主文件夹和文件/etc/
夹,因为这是 Linux 中变化最快的部分。如果您在很多情况下拥有全新安装的 Linux,则只需再次备份apt-get
所需的数据包(对于基于 Debian 的系统)并将旧的 /etc/ 文件夹复制到新系统中即可。这在台式机上效果很好。
安装新 Linux 的一个快速但可能不太好的解决方案是简单地从头安装发行版并添加所有附加软件包。然后创建所需的用户。然后插入备份的 /etc/ 文件夹和 /home/ 文件夹。如果文件夹来自 fat 分区,则可能必须对文件夹运行 chown 和 chmod。但这不会太麻烦。在 dist-upgrade 失败后,我曾用这种方法安装我的 Ubuntu。
最重要的是记下安装了哪些附加软件。因此,你应该记录应该安装哪些附加包,以及是已安装。
答案3
我强烈建议您在使用 dd 之前先了解一下 partimage 方式,dd 还会复制未使用的空间,因此备份映像最终会与源分区一样大。Partimage 仅复制已使用的空间。
理想情况下,在足够大以容纳恢复映像的第二个分区上安装一个最小的 Linux 发行版,调整 initscript 以包含一个菜单,询问您是否要恢复或进行新的恢复,然后它会相应地运行 partimage。
答案4
我们已使用 Backup Exec Linux Edition 进行裸机恢复以及单个文件/文件夹恢复。效果非常好。处理硬件更改没有问题。免费试用,更多信息请点击此处。Linux 的 Backup Exec 系统恢复