Skip to main content

Your submission was sent successfully! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates from Canonical and upcoming events where you can meet our team.Close

Thank you for contacting us. A member of our team will be in touch shortly. Close

An error occurred while submitting your form. Please try again or file a bug report. Close

How to back up MAAS

MAAS uses standard command-line utilities for simple, familiar backups. The options described here allow you to either back up and restore everything MAAS-related, or just back up key packages and files.

Clean reset backup

The method uses pg_dumpall the entire database and make a complete snapshot of MAAS.

Back up procedure

  1. Find the 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
    

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 2 months ago. Help improve this document in the forum.