完整还原linux系统

Sim*_*ter 20 linux backup system-restore fedora rsync

我熟悉使用 rsync 从我的系统备份各种文件,但完全恢复机器的最佳方法是什么。

我过去尝试过的是:

  1. 从 Fedora 安装盘进行基本格式化/重新安装
  2. 确保网络已启用
  3. 将 rsync 备份中的所有内容复制到新安装系统的顶部

这种方式是有效的,但我不认为安装的每个包之后都可以 100% 工作。

我希望能够以最少的努力恢复我的系统,并且一切都与进行备份时一样。此外,如果可能的话,安装到其他机器上,并且基本上有两台具有相同包和数据的机器。

kby*_*yrd 17

这是我所做的(假设一个磁盘,在 /dev/sda)

  • 使用dd备份MBR和分区表:“dd bs=512 count=1 if=/dev/sda of=/backups/sda.layout”

  • 使用 rsync 复制整个内容,例如:“rsync -axvPH --numeric-ids ...”

在恢复我这样做:

  • sysrescuecd启动目标机器,我通常会在 USB 记忆棒上有“sda.layout”文件。

  • 用dd恢复MBR/分区表:“dd bs=512 count=1 if=/path/to/sda.layout of=/dev/sda”

  • 使用 partprobe (感谢评论者 Mark)让内核重新读取分区表。

  • 在 /restore/ 下挂载所有不同的分区。我在还原下使挂载点相同,所以如果我的源上有 /boot、/var,我最终会得到 /restore/boot、/restore/var 等。

  • 使用 rsync 来恢复整个事情。

  • 我已经这样做了几次,并且具有使用标准 linux CLI 命令的优势。我使用 rsnapshot,一个围绕 rsync 的 perl 脚本来备份到中央服务器。然后在从 sysrescuecd 引导并 dd'ing 分区表后将整个事情同步回来。顺便说一句,“partprobe”将重新读取分区表 (3认同)
  • 不要忘记用 dd 计数!“dd bs=512 if=/dev/sda of=/backups/sda.layout count=1”和“dd bs=512 if=/path/to/sda.layout of=/dev/sda count=1” (3认同)

Kam*_*iel 6

我从不完全克隆系统。您永远不知道什么可能会发生变化,并且您的系统克隆映像在发生更改的那一刻就已经过时了。最好的方法是建立一个程序,让您生产功能相同的系统。一种可能性是类似于 Kickstart 或 AutoYaST 或类似工具。做好配置的备份,最好使用配置管理系统(例如 Bcfg2、Puppet 或 CFEngine)来配置所有内容,而不是手动完成。然后,当您需要创建与现有系统相似的新系统或重新创建现有系统时,这是一个简单且定义明确的过程。