4.3 KiB
4.3 KiB
Nomad Jobs 备份管理
本文档说明如何管理和恢复 Nomad job 配置的备份。
📁 备份存储位置
本地备份
- 路径:
/root/mgmt/backups/nomad-jobs-YYYYMMDD-HHMMSS/ - 压缩包:
/root/mgmt/nomad-jobs-backup-YYYYMMDD.tar.gz
Consul KV 备份
- 数据:
backup/nomad-jobs/YYYYMMDD/data - 元数据:
backup/nomad-jobs/YYYYMMDD/metadata - 索引:
backup/nomad-jobs/index
📋 当前备份
2025-10-04 备份
- 备份时间: 2025-10-04 07:44:11
- 备份类型: 完整 Nomad jobs 配置
- 文件数量: 25 个
.nomad文件 - 原始大小: 208KB
- 压缩大小: 13KB
- Consul KV 路径:
backup/nomad-jobs/20251004/data
服务状态
- ✅ Traefik (
traefik-cloudflare-v1) - SSL证书正常 - ✅ Vault (
vault-cluster) - 三节点高可用集群 - ✅ Waypoint (
waypoint-server) - Web UI 可访问
域名和证书
- 域名:
*.git4ta.me - 证书: Let's Encrypt (Cloudflare DNS Challenge)
- 状态: 所有证书有效
🔧 备份管理命令
查看备份列表
# 查看 Consul KV 中的备份索引
consul kv get backup/nomad-jobs/index
# 查看特定备份的元数据
consul kv get backup/nomad-jobs/20251004/metadata
恢复备份
# 从 Consul KV 恢复备份
consul kv get backup/nomad-jobs/20251004/data > nomad-jobs-backup-20251004.tar.gz
# 解压备份
tar -xzf nomad-jobs-backup-20251004.tar.gz
# 查看备份内容
ls -la backups/nomad-jobs-20251004-074411/
创建新备份
# 创建本地备份目录
mkdir -p backups/nomad-jobs-$(date +%Y%m%d-%H%M%S)
# 备份当前配置
cp -r components backups/nomad-jobs-$(date +%Y%m%d-%H%M%S)/
cp -r nomad-jobs backups/nomad-jobs-$(date +%Y%m%d-%H%M%S)/
cp waypoint-server.nomad backups/nomad-jobs-$(date +%Y%m%d-%H%M%S)/
# 压缩备份
tar -czf nomad-jobs-backup-$(date +%Y%m%d).tar.gz backups/nomad-jobs-$(date +%Y%m%d-*)/
# 存储到 Consul KV
consul kv put backup/nomad-jobs/$(date +%Y%m%d)/data @nomad-jobs-backup-$(date +%Y%m%d).tar.gz
📊 备份策略
备份频率
- 自动备份: 建议每周一次
- 重要变更前: 部署新服务或重大配置修改前
- 紧急情况: 服务出现问题时立即备份当前状态
备份内容
- 所有
.nomad文件 - 配置文件模板
- 服务依赖关系
- 网络和存储配置
备份验证
# 验证备份完整性
tar -tzf nomad-jobs-backup-20251004.tar.gz | wc -l
# 检查关键文件
tar -tzf nomad-jobs-backup-20251004.tar.gz | grep -E "(traefik|vault|waypoint)"
🚨 恢复流程
紧急恢复
-
停止所有服务
nomad job stop traefik-cloudflare-v1 nomad job stop vault-cluster nomad job stop waypoint-server -
恢复备份
consul kv get backup/nomad-jobs/20251004/data > restore.tar.gz tar -xzf restore.tar.gz -
重新部署
nomad job run backups/nomad-jobs-20251004-074411/components/traefik/jobs/traefik-cloudflare.nomad nomad job run backups/nomad-jobs-20251004-074411/nomad-jobs/vault-cluster.nomad nomad job run backups/nomad-jobs-20251004-074411/waypoint-server.nomad
部分恢复
# 只恢复特定服务
cp backups/nomad-jobs-20251004-074411/components/traefik/jobs/traefik-cloudflare.nomad components/traefik/jobs/
nomad job run components/traefik/jobs/traefik-cloudflare.nomad
📝 备份记录
| 日期 | 备份类型 | 服务状态 | 大小 | Consul KV 路径 |
|---|---|---|---|---|
| 2025-10-04 | 完整备份 | 全部运行 | 13KB | backup/nomad-jobs/20251004/data |
⚠️ 注意事项
- 证书备份: SSL证书存储在容器内,重启会丢失
- Consul KV: 重要配置存储在 Consul KV 中,需要单独备份
- 网络配置: Tailscale 网络配置需要单独记录
- 凭据安全: Vault 和 Waypoint 的凭据存储在 Consul KV 中
🔍 故障排除
备份损坏
# 检查备份文件完整性
tar -tzf nomad-jobs-backup-20251004.tar.gz > /dev/null && echo "备份完整" || echo "备份损坏"
Consul KV 访问问题
# 检查 Consul 连接
consul members
# 检查 KV 存储
consul kv get backup/nomad-jobs/index
最后更新: 2025-10-04 07:45:00
备份状态: ✅ 当前备份完整可用
服务状态: ✅ 所有服务正常运行