Page tree
Skip to end of metadata
Go to start of metadata

In this Page:

Cache Disk

MayaNAS requires cache disk to be attached and configured before creating ZFS storage pool over high-latency S3 object storage. The cache disk can be configured as

ZIL Log device (recommended)

1.5 times Instance RAM size

Bcache Cache deviceSize of the expected workset
L2ARC Read CacheTwice the instance RAM size

Backing Disk

MayaNAS supports creating ZFS storage pool on multiple S3 object storage directly. It is recommended to create the desired number of storage buckets before Getting Started wizard.

Any other disks needed has to be created and attached to the instance before starting the configuration.

Virtual IP address

The virtual IP address will be any valid IPV4 address that is outside the subnet range of this instance.

Service Principal Account

Before configuring MayaScale High Availability create a Service Principal account with sufficient permissions to manipulate disk attachments for proper sharing and fencing, and also storage read-write access to object storage. It also needs sufficient permission to float the virtual IP across multiple instances.  By having separate service account for all MayaScale deployments you can enforce proper security measures as the assigned roles are limited to this project instances only.

The service principal account is created from Azure cloud shell or other system where login credentials were already established, and not from the MayaNAS instances

Also note that Service principal account is not required if high-availability will not be used.

az ad sp create-for-rbac --name mayascale-ha \
 --scopes /subscriptions/de1374d24-1027-440d-97e3-574dcc83e7d3f/resourceGroups/mayanas-testing \
 --role contributor

Creating 'contributor' role assignment under scope '/subscriptions/de1374d24-1027-440d-97e3-574dcc83e7d3f/resourceGroups/mayanas-testing'
The output includes credentials that you must protect. Be sure that you do not include these credentials in your code or check the credentials into your source control. For more information, see
"appId": "daf98b5b-343a-4119-a08f-4ea837048e41",
"displayName": "mayascale-ha",
"password": "2v28Q~wGzmsvhy4tPeQHDbhDxEQPmUaRZMFnvbC_",
"tenant": "3d2547b6-c040-40bd-7911-edcd62a8b111"

The above command requires subscription-id and resource group name where Mayascale will be deployed. To find the subscription ID

az account show --query id -o tsv


Please make a note of that password or also known as client secret value for Application Registered with Azure Active Directory.  This will value will not be displayed again in the Azure portal.

Service Prinicipal Login on MayaScale instances

Here is the sequence of steps involved in deploying High-Availability (HA) MayaScale on Azure cloud platform. The next steps assume you’ve already deployed at two MayaScale instances from Azure marketplace, with desired Availability Set

  • 2 compute instances for example mayascale1, mayascale2 with public IPs
  • Instances created with ssh key generated to file for example  mayascale.pem
  • 1 or more NVMe devices locally attached to instances. Please refer to Azure documentation for instances that have NVMe SSDs.
  • Default network for the internal
  • Virtual IP:

Connect to the newly launched Mayascale instances using SSH  to setup Service Principal account, which is required only if you are planning to configure HA services.  Otherwise you may skip to the next step.

Perform the following steps for mayascale1 and mayascale2

ssh -i ~/.ssh/mayascale.pem azureuser@
sudo az login--service-principal -u daf98b5b-343a-4119-a08f-4ea837048e41 --tenant  b9f7862a-7153-4501-8039-8d9b37d7c0a9

"cloudName": "AzureCloud",
"homeTenantId": "3d2547b6-c040-40bd-7911-edcd62a8b111",
"id": "56813587-f424-4db0-af19-516c71f5800c",
"isDefault": true,
"managedByTenants": [],
"name": "Pay-as-you-go",
"state": "Enabled",
"tenantId": "3d2547b6-c040-40bd-7911-edcd62a8b111",
"user": {
  "name": "daf98b5b-343a-4119-a08f-4ea837048e41",
  "type": "servicePrincipal"

Change default GUI password

MayaNAS deployed from Azure Marketplace will automatically generate a random password for the Web GUI. To find the system generated password from Azure Portal

  • Log in to the Microsoft Azure management console.
  • Click the Virtual machines icon in the toolbar and select your server from the resulting list.
  • In the Support + Troubleshooting menu, select the Boot diagnostics option.
  • Review the console log until you find the following message

Or to set your own password

# /opt/mayastor/web/
Login name (default admin): 
Login password: 
Password again: 

And then restart the web server for password changes to take effect

# /opt/mayastor/web/stop

# /opt/mayastor/web/start

Connect to Mayascale Web Console

Now you can proceed with High-Availability setup using the Getting Started wizard from Administration Web console available on http://<mayascale1-ip>:2020

To avoid public network exposure of port 2020 it is recommended to use ssh tunneling with port forwarding as follows

ssh -i ~/.ssh/mayascale.pem azureuser@<mayascale1-public-ip> -L 2020:localhost:2020
Then access web console as http://localhost:2020

Proceed to Configure MayaNAS

  • No labels