Ubuntu Cobbler備份與恢復策略
Cobbler的備份需覆蓋核心配置文件、模板文件及鏡像資源,確?;謴蜁r能完整還原部署環境:
/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)是否與備份前一致。