Site Recovery
Purpose
Site Recovery — define disaster recovery plans that group VMs by source and target site, then execute those plans as a test failover, a planned migration, or a full disaster recovery, and track how each execution unfolds.
When to use it
- To set up which VMs fail over together, and to which target site, ahead of an actual incident
- To run a non-destructive test failover to validate a plan works before you need it for real
- To execute an actual disaster recovery when a site goes down
- To check fleet-wide DR posture — how many VMs are protected, average RTO/RPO, and which plans have been tested
How to get there
- Route / id:
/app/site-recovery - Nav: Operations → Site Recovery (sidebar, command palette, or desktop nav)
Operate from the console (UX)
- DR Dashboard tab — summary tiles for protected vs. unprotected VMs, average RTO, average RPO, and plans tested vs. total plans; plus a per-site status list and the 5 most recent executions with their status.
- Recovery Plans tab — table of plans (name/description, VM group count and total VMs, status, last tested date, last executed date). Create Plan defines a plan name, description, source site ID, target site ID, a VM group name, and a comma-separated list of VM IDs in that group.
- Each plan can be executed — opens a modal with three execution types, each with different risk:
- Test Failover — non-destructive, runs in an isolated network
- Planned Migration — graceful, zero data loss
- Disaster Recovery — emergency failover; some data loss possible; confirmation dialog warns this fails over all VMs to the target site Plans can also be deleted (confirmation dialog).
- Execution History tab — each past/in-progress execution shows plan name, execution type, status, VMs recovered vs. total, actual RTO once known, a live progress bar with the current step, a chip per step showing its individual status, and start/completion timestamps.
Empty / fail: Error banner, empty table, or failed toast — confirm you are signed in, zyvor-fabricd is healthy (/readyz), and any backend this page needs (FluxVM, storage, network) is reachable. See Admin basics.
Success: Live data loads without error; creates/updates appear in the list or detail view and any confirmation toast clears cleanly.