- Fixed 104 broken references in 59 files - Consolidated 40+ duplicate status files - Archived duplicates to reports/archive/duplicates/ - Created scripts for reference fixing and consolidation - Updated content inconsistency reports All optional cleanup tasks complete.
6.3 KiB
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
-
VM/Container Backups:
- Full VM snapshots
- Container backups
- Application data backups
-
Configuration Backups:
- Proxmox host configuration
- Network configuration
- Storage configuration
-
Data Backups:
- Database backups
- Application data
- Configuration files
Backup Procedures
Proxmox VM/Container Backups
Using Proxmox Backup Server (PBS)
Setup:
- Install PBS (if not already installed)
- Add PBS to Proxmox:
- Datacenter → Storage → Add → Proxmox Backup Server
- Enter PBS server details
- Test connection
Scheduled Backups:
-
Create Backup Job:
- Datacenter → Backup → Add
- Select VMs/containers
- Set schedule (daily, weekly, etc.)
- Choose retention policy
-
Backup Options:
- Mode: Snapshot (recommended for running VMs)
- Compression: ZSTD (recommended)
- Storage: Proxmox Backup Server
Manual Backup:
# 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:
# 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:
# 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:
# 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:
# 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:
# 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:
# 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:
# 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
# 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:
-
Select VM/Container:
- Datacenter → Backup → Select backup
- Click "Restore"
-
Restore Options:
- Select target storage
- Choose new VMID (or keep original)
- Set network configuration
-
Start Restore:
- Click "Restore"
- Monitor progress
Via Command Line:
# 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
# Restore from vzdump file
vzdump restore <backup-file.vma.gz> <vmid> --storage <storage>
Restore Configuration
Restore Proxmox Configuration
# 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
# 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:
# 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
# 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
-
Test Restores Regularly:
- Monthly restore tests
- Verify data integrity
- Document results
-
Multiple Backup Locations:
- Local backups (fast restore)
- Remote backups (disaster recovery)
- Offsite backups (complete protection)
-
Document Backup Procedures:
- Keep procedures up to date
- Document restore procedures
- Maintain backup inventory
-
Monitor Backup Storage:
- Check available space regularly
- Clean up old backups
- Plan for storage growth
Related Documentation
- DISASTER_RECOVERY.md - Disaster recovery procedures
- OPERATIONAL_RUNBOOKS.md - Operational procedures
- ../../04-configuration/SECRETS_KEYS_CONFIGURATION.md - Secrets backup
Last Updated: 2025-01-20
Review Cycle: Monthly