温馨提示×

ubuntu cobbler如何恢复系统

小樊
43
2026-01-05 18:23:16
栏目: 智能运维

Ubuntu Cobbler恢复系统实用指南

一、先明确恢复目标

  • 恢复Cobbler服务本身:把Cobbler的配置、模板、镜像资源还原,使PXE装机与DHCP/TFTP等服务恢复正常。
  • 恢复被装机的主机:用已备份的镜像或Kickstart配置,通过Cobbler对目标主机重新部署到指定状态(重装或“重镜像”)。Cobbler本质是自动化部署工具,并非专用整机备份软件,若需文件级或整盘级备份,应配合rsync/tar/dd等工具使用。

二、恢复Cobbler服务的标准步骤

  • 准备与校验
    • 停止相关服务,避免恢复过程写入冲突:sudo systemctl stop cobblerd
    • 校验备份完整性(示例):sha256sum cobbler_backup_20260105.tar.gz
  • 恢复配置与资源
    • 解压覆盖配置:sudo tar -xzvf cobbler_backup_20260105.tar.gz -C /
    • 或单文件回滚:sudo cp -a /etc/cobbler.bak/ /etc/cobbler/* 与 sudo cp /etc/cobbler/dhcp.template.bak /etc/cobbler/dhcp.template
  • 修正关键网络参数
    • 检查 /etc/cobbler/settings 中的 servernext_server 是否为当前Cobbler主机IP
    • 检查 /etc/cobbler/dhcp.template 中的 subnet/range/next-server 是否与现网一致
  • 自检与同步
    • 自检并修复依赖/权限:sudo cobbler check
    • 使配置生效:sudo cobbler sync
  • 启动服务并验证
    • 启动服务:sudo systemctl start cobblerd httpd dhcpd
    • 查看状态:sudo systemctl status cobblerd httpd dhcpd
    • 日志排查:/var/log/cobbler/cobblerd.log/var/log/httpd/error_log/var/log/syslog
    • PXE验证:客户端设为PXE启动,确认引导菜单与装机流程正常

三、用Cobbler恢复被装机的主机

  • 场景A 使用既有镜像/配置快速重装
    • 确认镜像与配置存在(如 /var/www/cobbler/ks_mirror/etc/cobbler/iso 下的资源)
    • 在Cobbler中为这台主机创建或更新 system 记录(指定 profilemac-addresshostnameip-address 等)
    • 执行 cobbler sync 后,让目标主机从PXE启动,按所选 profile 自动重装到目标状态
  • 场景B 无现成镜像时的两种做法
    • 导入安装介质:cobbler import --name --path <镜像或挂载点> 生成新的 distro/profile,再按场景A部署
    • 文件/整盘级恢复:先用 rsync/tar/dd 等工具把业务数据或系统盘恢复到目标主机,再由Cobbler接管后续配置管理(如加入域、安装代理等)

四、常见故障排查要点

  • 服务未起:确认 cobblerd、httpd、tftp、dhcp 处于active状态;未起则启动并观察日志
  • 自检报错:运行 cobbler check,按提示安装缺失组件(如 dnsmasq/tftpd-hpa)、修正权限或配置
  • 网络不通:核对 settingsserver/next_serverdhcp.templatesubnet/range/filename “/pxelinux.0”/next-server $next_server
  • 防火墙/SELinux:放行 80/443/tftp 等端口;若使用SELinux,先排查策略或临时 setenforce 0 验证,再改为永久策略调整

五、备份与演练建议

  • 备份范围要全:至少覆盖 /etc/cobbler(含 settings.yaml、distros、profiles、systems)、/etc/cobbler/*.template/etc/cobbler/iso、以及 /var/www/cobbler/ks_mirror 下的镜像资源
  • 自动化与保留:建议每日备份并保留最近7天,示例Crontab:
    • 0 0 * * * tar -czvf /backup/cobbler_backup_$(date +%Y%m%d).tar.gz /etc/cobbler /etc/cobbler/dhcp.template /etc/cobbler/tftp.template /etc/cobbler/rsync.template /etc/cobbler/iso && find /backup -name “cobbler_backup_*.tar.gz” -mtime +7 -delete
  • 版本与介质:恢复时尽量保持 Cobbler版本一致或更高;将备份存至异地/离线介质,定期做恢复演练验证可用性

0