MayaNAS on Azure Marketplace
Deploy a MayaNAS HA NAS cluster from the Azure Marketplace using ARM templates.
Prerequisites
Section titled “Prerequisites”- An Azure subscription with Contributor role
- A resource group (or permission to create one)
- An SSH public key
Step 1: Find MayaNAS in Azure Marketplace
Section titled “Step 1: Find MayaNAS in Azure Marketplace”- Go to Azure Marketplace
- Search for MayaNAS (publisher: ZettaLane Systems)
- Click Create
Step 2: Configure Deployment
Section titled “Step 2: Configure Deployment”Basics
Section titled “Basics”| Field | Description |
|---|---|
| Subscription | Your Azure subscription |
| Resource Group | Create new or select existing |
| Location | Azure region for deployment |
Deployment Configuration
Section titled “Deployment Configuration”| Parameter | Description | Default |
|---|---|---|
| Deployment Type | active-active, active-passive, or single | active-active |
| Performance Tier | Storage performance level | Standard |
| VM Size | Azure VM size | Standard_D4s_v5 |
Authentication
Section titled “Authentication”| Parameter | Description |
|---|---|
| Admin Username | SSH user (azureuser) |
| SSH Public Key | Your SSH public key |
Storage Configuration
Section titled “Storage Configuration”| Parameter | Description | Default |
|---|---|---|
| Storage Pool Size (GB) | Azure Blob Storage capacity | 1000 |
| 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 Zones | AZs for multi-zone HA | Auto |
Step 3: Deploy
Section titled “Step 3: Deploy”- Click Review + Create
- Validate the configuration
- 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.
Post-Deployment
Section titled “Post-Deployment”Find Deployment Outputs
Section titled “Find Deployment Outputs”Navigate to Resource Group → Deployments → Your Deployment → Outputs to find:
clusterName— name of the clusterprimaryPublicIP— public IP of node 1vipAddress— virtual IP for NFS mountsdeploymentType— the selected deployment type
SSH Access
Section titled “SSH Access”ssh azureuser@<PRIMARY_PUBLIC_IP>Access the Web UI
Section titled “Access the Web UI”Port 2020 is opened by the NSG. Access directly or via SSH tunnel:
# Direct accesshttp://<PUBLIC_IP>:2020
# SSH tunnel (recommended)ssh -L 2020:localhost:2020 azureuser@<PUBLIC_IP># Then open http://localhost:2020Login: admin / auto-generated password (retrieve via SSH or deployment outputs).
Mount NFS Shares
Section titled “Mount NFS Shares”# Active-Passivesudo mount -t nfs <VIP_ADDRESS>:/<CLUSTER>-pool/<SHARE_NAME> /mnt/data
# Active-Activesudo mount -t nfs <VIP1>:/<CLUSTER>-pool-node1/<SHARE> /mnt/node1sudo mount -t nfs <VIP2>:/<CLUSTER>-pool-node2/<SHARE> /mnt/node2What Gets Deployed
Section titled “What Gets Deployed”- 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
Troubleshooting
Section titled “Troubleshooting”# Check startup logstail -f /opt/mayastor/logs/mayanas-terraform-startup.log
# Service statussystemctl status mayastor
# Cluster statusmayacli cluster status
# Azure-specific: check VM statusaz vm list --resource-group <RG_NAME> --output table