How to back up MAAS

Errors or typos? Topics missing? Hard to read? Let us know.

MAAS uses standard command-line utilities for simple, familiar backups.

Clean Reset Backup

Uses pg_dumpall. Fully overwrites MAAS and PostgreSQL on restore.

Backup

  1. Find PostgreSQL service:
    sudo systemctl list-units --type=service | grep postgres
    
  2. Create backup directory:
    mkdir -p <backup-path>/$(date +%s)
    
  3. Dump database:
    sudo -u postgres pg_dumpall -c > "<backup-path>/$(date +%s)_dump.sql"
    
  4. Stop MAAS:
    sudo snap stop maas
    
  5. (Optional) Stop PostgreSQL:
    sudo systemctl stop postgresql.service
    
  6. Snap backup:
    sudo snap save maas
    
  7. Export snapshot:
    sudo snap export-snapshot <snapshot-id> <backup-path>/$(date +%s)_snapshot
    
  8. Restart services:
    sudo systemctl start postgresql.service
    sudo snap restart maas
    

Restore

  1. Stop MAAS & remove instance:
    sudo snap stop maas && sudo snap remove maas
    
  2. Restore database:
    sudo -u postgres psql -f <backup-path>/<dump.sql> postgres
    
  3. Import & restore snapshot:
    sudo snap import-snapshot <backup-path>/<snapshot>
    sudo snap restore <snapshot-id>
    
  4. Restart services:
    sudo systemctl start postgresql.service
    sudo snap restart maas
    

Clean Package Backup

Backs up PostgreSQL and key MAAS files.

Backup

  1. Find PostgreSQL service:
    sudo systemctl list-units --type=service | grep postgres
    
  2. Create backup directory:
    mkdir -p <backup-path>/$(date +%s)
    
  3. Dump database:
    sudo -u postgres pg_dumpall -c > "<backup-path>/$(date +%s)_dump.sql"
    
  4. Stop MAAS services:
    sudo systemctl stop maas-dhcpd.service maas-rackd.service maas-regiond.service
    
  5. (Optional) Stop PostgreSQL:
    sudo systemctl stop postgresql.service
    
  6. Archive MAAS files:
    sudo tar cvpzWf <backup-path>/$(date +%s)_maas_backup.tgz --exclude=/var/lib/maas/boot-resources /etc/maas /var/lib/maas
    
  7. Restart services:
    sudo systemctl start postgresql.service
    sudo snap restart maas
    

Restore

  1. Reinstall Ubuntu (if possible).
  2. Ensure PostgreSQL is installed.
  3. Restore database:
    sudo -u postgres psql -f <backup-path>/<dump.sql> postgres
    
  4. Install MAAS from packages.
  5. Stop MAAS services:
    sudo systemctl stop maas-dhcpd.service maas-rackd.service maas-regiond.service
    
  6. Extract backup:
    sudo tar xvzpf <backup-path>/<backup.tgz> -C /
    
  7. Restart services:
    sudo systemctl start postgresql.service
    sudo systemctl restart maas-dhcpd.service maas-rackd.service maas-regiond.service
    

Last updated 9 days ago.