GitHub user nickaccuweb added a comment to the discussion: Disaster recovery in 
cloudstack

@TheKunalSen 

I would recommend going with your first option, using two separate CloudStack 
zones, one at each physical location.

Regarding Option 1:

CloudStack doesn't automatically replicate newly created VMs between zones just 
because they are managed by the same management server.

However, if you're using CloudStack 4.22 or later with KVM, there's a useful 
feature in the NAS Backup and Recovery plugin that allows you to create a new 
VM in another zone from an existing VM backup.

You can enable cross-zone instance creation on the backup repository, schedule 
VM backups, and replicate the backup data to Site B. The repository must remain 
accessible from the destination zone.

For your 100 VMs, you could use the CloudStack API to automate backup 
configuration for newly created VMs. This would reduce manual work, although it 
wouldn't provide continuous VM replication.

Regarding Option 2:

I wouldn't recommend extending the same zone across two physically separate 
sites just to achieve host-level failover.

Even if the hosts connect through a site-to-site VPN, live migration and system 
VM operations still depend on proper networking, storage accessibility, and 
latency. This could become unreliable during network interruptions.

A separate zone with its own hosts, primary storage, secondary storage, and 
network configuration would be a cleaner approach.

My recommended setup:

1. Configure Site A and Site B as separate CloudStack zones.
2. Keep independent NFS storage at both locations and replicate VM backups to 
Site B.
3. Use scheduled backups and CloudStack API automation to protect newly created 
VMs.
4. Deploy a reverse proxy and separate Cloudflare Tunnel at each site, using 
Cloudflare Load Balancing with health checks for automatic traffic failover.
5. Replicate application data and databases between sites so the standby 
applications have up-to-date data.
6. Protect the CloudStack management server and MySQL database as well. If both 
are hosted only at Site A, losing that site would prevent you from managing or 
restoring VMs until the management services are recovered.

One important point: VM backups and automatic website failover are two 
different things. If you want websites to remain available with minimal 
downtime, the critical application VMs should already be running at Site B, 
with their data synchronized. Otherwise, you'll need time to restore the VMs 
before Cloudflare can route traffic to them.

For your environment, I would start with an active-passive setup, test the 
backup restoration process, and then introduce application-level replication 
for the websites that require faster failover.

Also, just to clarify, 192.168.1.0/24 is a private IP range, not a public one.

Regards,
Nick R 
AccuWeb.Cloud

GitHub link: 
https://github.com/apache/cloudstack/discussions/13146#discussioncomment-19429709

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]

Reply via email to