I’ve been running Veeam v13 in the Home Lab for a few months now. It’s working flawlessly, backup my servers locally and Wasabi immutable storage in the cloud, running replications, and using Sure Backup to verify my backups are actually working.
With Version 13 Veeam improved Universal Continuous Data Protection(U-CDP). If you are wondering what even is this, let me quote Veeam here, as it is a pretty good explainer.
“Universal continuous data protection (CDP) is a technology that helps you protect mission-critical workloads when data loss for seconds or minutes is unacceptable. Workloads of various types, such as virtual, physical or cloud machines can be replicated to VMware vSphere cluster or host. CDP provides minimum recovery time objective (RTO) in case a disaster strikes because CDP replicas are in a ready-to-start state.”
In this post I’m going to walk through setting this up and running CDP. There were some gotchas I ran into my home lab, but at the end if was a pretty smooth process.
In this scenario in my home lab, I built a virtual Windows Server 2022 to be backed by Veeam. I was originally planning on using a physical machine, but did not have one available. This server is running on VMware ESXi 8.x on one of my host. This is a GMKTec Ryzen with 96GB of Memory, with about 15TB of storage on a Synology NAS (Mounted via NFS). Given the current memory prices, I don’t think I could afford such a build anymore!
When you first deploy CDP, a CPD Proxy needs to be deployed to the hosts.

And the IO driver need to be installed on every host.

Which seems logically, since we are sending writes from the host to Veeam to create a replica of the workload we want to back up. Looking at the data flow provided by Veeam:

Seems easy enough, so let’s just deploy it…
….and it errored out with Install CDP I/O filter – Operation is not allowed in the current state
This is the first issue I encountered deploying it. I researched this for a little bit, and it came down to our friend DNS. It’s always DNS! In this case, my home lab is not domain joined and vCenter was unable to resolve my Veeam Server by its hostname. The fix is to add this to the /etc/host file on the vCenter.
First enable SSH and Bash Shell on your vCenter.

SSH into vCenter end enter shell.

Sudo vi to modify the host file located at /etc/hosts.

Hit insert to be able to modify the file in vi (I’m a nano user). In this case my Veeam Server is called Leah, with an ip of 192.168.1.25, so I added an entry as below:

Hit ESC and :wq to write and exit.
You might need to reboot your vCenter afterward, but this fixed my deployment issue and it was successful.

