Ubuntu Cobbler备份与恢复策略
Cobbler的备份需覆盖核心配置文件、模板文件及镜像资源,确保恢复时能完整还原部署环境:
/etc/cobbler
目录(包含 settings.yaml
、distros
、profiles
、systems
等关键配置,定义了Cobbler的行为和系统部署规则);/etc/cobbler/dhcp.template
(DHCP配置模板)、/etc/cobbler/tftp.template
(TFTP配置模板)、/etc/cobbler/rsync.template
(rsync配置模板),用于恢复网络服务配置;/etc/cobbler/iso
目录(存储导入的系统ISO镜像)、通过 cobbler import
命令生成的镜像文件(如 /var/www/cobbler/ks_mirror
下的系统镜像),确保系统部署时能获取到原始镜像。手动备份(单次操作):
使用 tar
命令将关键目录打包压缩,生成易于存储和转移的归档文件。例如:
sudo tar -czvf 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
该命令会将指定目录打包为 cobbler_backup_YYYYMMDD.tar.gz
(日期格式便于区分版本),存储在当前目录。
自动化备份(长期策略):
通过 crontab
设置定时任务,定期执行备份脚本。例如,每天午夜0点备份到 /backup
目录,并保留最近7天的备份:
# 编辑crontab
sudo crontab -e
添加以下内容:
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
该任务会自动压缩备份文件,并删除7天前的旧备份,避免存储空间浪费。
sudo systemctl stop cobblerd
解压备份文件:将备份的压缩包解压到目标目录(通常是 /etc/cobbler
)。
sudo tar -xzvf cobbler_backup.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
中的网络参数(如 next_server
、server
),确保与当前服务器IP一致;subnet
、range
等配置是否符合当前网络环境;cobbler check
命令,修复配置问题(如缺失的依赖包、权限错误):sudo cobbler check
根据提示安装缺失的组件(如 dnsmasq
、tftpd-hpa
)或调整配置。同步配置到服务:
执行 cobbler sync
命令,将配置文件的更改应用到Cobbler服务(如更新TFTP镜像、DHCP配置):
sudo cobbler sync
重启服务:
启动Cobbler服务及依赖的网络服务(如 httpd
、dhcpd
),使恢复生效:
sudo systemctl start cobblerd
sudo systemctl start httpd
sudo systemctl start dhcpd
sudo systemctl status cobblerd httpd dhcpd
/etc/cobbler
下的关键配置文件(如 settings.yaml
、profiles
)是否与备份前一致。