MayaScale utilizes instances with local NVMe devices and provides robust NVMe over Fabrics platform to clients that support NVMe/TCP. Deploy MayaScale in 2-node HA configuration if the NVMe devices are temporary storage devices to safe guard against data loss in the event of interruption.

To configure High Availability operation for Mayascale

Virtual IP address

To provide virtual IP address for HA operation assign private IP address that counts as secondary IP address to the instance. The address has to be within the network subnet and that means Mayascale instances have to be in the same zone. 


IAM Role

Mayascale requires a IAM role to be attached the running instances  with sufficient permissions to manipulate disk attachments for proper sharing, fencing, and also storage read-write access to object storage. It also needs sufficient permission to float the virtual IP across multiple instances.  The policy of such IAM role requires following permissions.


{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "ec2:DetachVolume",
                "ec2:AttachVolume",
                "ec2:RebootInstances",
                "ec2:DescribeInstances",
                "ec2:DetachNetworkInterface",
                "s3:Delete*",
                "s3:Get*",
                "s3:CreateBucket",
                "ec2:AssignPrivateIpAddresses",
                "s3:List*",
                "ec2:DescribeVolumes",
                "ec2:AttachNetworkInterface",
                "ec2:UnassignPrivateIpAddresses",
                "ec2:AssociateAddress",
                "s3:Put*"
            ],
            "Resource": "*"
        }
    ]
}


The Resource selection can be limited to mayanas*  if instances are created with common tags Ex: mayanas


Update Mayascale instances with the newly created IAM role before proceeding to Getting Started . 

Change default GUI password

If needed change the MayaScale Administration GUI default password which is the instance name (starting i-) to something random by running

# /opt/mayastor/web/genrandpass.sh

Or to set your own password

# /opt/mayastor/web/changepass.sh
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 ec2-user@<mayascale1-public-ip> -L 2020:localhost:2020
Then access web console as http://localhost:2020


Next proceed to Configure MayaScale