跳到主要内容

第 14 章 · 整机恢复(Linux)

适用对象:交付工程师、备份管理员 · 阅读约 12 分钟 · 对应产品界面版本 v1.2.0

整机恢复是把一台 Linux 主机的系统盘连同引导一起写回到一台新的目标机上。和文件级恢复不同,它不在原系统里进行,而是让目标机从恢复介质启动,在一个独立的恢复环境里完成分区重建、数据回写和引导修复。

读完这一章你会做:

  • 判断什么时候该用整机恢复,什么时候用文件级恢复就够
  • 从恢复介质启动目标机,配置网络并连上备份服务端
  • 核对原机卷与目标磁盘的映射关系,确认覆盖范围后执行恢复
  • 在恢复完成后检查引导、网络和文件系统,完成业务验收

恢复方式的位置​

整机恢复是两条恢复路径之一。先看清楚它在整个恢复流程里的位置:

恢复操作流程图:提出恢复请求 → 选择还原点 → 分为「文件级恢复」与「整机恢复」两条路径 → 执行与观察 → 业务验收;底部注明每次演练需保留审批记录、任务记录、耗时、校验结果、截图或录屏、问题与整改项

两条恢复路径共用前段的请求与还原点选择,也共用后段的执行观察与业务验收,差别只在中间那一步。

场景用哪条路径
误删文件、误改配置,系统本身还能启动文件级恢复(见第 12 章)
系统盘损坏、主机无法启动、需要换一台机器承载整机恢复(本章)
备份成功不等于可恢复

备份任务显示成功,只说明数据写入完成,不代表这份数据一定能恢复出一台可启动的主机。恢复正确性必须单独验证。正式交付前务必按第 15 章做一次完整演练。

开始之前​

前置项说明
恢复介质已按第 13 章制作完成,且介质版本与备份数据版本兼容
目标机磁盘容量不小于原机对应卷;固件类型(BIOS / UEFI)与原机一致
网络目标机在恢复环境里能访问备份服务端与存储库
还原点已在控制台确认要恢复的还原点及其对应主机与日期
目标磁盘会被整盘覆盖

恢复过程会重建目标磁盘的分区表与卷组,磁盘上的原有数据全部清除。执行前确认目标机选对了,尤其是在同一台宿主机上有多台同名虚拟机时。

先看一遍完整过程​

下面是一次完整的 Linux 整机恢复实录,时长 9 分 44 秒,环境为 FusionCompute 上的 CentOS 7 虚拟机。建议先整段看一遍,再照着后面的步骤操作。

画面含实验环境信息

录像取自实验环境,画面中出现的 IP、主机名与虚拟机名称均为该环境的真实取值,不要照抄。本章正文中的示例值另行给出(如 192.0.2.x)。

另外,画面左上角的录制计时器比视频本身的播放时间快约 29 秒。下表的时间点以播放进度为准,直接拖动到对应位置即可,不要按画面上的计时器找。

时间这一段在做什么对应下文步骤
00:00在 FusionCompute 上创建承载恢复的目标虚拟机,设置规格与端口组准备目标机
01:00把恢复介质 ISO 挂载到目标虚拟机的光驱步骤 1
01:30从介质启动,进入恢复环境的引导菜单步骤 2
02:45配置恢复环境网络:网卡、IP、子网掩码、网关、DNS步骤 3
03:00打开磁盘分配向导,核对原机卷与本机磁盘的对应关系步骤 4
03:20重建目标磁盘的分区表与卷组并格式化步骤 5
04:00开始回写数据,日志出现 Start restoring data步骤 5
07:30备份 /etc/fstab、绑定挂载 /dev /proc /sys /run、进入 chroot 重建 initramfs步骤 5(自动)
08:20在 chroot 内安装 grub2 并生成引导配置,随后卸载各挂载点步骤 5(自动)
08:40恢复环境关机,提示移除介质后按回车步骤 6
09:05目标机以 CentOS 7 启动,出现登录提示符步骤 7

操作步骤​

步骤 1 · 把恢复介质挂载到目标机​

  1. 在虚拟化平台上打开目标虚拟机的设置,挂载第 13 章制作的恢复介质 ISO。
  2. 把光驱设为第一启动项。物理机则插入写好介质的 U 盘并调整固件启动顺序。
引导模式必须与原机一致

目标机的固件类型(BIOS 或 UEFI)要和原机相同。选错会导致数据恢复成功、但系统无法引导,而且这个错误要到最后重启时才会暴露。

步骤 2 · 从介质启动进入恢复环境​

  1. 启动目标机,在引导菜单中选择第一项 Live system 并回车。
  2. 等待恢复环境加载完成,出现恢复工具的图形界面。

恢复环境是一个独立的小型 Linux 系统,与被恢复的操作系统无关,它只负责连接备份服务端并把数据写回磁盘。

步骤 3 · 配置网络并连通备份服务端​

  1. 在「网络设置」页选择承载恢复流量的网卡(多网卡时不要选错)。
  2. 依次填写 IP 地址、子网掩码、网关、DNS,例如 192.0.2.50 / 255.255.255.0 / 192.0.2.1。
  3. 点「应用配置」,观察「网络状态」一行。
  4. 进入连通性测试页,填写备份服务端地址与端口,确认能够连通后再继续。

恢复环境「数据恢复工具」窗口的「网络设置」页截图:选择网卡为 ens1,IP地址 10.10.42.250,子网掩码 255.255.255.0,网关 10.10.42.1,DNS 61.177.7.1;下方「网络状态」一行显示红色的「无法连通supmirror」;再往下是「应用配置」按钮和空白的「操作日志」文本框,底部为「< 上一步」与置灰的「下一步 >」按钮

「下一步」是灰的——网络没通就走不下去,这一页是整个恢复流程里第一道硬卡点。

网络状态显示「无法连通supmirror」时

界面原文是红色的**「无法连通supmirror」**(supmirror 即备份服务端,命名沿用 SupMirror,见产品简介)。录像里出现过这个状态。先检查三件事:网卡是否选对、IP 与网关是否在同一网段、目标机到备份服务端的端口是否放行。端口清单见附录 B。

注意「操作日志」框在这一步通常是空的,不要因为它没内容就以为卡住了——它只记录动作,不记录探测结果。判据是「网络状态」那一行的文字。

步骤 4 · 核对卷映射关系​

磁盘分配向导会左右对照列出原机的卷和本机可用的磁盘,包括设备名、容量、类型、文件系统和挂载点。

  1. 逐行核对原机卷与目标磁盘的对应关系,重点确认根卷和 /boot。
  2. 确认目标磁盘容量不小于原机对应卷。
  3. 确认无误后提交,界面会再次弹出确认框要求你确认覆盖目标磁盘。
这是最后一道可回头的关口

确认之后目标磁盘立即开始重建分区,无法撤销。确认框里会写明要把哪台原机的数据恢复到本机哪块磁盘,逐字读一遍再点确定。

步骤 5 · 执行恢复​

提交后恢复自动进行,界面显示进度条与滚动日志。整个过程无需干预,依次经过:

  1. 重建目标磁盘分区表与卷组,格式化各卷。
  2. 回写数据。日志出现 Start restoring data 表示进入数据传输阶段。
  3. 处理系统差异:备份并改写 /etc/fstab、绑定挂载 /dev /proc /sys /run。
  4. 进入 chroot 重建 initramfs、安装 grub2 并生成引导配置。
  5. 卸载全部挂载点。

恢复环境「数据恢复工具」窗口的「Recovery Progress」页截图:顶部进度条几乎为空、右侧显示 1.0%;下方「Recovery Log」框内有四行时间戳日志——Start restoring data via supmirrorAgent、/dev/vda5 <- /dev/vda1、/dev/mapper/centos-root <- /dev/mapper/centos-root、/dev/mapper/centos-swap <- /dev/mapper/centos-swap;底部「< 上一步」与「重启」两个按钮均置灰

日志第二行 /dev/vda5 <- /dev/vda1:箭头两端的设备名不一样。这不是笔误,见下方提示。

源卷与目标设备的名字可以不一致

日志里每一行 目标 <- 源 就是一条卷映射。上图中根卷与 swap 的两端同名,但第一行是 /dev/vda5 <- /dev/vda1——目标机上的设备编号与原机不同是正常的,恢复环境按你在步骤 4 里核对过的映射关系回写,不要求设备名一一对应。

反过来说,这也意味着步骤 4 的核对不能靠"名字看起来一样"来偷懒。真正要确认的是容量、文件系统和挂载点。

不要用进度条百分比判断是否完成

录像里出现过日志已经在执行 grub2 安装和卸载挂载点(属于收尾动作),进度条却仍显示不到 50% 的情况。以日志内容判断阶段,不要以百分比判断。确认完成要看日志出现恢复完成提示且界面允许重启。

大容量或多卷场景耗时较长,应预留足够的维护窗口。恢复期间目标卷处于锁定状态。

步骤 6 · 退出恢复环境​

  1. 恢复完成后按界面提示重启。
  2. 恢复环境关机过程中会提示移除介质,先把 ISO 卸载或拔掉 U 盘,再按回车。
  3. 把固件启动顺序改回从硬盘启动。

介质没有移除时,机器会再次从恢复介质启动,回到恢复环境。

步骤 7 · 验收​

目标机启动后出现登录提示符,只说明引导成功,还要逐项确认:

# 引导与内核
uname -r
# 文件系统与挂载点是否与原机一致
df -h
lsblk
# fstab 是否引用了正确的设备标识
cat /etc/fstab
# 网络
ip addr
ping -c 3 <网关地址>

再登录业务系统确认数据与应用可用。完整的验收口径见第 15 章。

常见问题​

恢复完成后机器起不来,停在引导阶段。 多数是引导模式不一致或引导未写入目标磁盘。核对目标机固件类型是否与原机相同,必要时从恢复介质重新启动并重做引导修复。

启动后进入紧急模式(emergency mode)。 通常是 /etc/fstab 里引用的磁盘 UUID 与恢复后的实际值对不上。从恢复介质启动,挂载根卷后核对并修正 fstab。

恢复后网卡不通。 网卡命名规则可能随硬件变化而改变(例如从 eth0 变成 ens1)。用 ip addr 看实际网卡名,再更新网络配置文件。

原机用了 LVM,恢复后卷组认不出来。 确认目标机上不存在同名卷组。卷组重名会导致激活失败,需要提前规划命名。

能不能恢复到硬件配置完全不同的机器上? 属于异机恢复场景,取决于驱动是否齐备。源文档对此有单独结论,见第 15 章。

相关章节​