当前位置: 首页 > news >正文

【飞腾平台实时Linux方案系列】第十七篇 - 飞腾平台实时Linux系统备份与灾难恢复。

一、简介:备份不是“可选项”,是工业现场“硬指标”

  • 飞腾芯片(FT-1500A/FT-2000/FT-D2000)已批量应用于能源、矿山、轨道交通等关键领域,系统一旦宕机:

    • 变电站控制中断 → 区域停电,损失千万;

    • 矿井提升机失控 → 人身安全风险;

    • 地铁信号系统离线 → 列车紧急制动,晚点 30 min+。

  • 国产化 + PREEMPT_RT带来微秒级实时性,但“硬件冗余”不等于“系统冗余”——逻辑层备份缺失仍是现场最大痛点。

  • 掌握“飞腾平台实时 Linux 备份与灾难恢复” =90 min 内原地重建系统,保障业务连续性,满足《工业控制系统信息安全》GB/T 33009 要求。


二、核心概念:6 个关键词先搞懂

关键词一句话说明飞腾平台特殊点
全量镜像整个系统分区逐字节复制需兼容 ARM64 引导(UEFI+GRUB)
增量快照基于初始镜像,仅保存变化块推荐 btrfs/zstd,压缩比 2:1
PREEMPT_RT实时补丁内核,中断线程化备份时需保留实时内核与模块
国产可信固件飞腾 UEFI 2.5,支持可信启动备份必须包含 /boot/efi 与 EFI变量
灾难恢复时间 RTO系统故障 → 业务恢复 最大容忍时间矿山场景要求 RTO ≤ 90 min
恢复点目标 RPO允许丢失的数据时间窗控制指令 RPO ≤ 5 min

三、环境准备:30 分钟搭好“备份实验室”

1. 硬件

  • 飞腾 FT-2000 4 核工业主板 × 2(节点 A/B)

  • 256 GB 国产 SSD(长江存储)(系统盘)

  • 1 TB 移动硬盘 ×1(灾备介质,可插拔)

  • 千兆以太网交换机 ×1(网络备份通道)

2. 软件

组件版本安装命令
实时内核linux-5.15-rt53飞腾原厂 deb 包
备份工具fsarchiver 0.8.7apt install fsarchiver
快照工具btrfs-progs 5.16已内置
网络同步rsync 3.2.3已内置
脚本模板bash 5.0+本文提供

3. 一键装 btrfs 与实时内核(可复制)

#!/bin/bash # setup_btrfs.sh sudo apt update sudo apt install -y btrfs-progs fsarchiver # 将第二块 SSD 格式化为 btrfs,用于快照 sudo mkfs.btrfs -L BTRFS_SNAP /dev/nvme1n1 sudo mkdir /mnt/snap sudo mount /dev/nvme1n1 /mnt/snap

四、应用场景(300 字):矿井提升机控制柜

山西某煤矿立井提升机额定载荷 25 吨,PLC 主控器采用飞腾 FT-2000 + PREEMPT_RT 内核,运行提升曲线算法(周期 1 ms)。现场粉尘、潮湿、24 h 连续运行,曾出现 SSD 坏块导致系统无法启动,人工下井抢修耗时 4 h,影响提煤 6000 吨。
按本文方案部署“本地快照 + 网络镜像”双保险:

  1. 每 30 min 自动生成分区快照,RPO=30 min;

  2. 每日夜班将全量镜像同步到地面机房,RTO=60 min;

  3. 故障时插入移动硬盘 → 一键恢复 → 系统重新上线,抢修时间缩短至 45 min,满足矿山安全规程停产不超过 2 h 要求,直接避免一次重大停产损失。


五、实际案例与步骤:从“0”到“可恢复”全流程

实验目录统一:~/backup-lab,所有脚本可一键运行。


5.1 全量镜像:fsarchiver 整盘克隆

#!/bin/bash # full_backup.sh DATE=$(date +%F_%H-%M) SNAP_DIR="/mnt/snap/full" mkdir -p $SNAP_DIR # 保存分区表 + UEFI 固件变量 sudo sfdisk -d /dev/nvme0n1 > $SNAP_DIR/pt.txt sudo efibootmgr -v > $SNAP_DIR/efi.txt # 逐分区存档(-z8 = zstd 压缩级别 8) sudo fsarchiver savefs $SNAP_DIR/root.fsa /dev/nvme0n1p2 \ -A "FT2000_RT_DEMO" -z8 -j4 sudo fsarchiver savefs $SNAP_DIR/boot.fsa /dev/nvme0n1p1 -z8 echo "Full backup done: $SNAP_DIR"

使用场景

  • 首次部署、版本发布前生成“基线”,故障时可直接还原。


5.2 增量快照:btrfs 每 30 min 自动快照

#!/bin/bash # snap_create.sh MOUNT="/" SNAPDIR="/mnt/snap/incr" mkdir -p $SNAPDIR # 创建可写快照(-r 只读,-w 可写用于演练) sudo btrfs subvolume snapshot -r $MOUNT $SNAPDIR/snap_$(date +%s) # 保留最近 48 份,超量删除最旧 ls -t $SNAPDIR | tail -n +49 | xargs -r sudo rm -rf

加入 cron:

echo "*/30 * * * * /home/ftuser/backup-lab/snap_create.sh" | sudo tee -a /var/spool/cron/crontabs/root

5.3 网络镜像:rsync 每日推送到灾备机

#!/bin/bash # net_sync.sh REMOTE="backup@192.168.10.100::ft_backup" # 排除运行时文件 rsync -avz --delete --exclude='/tmp' --exclude='/var/log' \ /mnt/snap/ $REMOTE/$(date +%F)

灾备机需安装rsyncd并配置模块:

# /etc/rsyncd.conf [ft_backup] path = /data/ft_backup read only = no auth users = backup secrets file = /etc/rsyncd.secrets

5.4 一键恢复:USB 启动盘 60 min 重建系统

  1. 制作飞腾 UEFI 启动盘(Ubuntu Live RT)

  2. 插入移动硬盘,启动进入 Live 系统

  3. 执行恢复脚本:

#!/bin/bash # restore.sh DISK="/dev/nvme0n1" FSARCHIVER="/usr/sbin/fsarchiver" # 还原分区表 sfdisk $DISK < pt.txt # 还原 boot & root $FSARCHIVER restfs boot.fsa id=0,dest=${DISK}p1 $FSARCHIVER restfs root.fsa id=0,dest=${DISK}p2 # 重新安装 UEFI 条目 efibootmgr -c -d $DISK -p1 -L "FT-RT" -l /EFI/BOOT/grubaa64.efi
  1. 重启,进入新生系统,验证实时性:

sudo cyclictest -p99 -i100 -d60s -n

六、常见问题与解答(FAQ)

问题现象解决
fsarchiver 报“unknown filesystem feature”源分区启用了新特性-o选项忽略特征,或升级 fsarchiver
btrfs 快照占用空间暴涨数据库大量写启用 zstd 压缩 + 每日合并快照
恢复后无法启动UEFI 条目丢失Live 系统内重新efibootmgr -c并检查 /boot/efi 文件完整
rsync 同步慢单线程 10 MB/s--whole-file局域网跳过 delta,或并行lsyncd
磁盘坏道导致备份失败I/O error使用ddrescue先抢救镜像,再 fsarchiver

七、实践建议与最佳实践

  1. 3-2-1 原则
    至少 3 份副本,2 种介质,1 份异地。

  2. 备份验证演练
    每季度做一次“盲演”:随机拔掉节点 A 电源,45 min 内节点 B 拉起并接管控制。

  3. 加密与可信
    移动硬盘使用cryptsetup luksFormat全盘加密,防止丢失泄露。

  4. 快照链合并
    每周合并一次增量快照→“周基线”,减少链深度,提升恢复速度。

  5. 监控告警
    备份失败立即告警:

    */30 * * * * /home/ftuser/backup-lab/snap_create.sh || echo "backup fail" | mail -s Alert admin@example.com
  6. 文档化
    将恢复步骤写成《现场抢修卡》A4 塑封,贴于机柜内侧,断电时无需找电脑即可操作。


八、总结:一张脑图带走全部要点

飞腾 RT 系统备份恢复 ├─ 全量:fsarchiver + UEFI 变量 ├─ 增量:btrfs 快照 + cron ├─ 网络:rsync 异地同步 ├─ 恢复:Live USB + 一键脚本 └─ 演练:季度盲演 + 加密 + 文档

备份不是成本,是保险;恢复不是选修,是生存。
把本文脚本纳入 Git,下次矿山、电网、地铁现场出现“黑屏”时,你只需插入移动硬盘 → 执行 restore.sh → 45 min 后系统重新上线,让国产化飞腾平台真正“稳若磐石”

http://www.jsqmd.com/news/272688/

相关文章:

  • 基于Python爬虫的网络小说热度分析 大数据可视化系统
  • 智慧果园树上腰果成熟度检测数据集VOC+YOLO格式4700张6类别
  • Openwork 入门指南:开源 AI 桌面助手快速上手
  • 我的 ASP.NET 点餐系统项目实战之旅
  • 边缘 AI 入门系列(一):Jetson Nano 深度学习环境搭建与 YOLOv5 部署
  • python的变量名变量名称空间
  • 大数据技术的基于Python+Selenium的招聘信息智能采集与分析系统开题任务书
  • CVE-2025–24813:Apache Tomcat 路径等价性漏洞解析与赏金通告
  • 提升多尺度检测能力:YOLOv8 中 P2 小目标与 P6 超大目标检测头添加方法
  • TensorRT INT8 部署实战:CMake 工程化 + RTSP 推流的指定区域行人检测与人群密度分析
  • BEV感知十年演进
  • YOLOv8 集成 CBAM 实战:通道注意力(CAM)与空间注意力(SAM)详解
  • RK3588 高分辨率多摄像头系统优化实战:48MP 单摄与双摄分时复用方案解析
  • 运动控制算法十年演进
  • 从 Transformer 到 Mamba:YOLOv8 中 VSSBlock(MambaLayer)的核心原理解析
  • 资源监控体系:利用npu-smi实现硬件状态实时可视化
  • 深度学习中的超分辨率重建(SR):经典模型与最新方法详解
  • 伺服电机十年演进
  • 机械臂十年演进
  • 基于树莓派4B与NCNN的YOLOv8高效部署实战:无GPU环境下的C++加速优化全流程指南**
  • 多传感器融合十年演进
  • 避障十年演进
  • 闹钟加工厂怎么选?从义乌锐意科技看2025闹钟供应链新趋势 - 企师傅推荐官
  • 重新加载数据库配置的四种方法
  • 曲靖婚前三金五金终极选购指南:廖金匠领衔,全透明高性价比首选 - charlieruizvin
  • 探索智能预测与分类的算法之旅:从BP到SVM再到ELM
  • 行人检测十年演进
  • 2025年国内最好的微动开关批发厂家哪家靠谱,家电微动开关/新能源微动开关/防水微动开关/汽车微动开关工厂哪家靠谱 - 品牌推荐师
  • 2026南京婚纱摄影推荐:南京乐玛摄影全维度测评,定制化婚拍的品质标杆 - charlieruizvin
  • 基于flask+Vue的双相情感障碍交流平台