Files
proxmox/docs/03-deployment/BACKUP_AND_RESTORE.md
defiQUG fbda1b4beb
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
docs: Ledger Live integration, contract deploy learnings, NEXT_STEPS updates
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands
- CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround
- CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check
- NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere
- MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates
- LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 15:46:57 -08:00

343 lines
6.3 KiB
Markdown

# Backup and Restore Procedures
**Last Updated:** 2025-01-20
**Document Version:** 1.0
**Status:** Active Documentation
---
## Overview
This document provides detailed procedures for backing up and restoring Proxmox VMs, containers, and configuration.
---
## Backup Strategy
### Backup Types
1. **VM/Container Backups:**
- Full VM snapshots
- Container backups
- Application data backups
2. **Configuration Backups:**
- Proxmox host configuration
- Network configuration
- Storage configuration
3. **Data Backups:**
- Database backups
- Application data
- Configuration files
---
## Backup Procedures
### Proxmox VM/Container Backups
#### Using Proxmox Backup Server (PBS)
**Setup:**
1. **Install PBS** (if not already installed)
2. **Add PBS to Proxmox:**
- Datacenter → Storage → Add → Proxmox Backup Server
- Enter PBS server details
- Test connection
**Scheduled Backups:**
1. **Create Backup Job:**
- Datacenter → Backup → Add
- Select VMs/containers
- Set schedule (daily, weekly, etc.)
- Choose retention policy
2. **Backup Options:**
- **Mode:** Snapshot (recommended for running VMs)
- **Compression:** ZSTD (recommended)
- **Storage:** Proxmox Backup Server
**Manual Backup:**
```bash
# Backup single VM
vzdump <vmid> --storage <storage-name> --mode snapshot
# Backup multiple VMs
vzdump 100 101 102 --storage <storage-name> --mode snapshot
# Backup all VMs
vzdump --all --storage <storage-name> --mode snapshot
```
#### Using vzdump (Direct)
**Backup to Local Storage:**
```bash
# Backup VM to local storage
vzdump <vmid> --storage local --mode snapshot --compress zstd
# Backup with retention
vzdump <vmid> --storage local --mode snapshot --maxfiles 7
```
**Backup to NFS:**
```bash
# Add NFS storage first
# Datacenter → Storage → Add → NFS
# Backup to NFS
vzdump <vmid> --storage nfs-backup --mode snapshot
```
---
### Configuration Backups
#### Proxmox Host Configuration
**Backup Configuration Files:**
```bash
# Backup Proxmox configuration
tar -czf /backup/proxmox-config-$(date +%Y%m%d).tar.gz \
/etc/pve/ \
/etc/network/interfaces \
/etc/hosts \
/etc/hostname
```
**Restore Configuration:**
```bash
# Extract configuration
tar -xzf /backup/proxmox-config-YYYYMMDD.tar.gz -C /
# Restart services
systemctl restart pve-cluster
systemctl restart pve-daemon
```
#### Network Configuration
**Backup Network Config:**
```bash
# Backup network configuration
cp /etc/network/interfaces /backup/interfaces-$(date +%Y%m%d)
cp /etc/hosts /backup/hosts-$(date +%Y%m%d)
```
**Version Control:**
- Store network configuration in Git
- Track changes over time
- Easy rollback if needed
---
### Application Data Backups
#### Database Backups
**PostgreSQL:**
```bash
# Backup PostgreSQL database
pg_dump -U <user> <database> > /backup/db-$(date +%Y%m%d).sql
# Restore
psql -U <user> <database> < /backup/db-YYYYMMDD.sql
```
**MySQL/MariaDB:**
```bash
# Backup MySQL database
mysqldump -u <user> -p <database> > /backup/db-$(date +%Y%m%d).sql
# Restore
mysql -u <user> -p <database> < /backup/db-YYYYMMDD.sql
```
#### Application Files
```bash
# Backup application directory
tar -czf /backup/app-$(date +%Y%m%d).tar.gz /path/to/application
# Restore
tar -xzf /backup/app-YYYYMMDD.tar.gz -C /
```
---
## Restore Procedures
### Restore VM/Container from Backup
#### From Proxmox Backup Server
**Via Web UI:**
1. **Select VM/Container:**
- Datacenter → Backup → Select backup
- Click "Restore"
2. **Restore Options:**
- Select target storage
- Choose new VMID (or keep original)
- Set network configuration
3. **Start Restore:**
- Click "Restore"
- Monitor progress
**Via Command Line:**
```bash
# Restore from PBS
vzdump restore <backup-id> <vmid> --storage <storage>
# Restore with new VMID
vzdump restore <backup-id> <new-vmid> --storage <storage>
```
#### From vzdump Backup
```bash
# Restore from vzdump file
vzdump restore <backup-file.vma.gz> <vmid> --storage <storage>
```
---
### Restore Configuration
#### Restore Proxmox Configuration
```bash
# Stop Proxmox services
systemctl stop pve-cluster
systemctl stop pve-daemon
# Restore configuration
tar -xzf /backup/proxmox-config-YYYYMMDD.tar.gz -C /
# Start services
systemctl start pve-cluster
systemctl start pve-daemon
```
#### Restore Network Configuration
```bash
# Restore network config
cp /backup/interfaces-YYYYMMDD /etc/network/interfaces
cp /backup/hosts-YYYYMMDD /etc/hosts
# Restart networking
systemctl restart networking
```
---
## Backup Verification
### Verify Backup Integrity
**Check Backup Files:**
```bash
# List backups
vzdump list --storage <storage>
# Verify backup
vzdump verify <backup-id>
```
**Test Restore:**
- Monthly restore test
- Verify VM/container starts
- Test application functionality
- Document results
---
## Backup Retention Policy
### Retention Schedule
- **Daily Backups:** Keep 7 days
- **Weekly Backups:** Keep 4 weeks
- **Monthly Backups:** Keep 12 months
- **Yearly Backups:** Keep 7 years
### Cleanup Old Backups
```bash
# Remove backups older than retention period
vzdump prune --storage <storage> --keep-last 7
```
---
## Backup Monitoring
### Backup Status Monitoring
**Check Backup Jobs:**
- Datacenter → Backup → Jobs
- Review last backup time
- Check for errors
**Automated Monitoring:**
- Set up alerts for failed backups
- Monitor backup storage usage
- Track backup completion times
---
## Best Practices
1. **Test Restores Regularly:**
- Monthly restore tests
- Verify data integrity
- Document results
2. **Multiple Backup Locations:**
- Local backups (fast restore)
- Remote backups (disaster recovery)
- Offsite backups (complete protection)
3. **Document Backup Procedures:**
- Keep procedures up to date
- Document restore procedures
- Maintain backup inventory
4. **Monitor Backup Storage:**
- Check available space regularly
- Clean up old backups
- Plan for storage growth
---
## Related Documentation
- **[DISASTER_RECOVERY.md](DISASTER_RECOVERY.md)** - Disaster recovery procedures
- **[OPERATIONAL_RUNBOOKS.md](OPERATIONAL_RUNBOOKS.md)** - Operational procedures
- **[SECRETS_KEYS_CONFIGURATION.md](../04-configuration/SECRETS_KEYS_CONFIGURATION.md)** - Secrets backup
---
**Last Updated:** 2025-01-20
**Review Cycle:** Monthly