MayaNAS single VM on Azure
Run MayaNAS on one VM: NFS and SMB file storage with the data in Azure Blob Storage and the metadata on a managed SSD. You create the storage account, the VM and the SSD, then the web console’s Getting Started wizard builds the pool and the share.
Before you start
Section titled “Before you start”You will need:
| What | Details |
|---|---|
| Storage account | Created in Step 1, in the same region as the VM. The wizard asks for its name and access key. |
| Metadata SSD, about 100 GB | A managed Premium SSD (P10, 128 GiB) or Premium SSD v2 (100 GiB). It becomes the ZFS special vdev: file system metadata and small blocks. 100 GB covers pools up to about 20 TB; for larger pools allow about 0.5% of the pool size. |
Step 1: Create the storage account
Section titled “Step 1: Create the storage account”- In the Azure portal, open Storage accounts → Create.
- Basics: the resource group, a name (3 to 24 lowercase letters and digits, unique across Azure), the same region as the VM, Standard performance, and LRS or ZRS redundancy.
- Advanced: leave Enable hierarchical namespace off (the default).
- Networking: leave the default, Enable public access from all networks.
- Review + create.
- When it is ready, open the account → Security + networking → Access keys, click Show for key1 and copy the Storage account name and the Key.
You don’t need to create containers: the wizard creates one if the name you give doesn’t exist yet.
Step 2: Create the VM
Section titled “Step 2: Create the VM”- Open the MayaNAS listing on Azure Marketplace (publisher ZettaLane Systems), click Get It Now, pick the plan and click Create.
- Basics: resource group, region (the storage account’s region), VM size, an administrator username (the portal suggests
azureuser) and an SSH key. A D-series VM with 8 to 16 vCPUs is a good start; network bandwidth grows with VM size and sets how fast clients can read. - Disks: under Data disks, click Create and attach a new disk and add the metadata SSD from the table above. Leave host caching at its default.
- Networking: keep the VM in the virtual network your NFS or SMB clients use. Only SSH needs to be open from outside; clients in the same virtual network reach the VM without extra rules.
- Review + create.
Forgot the SSD? VM → Disks → Create and attach a new disk. No restart is needed; attach it before you run the wizard.
Step 3: Log in to the web console
Section titled “Step 3: Log in to the web console”The console listens on port 2020. Reach it through an SSH tunnel, using the administrator username you set on the Basics tab (azureuser unless you changed it):
ssh -L 2020:localhost:2020 azureuser@<vm-public-ip>Then open https://localhost:2020 and log in as admin. The password is generated at first boot. Find it over SSH:
sudo grep 'Login : admin' /var/log/messagesor in the portal: VM → Help → Boot diagnostics → Serial log, search for password:.
To set your own password:
sudo /opt/mayastor/web/changepass.shsudo /opt/mayastor/web/stop && sudo /opt/mayastor/web/startStep 4: Run the Getting Started wizard
Section titled “Step 4: Run the Getting Started wizard”Open Getting Started. The wizard walks through each step and you can come back to it later.
Select Deployment Type
Section titled “Select Deployment Type”Choose Single VM. The wizard leaves out the HA services step.
Configure Cloud Profile
Section titled “Configure Cloud Profile”| Field | Value |
|---|---|
| Label | Any name, for example azureblob |
| Storage Type | Azure Blob |
| Account | The storage account name |
| Secret | The access key |
Configure Cloud Disk
Section titled “Configure Cloud Disk”Each cloud disk is a Blob container that MayaNAS uses as a disk.
| Field | Value |
|---|---|
| Existing Bucket / New Bucket | Pick a container, or type a new name to create one |
| Disk Name | Any name, for example blob1 |
| Disk Size | The capacity this disk gives the pool, for example 2T. Blob only bills for what you store. |
| Block Size | Keep 1024K |
One cloud disk is enough to start. Tick Configure more cloud disks on the confirm page to add another now; you can also add more later to grow the pool.
Configure ZPOOL
Section titled “Configure ZPOOL”- Storage pool type: ZFS.
- Configuration: ZFS Special.
- Data disks: the cloud disks you just created.
- Special device: the metadata SSD.
- Confirm and Finish.
The wizard sets the options a pool of cloud disks plus an SSD needs, so the create goes through without manual flags.
Configure Volume
Section titled “Configure Volume”Select the new pool. The wizard defaults to File System with ZFS, and sets the record size from the cloud disk block size (1M). Give the file system a name, for example data.
Configure Volume Sharing
Section titled “Configure Volume Sharing”Select the file system and pick the protocol under Controller:
- NFS: the client network (for example
10.0.1.0/24) and the NFS versions to allow. - SMB: a share label and the Share Profile: POSIX for Linux and Unix clients, Windows Clients for rich Windows ACLs, or Multi-Protocol (SMB+NFS).
- NFS + SMB (multiprotocol): the same file system for Linux and Windows clients. The wizard shows the NFS page and then the SMB page with the Multi-Protocol (SMB+NFS) profile already selected, and creates both shares on Finish. The profile sets a shared group and group inheritance on the directory, so files written over either protocol stay usable from the other.
Then Finish. Add the users that log in over SMB in Credentials Management.
To add SMB later to a file system already shared over NFS, open SMB Management, select the file system and click New. The page sees the NFS export and selects Multi-Protocol for you.
Step 5: Mount from a client
Section titled “Step 5: Mount from a client”From a VM in the same virtual network:
sudo mkdir -p /mnt/datasudo mount -t nfs <mayanas-private-ip>:/<pool>/<file-system> /mnt/dataSMB clients connect to \\<mayanas-private-ip>\<share-label> with a user from Credentials Management.
Troubleshooting
Section titled “Troubleshooting”| Symptom | What to check |
|---|---|
| The SSD isn’t listed for the special device | It must be blank. A disk reused from an old pool still carries ZFS labels: clear them with sudo zpool labelclear -f /dev/<disk>. |
| Cloud disk creation fails | Account name and key, the storage account region, and the storage account’s network rules. |
| Services | systemctl status mayastor and /opt/mayastor/logs/ |
| Disks and pools from the shell | mayacli show disk, zpool status |