DRS
Purpose
Distributed Resource Scheduler (DRS) — balances VM placement across the hosts in a cluster, surfaces migration recommendations, enforces affinity/anti-affinity rules, and can test where a new VM would land before you create it.
When to use it
- To see how evenly CPU and memory load is spread across your cluster's hosts
- To review (and approve or reject) migrations DRS suggests to rebalance load
- To keep certain VMs together (affinity) or apart (anti-affinity) — e.g. two replicas of the same service on different hosts
- To test where a hypothetical VM (given its vCPU/memory needs) would be placed before actually creating it
How to get there
- Route / id:
/app/drs - Nav: Operations → DRS (sidebar, command palette, or desktop nav)
Operate from the console (UX)
DRS configuration (top of page) — toggle DRS On/Off, set the Automation Level (Manual, Semi-Auto, or Fully Auto), adjust the Migration Threshold (1–5, how aggressively it rebalances), and see the configured check interval. Changes apply immediately.
Four tabs below that:
- Balance — the overall cluster balance score plus CPU/memory imbalance percentages, and a per-host breakdown with live CPU and memory usage bars (color-coded amber/red as usage climbs).
- Recommendations — a table of migrations DRS suggests (VM, source host, target host, reason, priority, estimated benefit). Pending recommendations can be approved (checkmark) or rejected (X) directly from the row.
- Rules — affinity/anti-affinity rules, each showing type, VM count, whether it's mandatory, and whether it's enabled. Create Rule sets a name, chooses Affinity (keep together) or Anti-Affinity (keep apart), lists VM IDs (comma-separated), and an optional mandatory flag. Delete a rule from its row (confirmation required).
- Placement — a calculator: enter a hypothetical VM's CPU (MHz) and memory (MB), click Test Placement, and see the recommended host, its score and reasoning, projected CPU/memory usage after placement, and scored alternative hosts.
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.