彻底恢复Linux系统

彻底恢复Linux系统

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

我过去尝试过的方法如下:

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

这种方式确实可行,但我不认为之后安装的每个包都能 100% 正常工作。

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

答案1

这是我所做的(假设单个磁盘,位于 /dev/sda)

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

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

在恢复时我这样做:

  • 使用以下方式启动目标机器系统救援,我通常会将“sda.layout”文件放在 USB 记忆棒上。

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

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

  • 将所有不同分区挂载到 /restore/ 下。我将挂载点设置为与 restore 下相同,因此,如果我的源上有 /boot、/var,则最终会得到 /restore/boot、/restore/var 等。

  • 使用 rsync 恢复整个内容。

答案2

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

答案3

前期需要付出更多努力,但是快速启动审阅者允许您自定义安装并在其他机器上使用。您可以包含设置文件的自定义版本。

您可能还需要考虑将主目录保留在单独的分区上。您可以保留该分区,同时在另一个分区上进行全新安装。

答案4

我一直认为 Gentoo 安装新系统的方式(从备份或其他方式)是最好的,因为它很简单。

  1. 创建可工作的最小系统。
  2. 将工作系统作为 livecd 中的硬盘加载。
  3. 将文件系统打包并保存在某处。
  4. 使用 livecd 加载目标系统。
  5. 准备目标硬盘并安装它。
  6. 解压至已安装的硬盘。
  7. 进入 chroot。
  8. 设置引导加载程序和其他与系统相关的内容。
  9. 重启即可。
  10. 根据需要安装新软件/复制用户文件夹/添加其他文件。

相关内容