Server Management (Unmanaged)

Managing snapshots

By the Domain India teamPublished 8 min read
Knowledge base article
Contents (8 sections)

A snapshot is a point-in-time picture of a server's disk that you can roll back to if a change goes wrong. Used well, snapshots make risky work, such as an operating system upgrade or a big software change, far less stressful. Used badly, they give a false sense of safety, because a snapshot is not a backup. This guide explains how snapshots work and how to take, restore and remove them yourself on your own VPS.

Key takeaways

A snapshot freezes the state of a disk so you can return to it later; it lives on the same storage as the server, so it doesn't replace an off-site backup. On your own VPS you can take snapshots with the tools of your operating system, such as LVM, Btrfs or ZFS, if the disk layout supports them. On a Domain India VPS you can also take, restore and delete whole-disk snapshots yourself on the Backups tab of your VPS page. Always keep your own off-site backups as well.

This guide is for a VPS or your own server

The commands below run as root on a VPS or server you manage. On shared hosting (cPanel, DirectAdmin, Webuzo) you can't take disk snapshots. Instead, cPanel and DirectAdmin accounts are backed up weekly with JetBackup 5, and Webuzo accounts every night to a separate Domain India backup server, with restores through support. See Backup and Restore with JetBackup.

1. What a snapshot is

A snapshot records which disk blocks look like what at one moment. After that, new writes go to fresh blocks (or the old ones are copied aside), so the snapshot keeps showing the disk as it was. Snapshots can be taken at three levels:

LevelTaken byCovers
HypervisorThe hosting platformThe whole virtual disk of the VPS
VolumeLVM inside your serverOne logical volume, such as the root filesystem
FilesystemBtrfs or ZFS inside your serverOne filesystem or subvolume

2. Snapshots are not backups

Snapshots are good for
  • Rolling back a failed OS or software upgrade
  • Testing a risky change and undoing it in minutes
  • Getting a consistent copy to back up from
Snapshots don't protect you from
  • A failed disk or storage system, because they live on the same storage
  • Mistakes you only notice weeks later, after the snapshot is gone
  • Ransomware or an attacker with root, who can delete them

Keep at least one copy of your data off the server: database dumps and files sent to object storage or your own computer. Automated backups with cron and rclone shows one way to do it.

3. Snapshots on a Domain India VPS

You take whole-disk snapshots yourself, from your VPS page (client area › VPS & Servers › your VPS) on the Backups tab, under Snapshots. VPS Starter includes 1 snapshot, VPS Basic and VPS Standard 2.

  • Before risky work, such as a major OS upgrade, type a label (for example "before upgrade") and click Take snapshot.
  • To roll back, click Restore next to the snapshot and type your VPS name to confirm. The whole disk returns to that moment, so anything written after it is lost.
  • To delete an old snapshot, for example when you reach your plan's limit, click Delete next to it.
  • Your own backups still matter. A snapshot is kept on the same server: an undo point, not a backup. Reinstalling the OS deletes your snapshots.

Older VPS without a VPS page in your client area: open a ticket with the VPS IP address and our team will take or restore a snapshot for you. Open tickets from /client/support/new when logged in, or from /support/ticket.

4. Take your own LVM snapshot

If your VPS uses LVM, you can snapshot a logical volume yourself. First check the layout and the free space in the volume group:

bash
sudo lvs          # logical volumes, e.g. "root" in volume group "vg0"
sudo vgs          # the VFree column must show space for the snapshot

If lvs shows nothing, the disk doesn't use LVM; see section 5. If VFree is 0, there's no room for an LVM snapshot.

  1. Create the snapshot.
    Size it for the writes you expect while it exists, not for the whole volume: sudo lvcreate --snapshot --size 5G --name root_snap /dev/vg0/root
  2. Check it.
    sudo lvs shows root_snap with a Data% column. If that reaches 100%, the snapshot becomes invalid.
  3. Do the risky work,
    then test your sites and services.
  4. If it went well, remove the snapshot:
    sudo lvremove /dev/vg0/root_snap. Old-style LVM snapshots slow down writes while they exist, so don't keep them for days.
  5. If it went wrong, roll back:
    sudo lvconvert --merge /dev/vg0/root_snap, then reboot. The merge of a mounted root volume completes during the next boot.

To copy files out of a snapshot without rolling back, mount it read-only: sudo mount -o ro /dev/vg0/root_snap /mnt (on XFS add -o ro,nouuid).

5. Btrfs and ZFS snapshots

Btrfs and ZFS have snapshots built in. They are instant and use space only for changed data.

bash
# Btrfs: read-only snapshot of a subvolume
sudo btrfs subvolume snapshot -r /data /data/.snapshots/before-upgrade
sudo btrfs subvolume delete /data/.snapshots/before-upgrade

# ZFS: snapshot, list, roll back, delete
sudo zfs snapshot tank/data@before-upgrade
sudo zfs list -t snapshot
sudo zfs rollback tank/data@before-upgrade
sudo zfs destroy tank/data@before-upgrade

Most VPS images use ext4 or XFS without LVM. On those, rely on file-level backups instead, such as restic or borg to off-site storage, which also keep several versions.

6. Make the snapshot consistent

A snapshot of a running server is "crash-consistent": like pulling the power cord. Databases usually recover, but a clean copy is safer:

  • Dump databases first: mysqldump --all-databases --single-transaction | gzip > /root/db-$(date +%F).sql.gz, or pg_dumpall for PostgreSQL.
  • Or stop write-heavy services for the few seconds the snapshot takes, then start them again.
  • Note what changed and when, so you know which snapshot to roll back to.

7. Limits to keep in mind

  • A snapshot can't restore a single file on its own; you mount it and copy the file out, or roll back everything.
  • Rolling back loses every change since the snapshot, including new orders, emails and uploads.
  • Snapshots use disk space that grows with every change. Delete them once you no longer need them.
  • A snapshot of a disk full of errors is a copy of the errors. Check your data before you trust it.

8. Where Domain India fits

Domain India VPS plans run on KVM with NVMe storage and full root access, and are self-managed: the data and its backups are yours to look after, and snapshots, power, console and reinstall are on your VPS page. For copying or resizing a whole VPS, see Cloning and resizing your VPS. The card shows the live price, excluding 18% GST:

VPS Basic
₹1,400/mo + GST
  • 2 vCPU
  • 4 GB DDR4 RAM
  • 128 GB NVMe SSD Storage
  • 3 TB Monthly Bandwidth
See plan details
Is a snapshot the same as a backup?

No. A snapshot lives on the same storage as the server, so a storage failure or an attacker with root access can take it with the server. Keep separate off-site backups as well.

How do I take a snapshot of my Domain India VPS?

On your VPS page, open the Backups tab, type a label under Snapshots and click Take snapshot. Older VPS without a VPS page: open a ticket. Inside the VPS you can also use LVM, Btrfs or ZFS snapshots if your disk layout supports them.

How do I restore my VPS from a snapshot?

On the Backups tab, click Restore next to the snapshot and type your VPS name to confirm. A rollback returns the whole disk to the moment of the snapshot, and everything written after it is lost.

Can I take snapshots on shared hosting?

No. cPanel and DirectAdmin accounts are backed up weekly with JetBackup 5, which you can download or restore from your control panel. Webuzo accounts are backed up every night, and support restores them on request.

How long should I keep an LVM snapshot?

Only as long as the risky work takes. Classic LVM snapshots slow down disk writes and become invalid if they fill up, so remove them with lvremove once you are sure the change worked.

Why is my LVM snapshot marked invalid?

It ran out of space. The snapshot size must cover all the data changed while it exists. Create it larger next time, or keep it for a shorter time.

Ready to make changes safely? Take your own backup first, then a snapshot from the Backups tab of your VPS page, or compare VPS plans.

Planning a risky change on your VPS?

Take a snapshot on the Backups tab before you start, so you can roll back in one step if it goes wrong.

Open your VPS

Ready when you are

Get VPS from ₹800/mo + GST

See plans

Was this article helpful?

Your answer helps us decide what to improve next.

Still need help? Open a support ticket and our team will reply.

Prefer an app? Add this site to your home screen.Get the app
Managing VPS Snapshots: Take, Roll Back, Remove