Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- 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>
343 lines
6.3 KiB
Markdown
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
|