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.
Back up a POC database¶
In many proof-of-concept (POC) environments, the maas_test_db ends up serving as the foundation for production. Backing it up protects the effort you’ve already invested in setup and configuration. Fortunately, the procedure is a simple one-line command:
pg_dump maasdb -U maas -h /var/snap/maas-test-db/common/postgres/sockets > dump.sql
Be sure to use a memorable label for the dump file.
Clean reset production backup¶
The method uses pg_dumpall the entire database and make a complete snapshot of MAAS.
Back up procedure¶
Find the PostgreSQL service:
sudo systemctl list-units --type=service | grep postgres
Create backup directory:
mkdir -p <backup-path>/$(date +%s)
Dump database:
sudo -u postgres pg_dumpall -c > "<backup-path>/$(date +%s)_dump.sql"
Stop MAAS:
sudo snap stop maas
(Optional) Stop PostgreSQL:
sudo systemctl stop postgresql.service
Snap backup:
sudo snap save maas
Export snapshot:
sudo snap export-snapshot <snapshot-id> <backup-path>/$(date +%s)_snapshot
Restart services:
sudo systemctl start postgresql.service sudo snap restart maas
Restore¶
Stop MAAS & remove instance:
sudo snap stop maas && sudo snap remove maas
Restore database:
sudo -u postgres psql -f <backup-path>/<dump.sql> postgres
Import & restore snapshot:
sudo snap import-snapshot <backup-path>/<snapshot> sudo snap restore <snapshot-id>
Restart services:
sudo systemctl start postgresql.service sudo snap restart maas
Package production backup¶
Backs up PostgreSQL and key MAAS files.
Backup¶
Find PostgreSQL service:
sudo systemctl list-units --type=service | grep postgres
Create backup directory:
mkdir -p <backup-path>/$(date +%s)
Dump database:
sudo -u postgres pg_dumpall -c > "<backup-path>/$(date +%s)_dump.sql"
Stop MAAS services:
sudo systemctl stop maas-dhcpd.service maas-rackd.service maas-regiond.service
(Optional) Stop PostgreSQL:
sudo systemctl stop postgresql.service
Archive MAAS files:
sudo tar cvpzWf <backup-path>/$(date +%s)_maas_backup.tgz --exclude=/var/lib/maas/boot-resources /etc/maas /var/lib/maas
Restart services:
sudo systemctl start postgresql.service sudo snap restart maas
Restore¶
Reinstall Ubuntu (if possible).
Ensure PostgreSQL is installed.
Restore database:
sudo -u postgres psql -f <backup-path>/<dump.sql> postgres
Install MAAS from packages.
Stop MAAS services:
sudo systemctl stop maas-dhcpd.service maas-rackd.service maas-regiond.service
Extract backup:
sudo tar xvzpf <backup-path>/<backup.tgz> -C /
Restart services:
sudo systemctl start postgresql.service sudo systemctl restart maas-dhcpd.service maas-rackd.service maas-regiond.service