Skip to content

Replication & Disaster Recovery

Replicate volumes between MayaNAS or MayaScale nodes for disaster recovery and data protection. MayaNAS includes enterprise-grade DR features at no additional cost — same posture as legacy NAS appliance products that charge per-protected-TB.

Navigate to Replication in the Web UI sidebar.

TypeRPOHow It WorksBest For
Snapshot Mirroring (SnapMirror equivalent)Configurable from minutes to daysAsynchronous incremental ZFS replication via zfs send/recv over encrypted SSH with on-the-wire compression. Resumable on interruption. Per-volume retention policies on source and targetRecommended for DR. Cross-region, cross-cloud, on-prem capable. No per-TB license
Synchronous (DRBD)Zero data loss (RPO 0)Writes acknowledged only after stable write on both nodes via DRBD block-level replicationSame-region HA for block volumes (RDBMS, VMware datastores)
Asynchronous (safe)~5 secondsWrites acknowledged after secondary receives data in memoryCross-region block replication with low-latency tolerance
Asynchronous (unsafe)~5 secondsPrimary does not wait for secondary acknowledgmentMaximum performance, tolerates some data loss

Snapshot Mirroring is the recommended DR path for MayaNAS file/object workloads — it is the OpenZFS-native equivalent of NetApp SnapMirror, runs at the filesystem level, supports cross-region/cross-cloud/on-prem destinations, and is included with the product (no per-TB license fee).

  1. Select a volume by checking its checkbox
  2. Click Enable
  3. Configure the replication pair:
FieldDescription
Remote ServerIP address of the secondary node
Remote VolumeDestination volume on the secondary node
Replication Typesync, async-safe, async, or snapshot
Network InterfacePreferred interface for replication traffic
Sync RateBandwidth allocation percentage (1–100%)
  1. Click Finish

For snapshot-based replication, set a schedule:

  1. Select a replicated volume
  2. Click Schedule
  3. Configure:
FieldDescription
Intervalfrequent (minutes), hourly, daily, or monthly
PeriodNumber of intervals between replications
KeepNumber of replication snapshots to retain
  1. Click Save
  • Start — Run replication on demand. Status auto-refreshes while running.
  • Stop — Stop an active replication.

Status progresses through: Initializing > Replicating > Updated.

  1. Select the replicated volume
  2. Click Disable
  3. Confirm deletion of the replication pair
  • Identical storage capacity on primary and secondary
  • Low-latency network between nodes
  • Dedicated network interface recommended for replication traffic
  • Secondary can have different storage performance characteristics
  • Safe mode ensures data received in memory before acknowledging
  • Typically ~5 seconds of data at risk
  • Works over any network (including WAN)
  • Minimum 1-minute RPO with frequent snapshot policy
  • Suitable for cloud object storage connections
  • No requirement for identical storage
Terminal window
# Create a synchronous replication pair
mayacli create replication tank/data \
remote=server2:tank/data_mirror type=sync \
controller=eth1 syncrate=50
# Create a snapshot-based replication pair
mayacli create replication tank/data \
remote=server2:tank/data_mirror type=snapshot
# Show all replication pairs
mayacli show replication
# Show replication for a specific volume
mayacli show replication tank/data
# Start replication (on demand)
mayacli bind replication tank/data
# Stop replication
mayacli unbind replication tank/data
# Set a replication schedule (daily, keep 7)
mayacli set replication tank/data interval=daily period=1 keep=7
# Set frequent replication (every 5 minutes, keep 12)
mayacli set replication tank/data interval=frequent period=5 keep=12
# Disable replication schedule
mayacli set replication tank/data interval=none
# Delete a replication pair
mayacli delete replication tank/data

See CLI Guide for the full command reference.