Distributed Storage
Purpose
Distributed Storage — the enterprise/clustered layer above a single storage backend: replicated pools spanning multiple hosts, storage policies (tiering, replication, encryption/dedup/compression), in-flight VM disk migrations between pools, and datastore clusters with automatic space/latency-based balancing. For creating and starting a single NFS/LVM/ZFS/Ceph pool, see Storage Pools; for browsing volumes inside pools, see Storage.
When to use it
- To provision a storage pool replicated across multiple hosts with a target replication factor
- To define a storage policy (e.g. a "performance" tier with RF=3 and encryption on) that pools or workloads should conform to
- To watch a VM disk migration between pools and confirm it completed
- To group pools into a datastore cluster that rebalances automatically once a space or IO-latency threshold is crossed
How to get there
- Route / id:
/distributed-storage - Nav: Infrastructure → Distributed Storage (sidebar, command palette, or desktop nav)
Operate from the console (UX)
Four tabs — Pools, Policies, Migrations, Datastore Clusters — plus summary cards for total pools, aggregate capacity, policy count, and active migrations.
- Pools — distributed storage pools with a status badge, host count, and replication factor, and a used/available capacity bar. Create Pool sets a name, type, and replication factor. Delete a pool with a confirmation dialog.
- Policies — a table of storage policies showing tier, replication factor, failure tolerance, and whether encryption, deduplication, and compression are on. Create Policy sets name, description, replication factor, stripe width, failures-to-tolerate, and tier (performance / standard / archive). Delete with confirmation.
- Migrations — a read-only table of VM storage migrations: source pool, target pool, progress %, bytes transferred, and status (pending / in progress / completed / failed).
- Datastore Clusters — a table of clusters showing datastore count, whether storage DRS (SDRS) is enabled, space threshold %, total capacity, and VM count. Create Cluster sets a name, space threshold %, and IO-latency threshold (ms) that trigger automatic rebalancing.
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.