Simple concept for manual, short term use failover without significant downtime?

tahrens

New Member
Feb 4, 2026
4
0
1
Hamburg - Germany
Hello everyone,

I have a fundamental question about Proxmox that has been on my mind for quite some time, and I just can't seem to figure it out. It's about how to enable robust and reasonably fast failover even in small businesses with limited financial resources.
In my experience, small businesses often have lower requirements, meaning that downtime does not need to be zero or less than five minutes. However, it should not take several days to restore the failed services. The server should deliver sufficient performance for “normal operation,” but during “emergency operation” with a replacement server, compromises can be made for a certain period of time.
My considerations focus on the classic scenario, which does occur in practice, namely that the server/Proxmox host fails completely and is no longer functional (defective hardware, compromised OS, power surge, water damage, whatever...)

Basically, I would run Proxmox in such companies on rather simple server hardware with local ZFS storage on SSDs. Normal backups should be performed via Proxmox Backup Server in the LAN and nightly pull synchronisation to an external PBS, each with HDD NAS as cost-effective storage. This would ensure normal operation and a good backup with manageable resources. But what about recovery in the event of a server failure?

For cost reasons, cluster solutions with two or three identical hardware nodes with ZFS replication or Ceph are out of the question. In the event of a failure, getting a new server, setting everything up again, and restoring the VMs from the backup is also out of the question because it would take far too long. Just restoring a 2 TB VM (unfortunately, even small companies generate large amounts of data) takes an eternity in a classic environment without “all-flash, all-NVMe, Gbit/s LAN, etc.”

I have yet to find a viable solution that lies between these two extremes and enables a recovery time of 2-4 hours. However, not everything has to be (semi-)automatic, some manual work according to an emergency plan is perfectly acceptable in this situation.

My ideal scenario would be: A slimmed-down replacement server without local storage (only very small storage for the OS) with Proxmox pre-installed (not switched on, only as a “cold standby”), regularly synchronising the VMs to a NAS (at least once a day, possibly more often), creating different backup states. If the primary server fails, switch on the replacement server, integrate the VMs from the NAS (preferably already prepared) and start them under Proxmox. Functionality will be ensured by occasionally (2-3 times a year) booting up the replacement server, installing updates, and testing whether the VM replicas can be started with any backup states from the backup.

We have often implemented a solution like this with VMware and Veeam in the past, and it has worked quite well in practice. In a very simple variant, VMware could even be started from a prepared USB stick on any hardware, and the VMs could be mounted and booted from the backup on an external USB hard drive using Veeam Instant Recovery. The performance was generally not outstanding, but it was absolutely usable for the transition.

However, based on Proxmox, I have not yet been able to develop a complete solution that would allow the described concept to be fully implemented. I have pursued the following three approaches, but none of them have been successful:

1. True replication of the VMs is only possible at the block level on a second active server with local ZFS. Even if this were a slimmed-down server with HDDs instead of SSDs, and if it were only woken up once a day to sync and then returned to standby mode to save power, this seems impractical and error-prone to me. And as far as I know, this solution only allows you to fail over to the last replicated state. If this is also faulty (damaged or compromised), you have a problem because there are no previous states of the VMs on the replacement server, only in the normal backup. Or am I getting something wrong?

2. There are also various limitations with normal file- or block-level backups, e.g., to an NFS share on a NAS or to a Proxmox Backup Server. At the file level, the backup takes a long time and consumes a lot of space (always a complete backup without deduplication), and the file format is VMA and not a directly usable native VM format such as RAW or QCOW2. At the block level, you also don't have VM files, but rather a more or less large amount of chunks. In no case can a backup be directly integrated into PVE as a VM and started. The only option is a live restore, which does allow the VM to be started directly, but is very resource-intensive and always involves restoring to PVE storage.

3. According to my tests and research, there is also no suitable solution from third-party providers for storage and backup such as TrueNAS, Blockbridge, SEP, Veeam, etc. Either the storage on the primary server must already be external (e.g., TrueNAS with NFS or iSCSI), only the same mechanisms as PBS itself can be used (e.g., SEP with Live Restore), or you can certainly make a backup of Proxmox VMs, but instant recovery is only possible to other hypervisors (the current status at Veeam is to VMware or Hyper-V).

I would now be interested to know:
a) Have I understood the basic conditions correctly, or is there a major error in my thinking somewhere, and
b) What options are there for implementing a simple but functional recovery concept for temporary use until the primary server is repaired or replaced, as described?

Actually, I think it would be sufficient if, based on point 2, a VM with usable performance could be started from the backup without restoring it. This could be done either by creating the backup in a file-based format that can be used by PVE, such as RAW or QCOW2, preferably incrementally and with multiple states as with snapshots. Or by ensuring that, in the case of block-based backups, the requested blocks are not restored locally to PVE, but are read directly from the backup according to the selected backup state. Changes to the VM data during this temporary operating state would, of course, have to be written away separately, as with a snapshot or backup fleecing. And the backup would have to be created differently during the failover state, preferably still incrementally to the normal backup destination.

Would something like this be feasible, or is it completely hopeless with current means? And what might be possible alternatives that I haven't thought of yet? I'm very excited to hear your answers!

Best regards,
Thorger
 
Last edited:
One very low-end approach, with these assumptions:
  • you have two nearly identical PVE server, not clustered
  • one is doing its job, the other is turned off
  • you have sane PBS (with SSDs only, at least for the latest backup) - as you need to have daily backups anyway, right?
When the primary machine dies you turn on the standby machine. You'll need to restore the backup from last night, right?

Here comes the magic I wanted to mention: you can start the VM at the beginning of the restore process - it is called "live restore". It will run slowly as the PBS has to deliver the required data on demand, but nevertheless it will startup immediately - without the need to restore 2 TB first.

That's the smallest concept I can think of. For a commercial use case I would always recommend a cluster with at least two active nodes, plus the PBS to give Quorum. In this concept I would use ZFS-replication of course. A cluster has so many advantages...!

Just my 2 €¢ ;-)
 
the relevant questions to ask:
1. Would you want the failover to occur automatically, or with user intervention?
2. What is an acceptable outage period?
3. What is acceptable in terms of minimum performance (specifically, disk performance)

IF the acceptable outage period is not too short AND requiring user intervention isnt a limitation (it can add hours if not days to failover) @UdoB outlined an effective approach.
 
  • Like
Reactions: Johannes S and UdoB
Thanks for your replies. I'm aware of the capabilities of the live restore feature, as well as the many advantages of a cluster with shared storage or ZFS replication. And yes, a downtime of a few hours with the need of user interaction is acceptable, but it shouldn't exceed half a day.

Unfortunately, live restore has two significant drawbacks in my view:
  1. It requires a high-performance Server (PBS), meaning not a PBS-VM backing up to a NAS, but a dedicated server with a powerful CPU, much RAM, and SSDs for storage. This comes at a high cost.
  2. And as the name already says, live restore always includes a restore of the VM data. The backup server must therefore also have storage large and fast enough to restore all the necessary VMs without loss of performance. So this should also be SSDs, which is another significant cost factor.
So what I would need is:
  • Either the ability to create backups in a natively usable file format for the VMs, preferably QCOW2 on an NFS share, and ideally incrementally. This would allow for easy import and immediate startup on any PVE host in case of failure.
  • Or the ability to perform a live recovery without a restore of the data. This would mean starting the VM live on the PVE host directly from the file- or block-based backup from the PBS without having to restore the entire VM data to the PVE simultaneously.
I think it's simply unrealistic for very small businesses (and with this I mean fewer than 10 employees) to set up two all-flash PVE servers and an all-flash PBS, given the current very high hardware prices, and spend about €30,000 to €50,000 including setup. But it’s also unacceptable for them, having to wait several days for recovery after a failure, before they can resume operations.

So what advice should one give such companies? Should they use a cost-effective NAS or rely exclusively on the cloud? Or should they stick with VMware and Veeam, since that's still cheaper than a minimal solution with Proxmox that offers comparable fault tolerance? I personally find both of those options unacceptable ;)

I can't imagine it would be that difficult to implement a solution like the ones I suggested using PVE and PBS. All you'd have to do is to create a backup in QCOW2 format or mount a backup and, while it's active, write the changes made to the VMs to another location, similar to a snapshot with QCOW2. But I'm not familiar enough with all the details to really assess the feasibility of a solution like that.

What I can say is, that there is a need for a simple but reliable implementation for very small businesses.
 
You mentioned VM / snapshot replication with "any other FS". As far as I know, that's only possible with local ZFS?

Even ZFS over iSCSI doesn't work, if I'm correctly informed. Otherwise, I could use TrueNAS with ZFS over iSCSI and mount the VM replicas on the backup server.

Of course, one could set up ZFS replication to a simple Linux machine with two large HDDs in a local ZFS mirror. I haven't considered that option before.

But could the ZFS of that machine then be mounted remotely on another Proxmox host? Or does the machine with the ZFS itself have to be a Proxmox host = the backup server itself, because ZFS always has to be local?

I'm starting to get confused... :rolleyes:
 
You mention failover, and in that regard, it makes sense to use Proxmox <> Proxmox pve-zsync replication. Both proxmoxes have zfs storage for vm and cts and you implement it on one machine. Failove then has moving .conf files and starting the machines on replicated node.
 
  • Like
Reactions: Johannes S
I understand what you mean. I was actually hoping to avoid a second Proxmox VE server running 24/7.

I think I'll run a test for my use case to see if I can get ZFS replication working from PVE to TrueNAS, and then mount and start the replicated VMs on another PVE server using ZFS over iSCSI. If that works, it would be exactly the solution I'm looking for.

Otherwise, I'll just set up a second PVE server with local ZFS, which will regularly receive the VM replicas via storage replication.

I'll report back here with the results of the test. Thanks for your help so far!
 
Unfortunately, live restore has two significant drawbacks in my view:
  1. It requires a high-performance Server (PBS), meaning not a PBS-VM backing up to a NAS, but a dedicated server with a powerful CPU, much RAM, and SSDs for storage. This comes at a high cost.
  2. And as the name already says, live restore always includes a restore of the VM data. The backup server must therefore also have storage large and fast enough to restore all the necessary VMs without loss of performance. So this should also be SSDs, which is another significant cost factor.
I think you may be obsessing about the "performance" and "cost" aspects entirely too much.

1. What is the makeup of your payload? (number of vms, function, ACTUAL performance in IOPs)
2. a backup device MUST be a separate device then the primary, because, you know, it cant be both primary and backup. That said, it could be a cheap pc with a couple of hard drives- see 1 above. "cost" and "performance" are very relative until you establish what they actually need to be.
3. You also seem to ignore (or just not consider) the fact that since you intend to use a separate data stream for the failover, you need to plan for the inevitable failback- there will be a delta between the your primary dataset and the offline that will need to be somehow rectified. zfs on both ends facilitates that; pbs would need essentially the same "recovery" process as the initial standing up of the backup device.
Either the ability to create backups in a natively usable file format for the VMs, preferably QCOW2 on an NFS share, and ideally incrementally. This would allow for easy import and immediate startup on any PVE host in case of failure.
This is pretty easy to accomplish, but you'd need to script that on your own; but "easy" in this context is relative. if you intend to stand up two servers and have one continuously send delta images to the other, you may as well just use zfs-sync.

Or the ability to perform a live recovery without a restore of the data. This would mean starting the VM live on the PVE host directly from the file- or block-based backup from the PBS without having to restore the entire VM data to the PVE simultaneously.
I know you can use veeam for this. if PBS doesnt support this functionality directly, it would be trivial to implement since that step is a prerequisite of live restoral- I dont use PBS in this manner so I never checked.
I think it's simply unrealistic for very small businesses (and with this I mean fewer than 10 employees) to set up two all-flash PVE servers and an all-flash PBS, given the current very high hardware prices, and spend about €30,000 to €50,000 including setup. But it’s also unacceptable for them, having to wait several days for recovery after a failure, before they can resume operations.
see above. you are arbitrarily setting hardware and prices. define the workload first- you might be surprised at what you actually need to accomplish.

So what advice should one give such companies?
go to cloud ;) but seriously, if capex is a no go, cloud can serve quite well.
 
I think I'll run a test for my use case to see if I can get ZFS replication working from PVE to TrueNAS, and then mount and start the replicated VMs on another PVE server using ZFS over iSCSI. If that works, it would be exactly the solution I'm looking for.
interesting idea. I dont know if the pve tooling would work for this but even if it doesn't it can be scripted relatively easily. I'd love you hear your success story if you'd be so kind to document :)

Having said that, if PBS allows live access without restoral I'd say that would be the better method (you can install pbs in a VM on your truenas.) It is better supported and more supportable then scripts.
 
go to cloud ;) but seriously, if capex is a no go, cloud can serve quite well.

This is exactly the impression I was getting from the discussion as well. The OP wants a “simple” small-business solution that nonetheless delivers a fully featured, reliable DR setup with many characteristics typically associated with enterprise platforms.

That problem has already been solved at scale by Cloud Service Providers (whether PVE-based or otherwise). They package and sell portions of that capability to small businesses that are not generating revenue directly from their IT infrastructure, and, based on the extensive description provided, are also reluctant to invest time or money into building such a solution themselves.


Blockbridge : Ultra low latency all-NVME shared storage for Proxmox - https://www.blockbridge.com/proxmox
 
  • Like
Reactions: UdoB and Johannes S