SOP:重装 Ubuntu 24.04 + 恢复 OpenWrt 网络¶
场景:全新重建(旧 VM 不恢复)。目标 = 装好 KVM 宿主并让网络先通。 配套阅读:
../README-交接入口.md、../环境事实.md、../Ubuntu-KVM宿主配置.md。
0. 目录结构与物料¶
目录按文件作用划分,本手册置于根目录作入口:
openwrt/
├── SOP-重装与恢复-Ubuntu.md 本手册(入口)
├── images/ VM 磁盘镜像
├── configs/ OpenWrt 配置备份包(/etc/config 等)
└── domains/ libvirt 域定义 XML
| 目录 | 文件 | 作用 | 状态 |
|---|---|---|---|
images/ |
openwrt-24.10.0.qcow2 |
成品路由镜像,§7 转 raw 后导入 | 在用 |
configs/ |
openwrt-config-24.10.0.tar.gz |
24.10.0 的配置备份 | 在用 |
configs/ |
openwrt-config-21.02.5.tar.gz |
旧架构完整配置(含 PKI、openvpn、frpc、crontabs) | 参考 |
domains/ |
openwrt-domain-clean.xml |
Ubuntu 干净版域定义,用这个 | 在用 |
domains/ |
openwrt.xml |
CentOS 宿主域定义,指向 21.02.5 镜像 | 参考 |
domains/ |
openwrt-new-domain.xml |
CentOS 原版域定义,指向 24.10.0 镜像 | 参考 |
- 命名无版本号的
openwrt.xml/openwrt-new-domain.xml均属 CentOS 宿主产物,只作旧架构写法回溯,不可直接virsh define,原因见 §9。 - 回滚所需件见 §9。
- 接入:
../access/(SSH 公钥)
1. 安装 Ubuntu Server 24.04 LTS¶
- U 盘(Rufus/Ventoy/dd),物理控制台或 iDRAC 192.168.0.120。
- 最小化安装,主机名如
kvm-host。 - 分区(SSD 独立,避免重蹈旧覆辙):
- SSD 250G →
/(+ swap) - HDD RAID0 2T → 安装时不动,装完再做冷数据盘(§3)
- 网卡名会变:按 MAC 认口(
…:b0=LAN、…:b2=WAN、…:b1=管理)。 - 装完:
sudo apt update && sudo apt -y upgrade
2. 安装 KVM / libvirt / SSH¶
sudo apt -y install openssh-server qemu-kvm libvirt-daemon-system libvirt-clients \
virtinst bridge-utils ovmf
sudo systemctl enable --now libvirtd
sudo usermod -aG libvirt,kvm $USER
宿主机完整配置要点(关闭默认网络、目录/AppArmor、内核/性能、域 XML 适配)见
../Ubuntu-KVM宿主配置.md。
3. 存储:HDD 做冷数据(可选,但建议)¶
lsblk -o NAME,SIZE,ROTA,MODEL # 确认 HDD 盘符
sudo pvcreate /dev/sdb
sudo vgcreate hdd /dev/sdb
sudo lvcreate -l 100%FREE -n cold hdd
sudo mkfs.xfs /dev/hdd/cold
sudo mkdir -p /data && echo "/dev/hdd/cold /data xfs defaults 0 0" | sudo tee -a /etc/fstab
sudo mount -a
sudo mkdir -p /kvm/img # VM 镜像放 SSD 上的 /kvm
4. 双网桥(netplan,用 MAC 认口)¶
/etc/netplan/01-kvm.yaml:
network:
version: 2
renderer: networkd
ethernets:
lan0:
match: { macaddress: "c8:1f:66:f2:23:b0" } # 原 em1 → LAN
set-name: lan0
dhcp4: false
wan0:
match: { macaddress: "c8:1f:66:f2:23:b2" } # 原 em3 → WAN
set-name: wan0
dhcp4: false
bridges:
br0:
interfaces: [lan0]
addresses: [192.168.0.250/24] # 宿主管理口
routes: [ { to: default, via: 192.168.0.1 } ]
nameservers: { addresses: [192.168.0.1] }
parameters: { stp: false, forward-delay: 0 }
br1:
interfaces: [wan0] # WAN 桥,仅供路由 VM 上行
parameters: { stp: false, forward-delay: 0 }
sudo netplan apply
# 建议同时把 LAN 上联换到千兆交换机(原 TP-Link 百兆是 100M 根因)
5. AppArmor 放行(否则 VM 起不来)¶
echo '/kvm/** rwk,' | sudo tee -a /etc/apparmor.d/local/abstractions/libvirt-qemu
sudo systemctl reload apparmor
6. SSH 接入(让 AI 直连)¶
见 ../access/README-SSH接入.md。完成后把 IP + 端口 + 登录方式 告知即可接管。
7. 恢复 OpenWrt 路由(网络随之恢复)¶
sudo mkdir -p /kvm/img
qemu-img convert -O raw images/openwrt-24.10.0.qcow2 /kvm/img/openwrt-24.10.0.img
# 用 Ubuntu 干净版域定义;CentOS 原版不可直接用,差异见 ../Ubuntu-KVM宿主配置.md §6
virsh define domains/openwrt-domain-clean.xml
virsh start openwrt
virsh autostart openwrt
验证(对照 环境事实.md §8):
ping -c2 192.168.0.1
ssh root@192.168.0.1 'cat /etc/openwrt_release' # 应 24.10.0
ssh root@192.168.0.1 'ip addr show br-lan; ip addr show eth1' # .1 与 192.168.31.x
curl -m6 -sI http://www.baidu.com | head -1 # 上网
ssh root@192.168.0.1 'ip addr show tun0' # 10.8.0.1(OpenVPN)
顺序关键:路由 VM 起到
.1→ 全网恢复 → 再谈其它。
8. 后续服务(全新搭建,不恢复旧 VM)¶
- k8s(kubeadm:3 master + 3 node)、EDA/HPC、NFS/Lustre、Harbor 等,按需全新部署。
- LDAP:如需沿用,见
../ldap/README-恢复说明.md(LDIF 可移植恢复)。 - VM 资源规划建议:避免旧环境的内存超配(曾 155G/120G);
k8s-node给 8~12vCPU/16G 较合适。
9. 回滚¶
- 退回旧路由(如需):
virsh destroy openwrt。注意openwrt-21.02.5.qcow2已从本目录清理,需先从外部备份取回并放入images/,再qemu-img convert -O raw images/openwrt-21.02.5.qcow2 /kvm/img/openwrt-21.02.5-x86-64-generic-ext4-combined.img, 最后virsh define domains/openwrt.xml起动(文件名须与 §7 的 21.02.5 版本镜像一致)。 domains/openwrt.xml是 CentOS 宿主产物(machine='pc-i440fx-rhel7.0.0'、CPU 为SandyBridge-IBRS自定义模式), 在 Ubuntu 24.04 上不可直接 define,只作旧架构写法参考;要真用需按domains/openwrt-domain-clean.xml的写法适配。- 宿主退回旧系统:不推荐,用备份重建。
10. 备注¶
- frpc 服务器
43.129.206.40:5443不可达(既有状况),不影响网络。 - 路由镜像为 BIOS/grub 引导 → VM 固件用默认(BIOS),不要设 UEFI。
来源:
/home/rain/Documents/kvm/openwrt_ins/SOP-重装与恢复-Ubuntu.md| 最后更新:2026-09-16 20:26(由build/sync.py同步,请勿在站点侧修改)