<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Snapshots on rHomelab</title><link>https://rhomelab.com/tags/snapshots/</link><description>Recent content in Snapshots on rHomelab</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Wed, 23 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://rhomelab.com/tags/snapshots/index.xml" rel="self" type="application/rss+xml"/><item><title>Proxmox Snapshots vs Backups: What Each One Actually Protects You From</title><link>https://rhomelab.com/proxmox/snapshots-vs-backups-in-proxmox/</link><pubDate>Wed, 23 Sep 2026 00:00:00 +0000</pubDate><guid>https://rhomelab.com/proxmox/snapshots-vs-backups-in-proxmox/</guid><description>Snapshots and backups solve different problems in Proxmox. Here&amp;#39;s what a snapshot actually is under the hood, why it isn&amp;#39;t a substitute for a real backup, and how to use both together without either one giving you a false sense of security.</description><content:encoded><![CDATA[<p>Every Proxmox host ships with snapshots built in, and they&rsquo;re so easy to take that it&rsquo;s tempting to treat them as your backup strategy. Click &ldquo;Snapshot&rdquo; before a risky change, click &ldquo;Rollback&rdquo; if it goes wrong, done. That workflow is genuinely useful, and you should use it. It is also not a backup, and conflating the two is one of the more common ways homelab operators discover, at the worst possible moment, that they had less protection than they thought.</p>
<h2 id="what-a-snapshot-actually-is">What a snapshot actually is</h2>
<p>A Proxmox snapshot is a point-in-time marker inside the same storage the VM or container is already living on. It doesn&rsquo;t copy your data anywhere. Instead, it freezes the current state of the disk and starts tracking changes from that point forward, so it can show you &ldquo;the disk as it looked at 2:14 PM&rdquo; without having duplicated the whole thing.</p>
<p>How that tracking actually works depends on the storage backend:</p>
<ul>
<li><strong>ZFS</strong> (the most common case on Proxmox) uses copy-on-write natively. Taking a snapshot is close to instant because ZFS just marks the current set of blocks as &ldquo;don&rsquo;t overwrite these, allocate new blocks for changes instead.&rdquo; Rolling back means pointing the dataset back at that marked set.</li>
<li><strong>qcow2</strong> images build a chain: the base snapshot becomes a read-only layer, and a new writable layer sits on top capturing everything that changes afterward. Take another snapshot and you get another layer stacked on that one.</li>
<li><strong>LVM-thin</strong> works similarly to qcow2&rsquo;s chaining model, using thin-provisioned volumes to track the delta between snapshot points.</li>
<li>Plain <strong>LVM (thick)</strong> and directory storage without qcow2 either don&rsquo;t support live snapshots at all or fall back to a much slower, less efficient mechanism. Check what your storage type actually supports before assuming the snapshot button will work the way you expect.</li>
</ul>
<p>If you take a &ldquo;snapshot with RAM,&rdquo; Proxmox also captures the VM&rsquo;s memory state at that instant, so a rollback restores you to a running system exactly where you left it, not just a bootable disk. That&rsquo;s convenient for testing, but it makes the snapshot bigger and the host briefly pauses the VM while it captures memory, which matters if you&rsquo;re doing this on something latency-sensitive.</p>
<h2 id="why-this-isnt-a-backup">Why this isn&rsquo;t a backup</h2>
<p>The failure mode that makes snapshots a bad primary defense is simple: a snapshot lives on the same physical storage as the thing it&rsquo;s a snapshot of. If that disk fails, if the pool gets corrupted, if the whole node dies, or if you fat-finger a <code>zpool destroy</code> or delete the wrong VM, the snapshot dies with it. You haven&rsquo;t protected yourself from any of the failure modes that actually cause real data loss. You&rsquo;ve protected yourself from your own mistakes within a single running system, which is a real and useful thing, just a much narrower one than &ldquo;backup&rdquo; implies.</p>
<p>There&rsquo;s a second problem that&rsquo;s less obvious until it bites you: snapshot chains have an ongoing cost, and it isn&rsquo;t free to ignore. Every snapshot you leave sitting around means every write to the live disk has to preserve the old blocks that snapshot references, instead of just overwriting them in place. On ZFS this shows up as gradually increasing pool usage even though nothing &ldquo;new&rdquo; is happening from your point of view; on qcow2 it shows up as write amplification and slower I/O the deeper the snapshot chain gets, because a read may have to walk back through several layers to find the actual current data. Long-lived snapshot chains, especially ones nested three or four deep because nobody cleaned up after testing something six months ago, are a real, measurable performance drag, not just a storage-space annoyance.</p>
<p>None of that shows up as a backup. A backup, in the actual sense of the word, means the data exists in a second, independent location that survives the primary storage, the primary node, and ideally the primary site failing outright.</p>
<h2 id="what-snapshots-are-actually-good-for">What snapshots are actually good for</h2>
<p>Used for what they&rsquo;re actually designed for, snapshots are excellent:</p>
<ul>
<li><strong>Before an in-place upgrade or a risky config change.</strong> Snapshot, make the change, and if it breaks something you didn&rsquo;t expect, roll back in seconds instead of restoring from a full backup that takes minutes and requires you to have run one recently.</li>
<li><strong>Testing something destructive.</strong> Trying a database migration script, an in-place OS upgrade, or a config change you&rsquo;re not 100% sure about. Snapshot, try it, roll back regardless of outcome if you were just testing.</li>
<li><strong>Short-lived safety nets during active work</strong>, not long-term protection. The right mental model is &ldquo;this exists for the next hour while I do something risky,&rdquo; not &ldquo;this exists so I don&rsquo;t need a real backup.&rdquo;</li>
</ul>
<p>The practical rule: take a snapshot immediately before a risky operation, confirm the operation worked the way you wanted, and then remove the snapshot once you&rsquo;re past the point where you&rsquo;d want to roll back. Don&rsquo;t let them accumulate as a substitute for cleanup.</p>
<h2 id="how-they-work-together">How they work together</h2>
<p>The two aren&rsquo;t competing tools, they&rsquo;re complementary ones that solve different halves of the same problem:</p>
<ul>
<li><strong>Snapshots</strong> give you fast, low-friction, in-place undo for mistakes you catch quickly, on the system you&rsquo;re actively working on.</li>
<li><strong>Backups</strong> (see <a href="/proxmox/proxmox-backup-server-setup/">Proxmox Backup Server</a> if you haven&rsquo;t set one up) give you an independent, off-the-primary-storage copy that survives disk failure, node failure, ransomware, or &ldquo;I deleted the wrong VMID at 11 PM.&rdquo;</li>
</ul>
<p>A sane homelab workflow uses both: PBS running scheduled, retained backups in the background as your actual disaster-recovery layer, and snapshots as a manual, situational tool you reach for right before doing something that might go wrong. If you only have one of the two, it should be the backup, not the snapshot. A snapshot with no backup behind it means a single storage failure takes out your data and every &ldquo;recovery point&rdquo; you thought you had, simultaneously.</p>
<h2 id="cleaning-up-snapshot-sprawl">Cleaning up snapshot sprawl</h2>
<p>If you&rsquo;ve never gone looking, there&rsquo;s a decent chance you&rsquo;ve got old snapshots sitting around on VMs or containers you forgot about. From the Proxmox VE web UI, each guest&rsquo;s Snapshots tab shows what exists and lets you remove them individually. From the CLI, <code>qm listsnapshot &lt;vmid&gt;</code> (VMs) or <code>pct listsnapshot &lt;vmid&gt;</code> (containers) shows you the same thing across everything if you script a loop over your VMIDs, which is worth doing periodically rather than only when something feels slow.</p>
<p>When you delete a snapshot, Proxmox has to merge that layer&rsquo;s changes back into the chain, which takes I/O and time proportional to how much changed since the snapshot was taken and how many other snapshots sit on top of it. Deleting the oldest snapshot in a long chain is usually more expensive than deleting the most recent one, so if you&rsquo;re clearing out a real backlog, work from newest to oldest where you can, and expect a live merge to briefly compete with your guest&rsquo;s normal disk I/O.</p>
<h2 id="bottom-line">Bottom line</h2>
<p>A snapshot is a fast, cheap, same-storage undo button. A backup is an independent copy that survives the thing the snapshot lives on failing. They fail differently, they cost differently, and they&rsquo;re not interchangeable no matter how similar the buttons look in the web UI. Use snapshots liberally around risky changes and clean them up when you&rsquo;re done. Use PBS, or something equivalent, as the thing you&rsquo;d actually reach for if the whole node died tonight. If your only recovery point right now is a snapshot, that&rsquo;s worth fixing before you need it, not after.</p>
]]></content:encoded></item></channel></rss>