Quick reminder
Snapshot = a point-in-time delta tied to the original disk/state. Good for short-term rollbacks.
Backup = an independent copy (full/incremental) stored separately. Good for long-term retention & disaster recovery.
When to use a snapshot (short & temporary)
Before config changes, OS/app updates, or risky experiments.
For development/testing where you need fast rollback.
Keep snapshots short-lived (hours → days), not as durable protection.
When to use a backup (reliable & long-term)
Production protection: compliance, long retention, site failover.
For migrations, hardware changes, or recoveries after storage failure.
For point-in-time restores and offsite disaster recovery.
Practical rules (must-read)
Don’t treat snapshots as backups. Snapshots depend on the original storage — if that storage fails, snapshots are gone.
Limit snapshot lifespan & chain length. Long snapshot chains slow I/O and increase storage use. Aim to delete within 24–72 hours.
Store backups off-host or off-site. Use remote object storage (S3/Wasabi) or a different datacenter/PBS.
Ensure application consistency. Use app-consistent methods for DBs (VSS, freeze/wal shipping, logical dumps), not only FS-level snapshots.