Posted over 4 years ago. Visible to the public.

Backup

Databases

Regular Intervals

Backups in the form of database dumps of our relational databases happen every day (usually between 12 AM and 1 AM CET/CEST). The backups will be created on the database replica server to prevent load impacts on the primary instance.
The dumps will be stored on our dedicated backup storage and kept there for 30 days. Every database on our shared PostgreSQL or MariaDB Cluster get this backup strategy.

Point-In-Time

Additionally and upon request we can provide Point-In-Time-Recoverability for dedicated databases. For our shared PostgreSQL cluster PITR is available by default. Restore Points are available up to 7 days in the past.

Redis

We do not backup Redis data but let it write its data to disk in certain intervals determined by amount of data changed and a time interval. Writing data to disk is not a backup. It's not copied anywhere. It's not incremental. It's not rotated. Disk persistence in Redis is needed for replication.

Application an Filesystem data

In our datacenter at Plusserver we backup your deployments data in the directory /gluster/shared/www.acme.com/. It is copied via rsync to our backup machine and will be rotated 7 times, so we can roll back to a state between 7 and 8 days.

If you need any further directories to be backed up or need a longer retention time you can contact us. Please mind that you could also copy the data to /gluster/shared/www.acme.com/ and symlink it yourself.

In our datacenter at noris, we use borgbackup. With that, the borg client (instead of rsync) is in charge of sending the data to the backup server. This way we can fully encrypt all backups with ease and even be efficient with deduplication.

All in all, the following is backed up:

  • Your application deployment, with releases (/var/www)
  • Your deploy users home (/home)
    • We save all your cronjobs in your home directory (in ~/.crontab-dump)
  • The shared data in the GlusterFS (/gluster/shared)
  • all files in /etc

We do this, in order to restore functionality completely without outside (e.g. a developer of the customer) interaction to any point within the last 7 days.

Backup restore test and monitoring

We frequently check that our backup is working as expected and we are able to restore backups:

  • every week a few backup dumps are randomly selected and are restored to a local database by an operations engineer
  • every week we verify that new files are included in the filesystem backups
  • additionally we monitor if the sync for the filesystem backup runs every day
  • we get notified if backup jobs fail
  • there is a continuous monitoring if PITR backup is receiving new data
  • once a month we also restore a PITR backup

Owner of this card:

Avatar
Thomas Eisenbarth
Last edit:
3 months ago
by Claus-Theodor Riegg
Posted by Thomas Eisenbarth to opscomplete
This website uses short-lived cookies to improve usability.
Accept or learn more