altrootdisk
Linux 整盘克隆与网络恢复工具。
整盘克隆与快照的灵感来自 HP-UX 的 DRD(Dynamic Root Disk),网络备份与 PXE 恢复的灵感来自 HP-UX Ignite-UX 的 make_net_recovery。把一台正在运行的 Linux 系统,完整克隆到另一块盘、快照在同盘快速回滚,或打包备份到网络服务器、再从服务器整盘恢复。
五个工具,一套流程
altroot
克隆工具。把当前系统盘整盘克隆到另一块盘,或在同盘 VG 里建一个可快速回滚的快照;也是网络备份与恢复的客户端。
altboot
HP-UX setboot 风格的启动目标管理工具。指定下次从哪块硬盘(UEFI 层)或哪个 GRUB 菜单项(GRUB 层)启动。
altserver
网络备份服务器。常驻运行,接收客户端备份,提供集快照、块级去重存储、每机令牌与 Web 管理台。
altbackup
备份单个文件或目录(而不是整台系统)到服务器,内容定义块切分、只上传缺失块。
altrestore
从服务器恢复文件集到原始路径或指定目录,默认不覆盖已存在文件,逐文件校验哈希后落盘。
主要能力
- 整盘克隆:文件级复制(rsync,缺失时自动降级为 tar 管道),UEFI + GPT 与传统 BIOS + GPT 均支持;MBR 分区表的源盘同样支持,克隆目标始终是 GPT;目标盘不要求大于源盘,不足时按比例缩小(下限为已用空间 × 1.2)。
- 同盘快照:在同 VG 建快照 LV,改 GRUB 默认项在本机切换启动;支持增量同步、激活 / 停用 / 删除;
--with-var可把/var也纳入。 - 增量再同步:
clone --sync把既有克隆盘增量同步到当前状态,同步前全套指纹校验防错盘,写入前为每个被同步的 LV 建 presync 快照作回退点。 - 网络备份与恢复:打包上传到 altserver 保管,也可从服务器整盘恢复到目标盘;服务器侧内容寻址块存储,重复块不传也不重复存;每次备份提交留一份不可变集快照,可按时间点恢复。
- 文件级备份:内容定义块(64K–2M 变长块)、逐块 SHA-256 寻址,同一文件再备、少量改动后再备、多台机器备相同内容,重复块一律不传。
- PXE 救援恢复:救援镜像(vmlinuz + initrd.img)网启空盘机器,从服务器整盘恢复。
- 启动管理:UEFI BootOrder 与 GRUB 默认项 / 下次启动项管理,支持按磁盘、菜单项标题或编号切换。
适用场景
- 系统盘整盘克隆到备用盘,换盘即启动(灾备盘、迁移上架前预制)。
- 升级、打补丁前先建同盘快照,出问题改 GRUB 默认项即回滚。
- 多台机器集中备份到一台 altserver,重复数据只存一份;按快照时间点整盘恢复。
- 只备几个目录或配置文件,用 altbackup 做文件级备份、altrestore 按需取回。
- 空盘机器 PXE 网启进救援镜像,从服务器恢复整盘系统。
兼容范围
本表是跨版本的历史测试记录汇总,不是 v1.7.1 对每一格的重新测试。基础腿为 0.9–1.4.1 系列版本实测;2026-10 的备份/恢复矩阵战役以 1.4.1 客户端统一复跑上表各台三腿(整盘备份恢复 / 文件集 / 同盘快照),spool 预检复验为 1.7.1;altserver 部署侧现行 1.7.1。
下表只列有真实环境端到端实测记录的组合:✓=已实机验证,◐=部分验证(见脚注),—=未验证(尚无实测记录,不等于不支持)。整盘克隆 / 服务器备份恢复的 ✓ 均含「克隆盘或恢复盘单盘启动成功」这一关;同盘快照的 ✓ 指 create→sync→activate 进快照→deactivate 回源→remove 全程。证据来源为项目 README 的兼容表(main 分支,2026-10-25 核对)。
| 操作系统 | 固件 | 测试平台 | 整盘克隆 | clone --sync | 同盘快照 | 服务器备份/恢复 | PXE 恢复 | altserver 部署 | 管理台 |
|---|---|---|---|---|---|---|---|---|---|
| Debian 12 | BIOS | KVM-SeaBIOS | ✓ | — | ✓ | ✓ | ✓ | — | — |
| Debian 12 | UEFI + Secure Boot | KVM-OVMF、物理机 | ✓ | — | ✓ | ✓ | ✓ | ✓¹ | ✓¹ |
| Debian 13 | BIOS | KVM-SeaBIOS | — | — | ✓ | ✓ | — | — | — |
| Debian 13 | UEFI + Secure Boot | KVM-OVMF、物理机 | — | — | ✓² | ✓² | — | — | — |
| Ubuntu 20.04 | BIOS | KVM-SeaBIOS | — | — | ✓ | ✓ | — | — | — |
| Ubuntu 20.04 | UEFI + Secure Boot | KVM-OVMF | — | — | ✓ | ✓ | — | — | — |
| Ubuntu 22.04 | BIOS | KVM-SeaBIOS | — | — | ✓ | ◐³ | — | — | — |
| Ubuntu 22.04 | UEFI + Secure Boot | KVM-OVMF | — | — | ✓ | ✓ | — | — | — |
| Ubuntu 24.04 | BIOS | KVM-SeaBIOS | — | — | ✓ | ✓ | — | — | — |
| Ubuntu 24.04 | UEFI + Secure Boot | KVM-OVMF | — | — | ✓ | ✓ | — | — | — |
| CentOS 7 | BIOS | KVM-SeaBIOS、物理机、VMware⁴ | ✓ | ✓ | ✓ | ✓ | — | — | — |
| CentOS 7 | UEFI + Secure Boot | — | — | — | — | — | — | — | — |
| Rocky 8 | BIOS | KVM-SeaBIOS | ✓ | — | ✓ | ✓ | — | — | — |
| Rocky 8 | UEFI + Secure Boot | — | — | — | — | — | — | — | — |
| Rocky 9 | BIOS | — | — | — | — | — | — | — | — |
| Rocky 9 | UEFI + Secure Boot | KVM-OVMF | ✓ | — | ✓ | ✓ | — | — | — |
| Rocky 10 | BIOS | — | — | — | — | — | — | — | — |
| Rocky 10 | UEFI + Secure Boot | KVM-OVMF | ✓ | — | ✓ | ✓ | — | — | — |
| Oracle Linux 7 | BIOS | KVM-SeaBIOS | ✓ | — | ✓ | ✓ | — | — | — |
| Oracle Linux 7 | UEFI + Secure Boot | KVM-OVMF | ✓ | — | ✓ | ✓ | — | — | — |
| Oracle Linux 8 | BIOS | KVM-SeaBIOS | ✓ | — | ✓ | ✓ | — | — | — |
| Oracle Linux 8 | UEFI + Secure Boot | KVM-OVMF | ✓ | — | ✓ | ✓ | — | — | — |
| Oracle Linux 9 | BIOS | KVM-SeaBIOS | ✓ | — | ✓ | ✓ | — | — | — |
| Oracle Linux 9 | UEFI + Secure Boot | KVM-OVMF | ✓ | — | ✓ | ✓ | — | — | — |
| Oracle Linux 10 | BIOS | KVM-SeaBIOS | ✓ | — | ✓ | ✓ | — | — | — |
| Oracle Linux 10 | UEFI + Secure Boot | KVM-OVMF | ✓ | — | ✓ | ✓ | — | — | — |
| 麒麟 Kylin V10 SP3 | BIOS | KVM(验证中) | — | — | — | — | — | — | — |
| 麒麟 Kylin V10 SP3 | UEFI + Secure Boot | KVM(验证中) | — | — | — | — | — | — | — |
| 统信 UOS 20 | BIOS | KVM-SeaBIOS(验证中) | — | — | — | — | — | — | — |
| 统信 UOS 20 | UEFI + Secure Boot | KVM(验证中) | — | — | — | — | — | — | — |
脚注:¹ altserver 常驻部署在物理机(Debian 12)上,历经 1.4.1 → 1.7.1 多次升级与管理台各期功能的实测;其余行未在该系统上单独部署 altserver。² 本行 ✓ 为 KVM 来宾证据;物理机(Debian 13)仅实测同盘快照 create/sync/status 与 altboot UEFI 按盘切换——整盘克隆、服务器备份/恢复与快照 activate/remove 在物理机未测。³ 见下方已知限制(缺陷 D-2)。⁴ VMware 证据来自一台 VMware 来宾(CentOS 7.4 物理部署环境):BIOS 模式下整盘克隆(含跨模式克隆出 UEFI 盘)与快照系统运行实测;已知 caveat:VMware 的通用 UEFI 条目无 PARTUUID,altboot 的「BootCurrent 与 BootOrder 首位不一致」按盘警告不触发。⁵ 非 LVM 普通分区布局(Debian 12 来宾,UEFI + Secure Boot)另有整盘克隆、服务器备份/恢复与本地目录模式的完整实测(同盘快照不适用)。⁶ 信创两行验证进行中:麒麟两台待建机;UOS 的 BIOS 台已建机并完成 SSH/SELinux 标签问题的定性修复,三腿待跑——结论落地后更新本表。
安装包:Debian 系 .deb(amd64 / arm64),RHEL 系 .rpm(x86_64 / aarch64);SUSE / Arch 暂无预编译包,用源码编译安装(需先获得源码);裸二进制仅 amd64。发行版通过 /etc/os-release 识别,关键路径和工具名运行时探测,衍生版一般也能直接工作。启动模式:UEFI + GPT、传统 BIOS + GPT、MBR 源盘均支持,目标盘始终为 GPT。本站不写“所有 Linux 都支持”——未验证的组合请以实测为准。
已知限制(v1.7.1)——Ubuntu 22.04 BIOS 特定布局恢复(缺陷 D-2)。curtin 安装、fstab 以 by-id dm-uuid 引用 LV 的系统:备份成功、恢复完成、根系统单盘启动通过,但恢复系统的 /var 未挂载。原因:恢复 finalize 的 fstab 守卫误注释了这类 fstab 中非根 LV 的挂载行;数据无损、已定性。同版本 UEFI 台与非 by-id 形态的系统不受影响。该缺陷已修复(v1.8.0),但 v1.8.0 未发布——v1.7.1 不适用该修复。详见项目 docs/distro-ubuntu.md。
限制(使用前请先看)
- LV 文件系统仅支持 ext4 / xfs / swap。
- 需要独立的
/boot分区;不支持/boot在 LVM 内或与/同 LV 的布局。 - 源盘既无 ESP 也无 BIOS boot 分区时,无法判断启动方式。
- BIOS 环境下
altboot -p /dev/sdX不可用(无 UEFI BootOrder),请在 BIOS 里调整启动顺序。 - 跨模式克隆时,开启 Secure Boot 的机器需要源系统事先装好签名版 GRUB / shim,否则目标盘的 UEFI loader 为未签名版、会被拒绝启动。
- 本页未列出的能力、性能、认证或恢复保证,均以项目文档为准;本站不作额外承诺。
实测记录
证据以「兼容范围」上表为准:逐个版本 × 固件 × 操作 × 测试环境的组合分别标注。逐条测试记录(日期、环境、场景)保留在项目 README 的 git 历史旧版「测试记录」节中,本页不再另作合并摘要,以免把不同版本、固件与操作的证据混成一句“已验证”。
许可证
源码可见(source available):自 1.2.0 起采用维讯源码许可证 1.0(Weixun Source License 1.0);1.0.0 与 1.1.0 按 Business Source License 1.1 发布。未取得商业授权时按评估版使用(自首次 producing 操作或 altserver 启动起限时 3 个月,altboot 1 年;到期后 producing 操作不可再使用);营利性组织的生产使用需事先取得商业授权;本许可证不向开源许可证转换。许可证文件本身为草案,待律师审定。详见联系与许可。