MayaNAS on AWS Marketplace
Deploy a MayaNAS HA NAS cluster from the AWS Marketplace using CloudFormation.
Prerequisites
Section titled “Prerequisites”- An AWS account with appropriate IAM permissions
- An existing EC2 key pair for SSH access
- A VPC with at least one public subnet
Step 1: Find MayaNAS in AWS Marketplace
Section titled “Step 1: Find MayaNAS in AWS Marketplace”- Go to AWS Marketplace
- Search for MayaNAS
- Click Continue to Subscribe, then Continue to Configuration
- Select your region and click Continue to Launch
- Choose Launch CloudFormation as the launch method
Step 2: Configure CloudFormation Stack
Section titled “Step 2: Configure CloudFormation Stack”The CloudFormation template presents the following parameters:
Deployment Configuration
Section titled “Deployment Configuration”| Parameter | Description | Default |
|---|---|---|
| Cluster Name | Unique name for the MayaNAS cluster | — |
| Deployment Type | active-active or active-passive | active-active |
| Instance Type | EC2 instance type | m5.xlarge |
| Key Pair | EC2 key pair for SSH access | — |
Storage Configuration
Section titled “Storage Configuration”| Parameter | Description | Default |
|---|---|---|
| Storage Size (GB) | Logical S3 storage capacity | 1000 |
| Bucket Count | Number of S3 buckets (1–12) | 1 |
| Metadata Disk Size (GB) | EBS volume for metadata (50 GB suits 1-10 TB pools — ZFS metadata is roughly 0.3-0.5% of pool size) | 50 |
Network Configuration
Section titled “Network Configuration”| Parameter | Description | Default |
|---|---|---|
| VPC | Target VPC | Default VPC |
| Availability Zone | Preferred AZ (or auto-select) | Auto |
Step 3: Deploy
Section titled “Step 3: Deploy”- Review the configuration
- Check the IAM capabilities acknowledgment box
- Click Create Stack
Stack creation typically takes 5–10 minutes for EC2, EBS, and S3 provisioning. After provisioning completes, the cluster auto-configures itself in under 2 minutes — one OpenZFS pool, one ZFS dataset, exported to your VPC subnet. No admin guide required.
Post-Deployment
Section titled “Post-Deployment”Retrieve Stack Outputs
Section titled “Retrieve Stack Outputs”Navigate to CloudFormation → Stacks → Your Stack → Outputs to find:
PrimaryPublicIP— public IP of the primary nodeVIPAddress— virtual IP for NFS mountsSSHCommand— ready-to-use SSH commandWebUITunnel— SSH tunnel command for Web UI
SSH Access
Section titled “SSH Access”ssh -i ~/.ssh/YOUR_KEY.pem ec2-user@<PRIMARY_PUBLIC_IP>Access the Web UI
Section titled “Access the Web UI”The Web UI is not directly exposed. Use an SSH tunnel:
ssh -L 2020:localhost:2020 -i ~/.ssh/YOUR_KEY.pem ec2-user@<PRIMARY_PUBLIC_IP>Then open http://localhost:2020 in your browser.
Login: admin / password from stack outputs or instance metadata.
Mount NFS Shares
Section titled “Mount NFS Shares”After creating shares in the Web UI:
# Active-Passive (single VIP)sudo 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 EC2 instances (depending on deployment type)
- S3 bucket(s) for data storage
- EBS volume(s) for metadata caching
- IAM role and instance profile with S3 access
- Security group allowing SSH (22), NFS (2049)
- VIP using secondary private IP / ENI for HA failover
Troubleshooting
Section titled “Troubleshooting”# Check startup logstail -f /opt/mayastor/logs/mayanas-terraform-startup.log
# Check cloud-inittail -f /var/log/cloud-init-output.log
# Service statussystemctl status mayastor
# Cluster statusmayacli cluster status