KoaVM
Guide pages

Guide · For administrators

Backups and snapshots

The difference

  • A snapshot is an instant picture of the disk on the same server. It takes a moment and is handy before an upgrade or a risky change, but if the server breaks it is lost with it.
  • A backup is a copy of the VPS stored elsewhere: on another node, on S3 storage or on an FTP server. It protects you from failures.

Snapshots and backups also include the VPS's extra disks. Before starting, the panel asks the VPS (through the agent) to flush the data still in memory, so files saved a moment ago end up in the copy too.

Snapshots

From the VPS page: Take a snapshot (with a label), Restore, delete. Clients keep as many as their plan allows; you up to 50.

Restoring happens with the VPS stopped and starts it again. The disk goes back to how it was, but plan, IP and IPv6 stay the current ones. On ZFS storage you go back to the chosen snapshot and the later ones are deleted. A disk added in the meantime stays as it is.

Backup destinations

In Settings › Backups › Add destination:

  • Node: another node, reached over SSH with the panel's key, and a folder (e.g. /var/lib/koavm-backups). On ZFS nodes the panel creates a dedicated dataset.
  • S3: endpoint, region, bucket, prefix, keys (OVH Object Storage, Scaleway, MinIO… too). For MinIO and similar enable «path style» addresses.
  • FTP: server, port, username, password and folder. Use FTPS (FTP over TLS, on by default): without it the password travels in clear text. The backup space that comes with a dedicated server is a good fit.

The panel tests the destination before saving it and shows the free space. One destination is the default; each plan can pick another one.

A VPS is never backed up to its own server: if the plan's destination is the VPS's node, the panel uses another destination. That's why it pays to have at least two (for example each node backs up to the other).

Self-signed FTPS certificates

If the FTP server's certificate is not signed by a recognised authority (common with your own servers), the panel shows its fingerprint and asks whether to trust it. Check it is your server's and press Trust this certificate: from then on the panel accepts only that certificate, and tells you if it changes.

Full or incremental backups

For each destination choose the type:

  • Incremental (recommended): the first backup copies everything, later ones only the parts of the disk that changed. The data is split into chunks, compressed and encrypted (AES-256); a chunk that is the same is stored only once, even if several backups use it. Less space, less traffic, much faster backups. Every backup restores in full, even after the older ones have been deleted.
  • Full every time: one compressed file (.tar.zst) per backup. It takes more space but opens even without the panel.

Changing the type applies to the next backups; existing ones remain restorable.

The archive key

Incremental backups are encrypted with a key the panel creates for each destination. Find it with the key button next to the destination. Keep a copy outside the panel (for example in your password manager): if the panel is lost, the key and the destination are enough to read the backups from a new panel (when adding the destination choose I already have an archive in this destination and paste the key).

The destination folder contains koavm-archivio/: don't touch it by hand. Chunks no backup uses any more are deleted automatically.

ZFS replication between nodes

If the destination is another node and both that node and the VPS's node use ZFS, incremental backups use ZFS replication: only the blocks changed since the last backup are sent, usually in a few seconds. On the VPS's node only a bookmark is kept, which takes no space. You can turn it off in the destination (encrypted chunks are used instead).

After a snapshot is restored the next ZFS backup starts over (it is full again): earlier backups remain restorable.

Automatic plan backups

In the plan choose how many backups to keep and whether to make them every night or once a week (new plans start with 3 nightly backups). In Settings › Backups choose from what time they start (in your browser's time) and how many run together. They start within 6 hours of the chosen time, even while the VPS is running; the oldest is deleted automatically when the plan's number is exceeded.

The Backups page

Backups in the menu shows how each VPS is protected: plan, destination, last successful backup (or the error), next backup. Filter the VPSs without backups or with errors and press Back up now. Below you find the extra schedules and every backup, with its type, destination and how much space it took.

Extra schedules

Use them when the plan isn't enough: for example a backup every 6 hours of an important VPS, or a weekly copy of every VPS on a node to another destination. Backups › New schedule:

  • for one VPS or for all VPSs on a node (including those created later);
  • every few hours, every day at a time or every week on a day and time;
  • how many to keep: counted separately from the plan's;
  • destination: the plan's or another one.

A schedule can be paused or removed; the backups already made stay until you delete them.

From the VPS page, Back up now also lets you choose the destination.

Restoring a backup

Restore from the VPS page: the panel stops the VPS, sets it aside, recreates the VPS from the backup with the current IPs, network and resources, starts it and only at the end deletes the copy set aside. If something goes wrong the previous VPS goes back in place. Extra disks also go back to the backup (and are mounted where they were); disks added later stay as they are. Snapshots are not part of backups.

With ZFS replication, restoring brings the VPS's disks back to the backup, after a safety snapshot that puts things back if the restore fails.