LowEndBox - Cheap VPS, Hosting and Dedicated Server Deals

Snapshots vs Backups Explained, And Why You Need Both in Your Life

Server SnapshotThis article was contributed by Dustin B. Cisneros from RackNerd, a seasoned contributor of the hosting industry for 16+ years. RackNerd has also been consistently voted, year over year as a top provider within the LowEndBox/LowEndTalk community. Are you looking for a new VPS? Be sure to take a look at their latest promotions by clicking here!

It’s a common misconception in the hosting industry that snapshots and backups are interchangeable terms. However, this is not the case: snapshots are NOT equal to backups! While both snapshots and backups serve to protect data, they differ in some key ways that are important to understand.

What is a Snapshot?

A snapshot is a point-in-time image of a virtual machine’s disk. Snapshots are typically stored on the same storage system as the original data. This means that any snapshots you create are dependent on the original data. If the original data becomes lost or corrupted, the snapshots may also be impacted. Snapshots are primarily used for quick rollbacks or testing changes before committing them.

Typically, VPS providers that utilize control panels like VirtFusion or SolusVM V2 support snapshots, if it is something they have enabled.

Note: Many VPS providers, as of the time of writing this post, are still operating on SolusVM V1 – including RackNerd, and SolusVM V1 does not support snapshot functionality. The reason why many providers are still on SolusVM V1, is because from 2010 to 2022, it was basically the only solution out there that was considered stable, with an established track record (prior to 2010, HyperVM was the go-to solution, but the owner of HyperVM/LxLabs committed suicide. After that, SolusVM exploded in popularity). After 2022, more modern alternatives besides SolusVM V1 have come to the market, but transitioning off SolusVM V1 is not an easy or overnight process, and there is no upgrade path but rather, it requires “importing” servers from one platform to another. Such a process is very involved, and requires careful and meticulous planning to ensure things go smoothly with minimal to no impact to existing virtual machines. RackNerd is actively testing alternative VPS control panel platforms and plans on transitioning to a more modern VPS control panel in the near future, which will include additional functionality such as snapshots.

So, why might a snapshot be useful anyway?

Snapshots can be useful for a wide number of different use cases and reasons. Here are some examples:

Example use case #1: Let’s say you are using the AlmaLinux ELevate tool to upgrade your system from CentOS 7 to AlmaLinux OS 8. As there are a lot of unknown variables and things that could possibly go wrong, you may want to create a snapshot (if your VPS provider supports it within their control panel) before you begin the ELevate process. Once the ELevate process is confirmed to be completed successfully, and you are fully certain you do not need to roll back, you can then delete the previous snapshot that you created. If the ELevate process fails, or something were to go wrong, you can on the other hand revert back to the snapshot (i.e. “point in time image”) that you created earlier.

Example use case #2: Here’s another possible use case example. Let’s say you are performing an upgrade from MySQL to MariaDB, or you are performing a major change similar in nature. As you are unsure if your databases may be corrupt after the upgrade, you may want to take a snapshot prior to beginning such a process, so that you have the ability to easily roll back if things were to go wrong.

What is a Backup?

In contrast, backups are copies of data that are stored independently from the original data, often on separate backup servers, and in some cases – even stored in different physical datacenters. Typically, backups are a paid offering for VPS providers because the provider incurs/takes on additional cost to maintain and host the offsite storage backup servers. Backups provide protection against data loss due to hardware failure, data corruption, or accidental deletion. Unlike snapshots, backups are self-contained and can be used to restore data even if the original source is lost. Backups are typically used for long-term data retention and disaster recovery.

Even still, in the hosting industry, it’s considered best practice to take your own offsite backups outside of the provider’s backup technology. It goes without saying that you should never fully rely on a provider’s backups, whether it’s a paid option or not. For best practice and ultimate peace of mind, consider implementing software such as Restic, or even a simple rsync bash script to regularly backup your important data to offsite servers, ideally to servers located in different physical datacenter locations in the event of a natural disaster. 

Why Snapshots Aren’t Enough

While snapshots can be a part of a data protection strategy, and it is certainly a convenient feature to have from a systems administrator perspective, they should not be relied upon as the sole means of backup. True backups, stored independently from the original data, are essential for robust data protection and disaster recovery. Relying solely on snapshots leaves your data vulnerable to loss, if the original storage system fails or becomes corrupted. Snapshots should instead be utilized for easy roll-back or testing purposes.

By understanding the differences between snapshots and backups, and implementing a robust data protection strategy, you can ensure the safety and recoverability of your critical data.

Questions, comments, or feedback? Share your thoughts and experiences in the comments below!


No Comments

    Leave a Reply

    Some notes on commenting on LowEndBox:

    • Do not use LowEndBox for support issues. Go to your hosting provider and issue a ticket there. Coming here saying "my VPS is down, what do I do?!" will only have your comments removed.
    • Akismet is used for spam detection. Some comments may be held temporarily for manual approval.
    • Use <pre>...</pre> to quote the output from your terminal/console, or consider using a pastebin service.

    Your email address will not be published. Required fields are marked *