mgmt/docs/README-Backup.md

163 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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)
- **状态**: 所有证书有效
## 🔧 备份管理命令
### 查看备份列表
```bash
# 查看 Consul KV 中的备份索引
consul kv get backup/nomad-jobs/index
# 查看特定备份的元数据
consul kv get backup/nomad-jobs/20251004/metadata
```
### 恢复备份
```bash
# 从 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/
```
### 创建新备份
```bash
# 创建本地备份目录
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` 文件
- 配置文件模板
- 服务依赖关系
- 网络和存储配置
### 备份验证
```bash
# 验证备份完整性
tar -tzf nomad-jobs-backup-20251004.tar.gz | wc -l
# 检查关键文件
tar -tzf nomad-jobs-backup-20251004.tar.gz | grep -E "(traefik|vault|waypoint)"
```
## 🚨 恢复流程
### 紧急恢复
1. **停止所有服务**
```bash
nomad job stop traefik-cloudflare-v1
nomad job stop vault-cluster
nomad job stop waypoint-server
```
2. **恢复备份**
```bash
consul kv get backup/nomad-jobs/20251004/data > restore.tar.gz
tar -xzf restore.tar.gz
```
3. **重新部署**
```bash
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
```
### 部分恢复
```bash
# 只恢复特定服务
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` |
## ⚠️ 注意事项
1. **证书备份**: SSL证书存储在容器内重启会丢失
2. **Consul KV**: 重要配置存储在 Consul KV 中,需要单独备份
3. **网络配置**: Tailscale 网络配置需要单独记录
4. **凭据安全**: Vault 和 Waypoint 的凭据存储在 Consul KV 中
## 🔍 故障排除
### 备份损坏
```bash
# 检查备份文件完整性
tar -tzf nomad-jobs-backup-20251004.tar.gz > /dev/null && echo "备份完整" || echo "备份损坏"
```
### Consul KV 访问问题
```bash
# 检查 Consul 连接
consul members
# 检查 KV 存储
consul kv get backup/nomad-jobs/index
```
---
**最后更新**: 2025-10-04 07:45:00
**备份状态**: ✅ 当前备份完整可用
**服务状态**: ✅ 所有服务正常运行