Skip to content

MayaNAS on Azure Marketplace

Deploy a MayaNAS HA NAS cluster from the Azure Marketplace using ARM templates.

  • An Azure subscription with Contributor role
  • A resource group (or permission to create one)
  • An SSH public key
  1. Go to Azure Marketplace
  2. Search for MayaNAS (publisher: ZettaLane Systems)
  3. Click Create
FieldDescription
SubscriptionYour Azure subscription
Resource GroupCreate new or select existing
LocationAzure region for deployment
ParameterDescriptionDefault
Deployment Typeactive-active, active-passive, or singleactive-active
Performance TierStorage performance levelStandard
VM SizeAzure VM sizeStandard_D4s_v5
ParameterDescription
Admin UsernameSSH user (azureuser)
SSH Public KeyYour SSH public key
ParameterDescriptionDefault
Storage Pool Size (GB)Azure Blob Storage capacity1000
Metadata Disk Size (GB)Managed disk for metadata (50 GB suits 1-10 TB pools — ZFS metadata is roughly 0.3-0.5% of pool size)50
Availability ZonesAZs for multi-zone HAAuto
  1. Click Review + Create
  2. Validate the configuration
  3. Click Create

Deployment typically takes 5–10 minutes for VM, disk, and storage account provisioning. After provisioning completes, the cluster auto-configures itself in under 2 minutes — one OpenZFS pool, one ZFS dataset, exported to your VNet subnet. No admin guide required.

Navigate to Resource Group → Deployments → Your Deployment → Outputs to find:

  • clusterName — name of the cluster
  • primaryPublicIP — public IP of node 1
  • vipAddress — virtual IP for NFS mounts
  • deploymentType — the selected deployment type
Terminal window
ssh azureuser@<PRIMARY_PUBLIC_IP>

Port 2020 is opened by the NSG. Access directly or via SSH tunnel:

Terminal window
# Direct access
http://<PUBLIC_IP>:2020
# SSH tunnel (recommended)
ssh -L 2020:localhost:2020 azureuser@<PUBLIC_IP>
# Then open http://localhost:2020

Login: admin / auto-generated password (retrieve via SSH or deployment outputs).

Terminal window
# Active-Passive
sudo mount -t nfs <VIP_ADDRESS>:/<CLUSTER>-pool/<SHARE_NAME> /mnt/data
# Active-Active
sudo mount -t nfs <VIP1>:/<CLUSTER>-pool-node1/<SHARE> /mnt/node1
sudo mount -t nfs <VIP2>:/<CLUSTER>-pool-node2/<SHARE> /mnt/node2
  • 1–2 Linux VMs (depending on deployment type)
  • Azure Storage Account with Blob containers for data
  • Managed disk(s) for metadata (Premium SSD)
  • Virtual Network, Subnet, and NSG (SSH 22, NFS 2049, Web UI 2020)
  • Public IPs for each node
  • System-assigned managed identity with roles:
    • Network Contributor
    • Reader
    • Storage Blob Data Contributor
    • Virtual Machine Contributor
  • VIP mechanism (custom-route or load-balancer) for HA failover
Terminal window
# Check startup logs
tail -f /opt/mayastor/logs/mayanas-terraform-startup.log
# Service status
systemctl status mayastor
# Cluster status
mayacli cluster status
# Azure-specific: check VM status
az vm list --resource-group <RG_NAME> --output table