Skip to content

MayaNAS On-Prem (qcow2/KVM)

Deploy MayaNAS on your own infrastructure using the qcow2 virtual machine image with KVM, libvirt, or Proxmox.

  • Linux host with KVM/QEMU support (kvm-ok should return positive)
  • libvirt and virt-install (or Proxmox VE)
  • At least 4 vCPUs, 8 GB RAM for the VM
  • Network connectivity (bridge or NAT)
  • A local or network-attached SSD for metadata (recommended)
  • S3-compatible object storage backend (MinIO, Ceph RGW, or cloud S3/GCS)

Obtain the MayaNAS qcow2 image from ZettaLane. The image contains the full MayaNAS stack pre-installed.

Terminal window
# Example (replace URL with actual download link)
wget https://releases.zettalane.com/mayanas/mayanas-latest.qcow2
Terminal window
virt-install \
--name mayanas-node1 \
--ram 8192 \
--vcpus 4 \
--disk path=/var/lib/libvirt/images/mayanas-node1.qcow2,format=qcow2 \
--import \
--os-variant rocky9 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial
  1. Upload the qcow2 to Proxmox storage
  2. Create a new VM (Linux, 4+ vCPUs, 8+ GB RAM)
  3. Import the qcow2 as the boot disk:
    Terminal window
    qm importdisk <VMID> mayanas-latest.qcow2 local-lvm
  4. Attach the imported disk as SCSI and set it as boot device
  5. Start the VM
Terminal window
qemu-system-x86_64 \
-enable-kvm \
-m 8192 \
-smp 4 \
-drive file=mayanas-latest.qcow2,format=qcow2 \
-nic bridge,br=br0 \
-nographic

On first boot, the VM obtains an IP via DHCP (or configure static IP).

  1. Find the VM IP from your DHCP server or hypervisor console
  2. SSH into the VM:
    Terminal window
    ssh mayanas@<VM_IP>
  3. Run initial setup (if not already configured):
    Terminal window
    sudo /opt/mayastor/config/standalone_setup.sh

MayaNAS needs an S3-compatible backend. Configure it via the Web UI or CLI:

Terminal window
# Example: Configure MinIO backend
export MAYANAS_S3_ACCESS_KEY="minioadmin"
export MAYANAS_S3_SECRET_KEY="minioadmin"
export MAYANAS_S3_BUCKET="mayanas-data"
export MAYANAS_S3_ENDPOINT="http://minio.local:9000"

Supported backends:

  • MinIO — self-hosted S3-compatible storage
  • Ceph RGW — S3 gateway for Ceph clusters
  • AWS S3 — direct cloud backend
  • GCS — via S3-compatible interop API
Terminal window
http://<VM_IP>:2020

Login: admin / default password (check /opt/mayastor/config/ or set during setup).

For better performance, attach an SSD to the VM and configure it as the metadata disk:

  1. Attach an SSD disk to the VM (via hypervisor)
  2. The disk appears as /dev/vdb or /dev/sdb
  3. Configure in MayaNAS Web UI under Storage settings

Use the Web UI or CLI to create shares, then mount from clients:

Terminal window
sudo mount -t nfs <VM_IP>:/<POOL>/<SHARE> /mnt/data

For high availability, deploy two VMs and configure clustering:

  1. Deploy two VMs following steps 1–4 above
  2. Ensure both VMs can reach each other on the network
  3. Configure clustering via the Web UI or use the cluster setup script:
    Terminal window
    sudo /opt/mayastor/config/cluster_setup.sh
  4. The VIP will float between the two nodes for automatic failover
Terminal window
# Check MayaNAS logs
tail -f /opt/mayastor/logs/mayanas-terraform-startup.log
# Service status
systemctl status mayastor
# Check ZFS pool status
zpool status
# Check NFS exports
showmount -e localhost