Skip navigation

Highly available NFS cluster in Ubuntu

Last updated: 25/06/2018

Deploys a highly availe 2-VM NFS cluster based on DRBD, Pacemaker and Corosync with Ubuntu.

This Azure Resource Manager (ARM) template was created by a member of the community and not by Microsoft. Each ARM template is licensed to you under a licence agreement by its owner, not Microsoft. Microsoft is not responsible for ARM templates provided and licensed by community members and does not screen for security, compatibility or performance. Community ARM templates are not supported under any Microsoft support programme or service, and are made available AS IS without warranty of any kind.

Parameters

Parameter Name Description
_artifactsLocation The base URI where artifacts required by this template are located. When the template is deployed using the accompanying scripts, a private location in the subscription will be used and this value will be automatically generated.
_artifactsLocationSasToken The sasToken required to access _artifactsLocation. When the template is deployed using the accompanying scripts, a sasToken will be automatically generated.
location Azure location where this template is to be deployed
subnetId Azure resource ID of the subnet where this NFS-HA cluster is to be deployed
node0IPAddr IP address of node 0 (statically assigned). E.g., 10.0.0.11. Must belong to the IP range of the specified subnet
node1IPAddr IP address of node 1 (statically assigned). E.g., 10.0.0.22. Must belong to the IP range of the specified subnet
nfsClientsIPRange IP range of the allowed NFS clients. E.g., 10.0.0.0/24
lbFrontEndIpAddr IP address of the load balancer front-end (statically assigned). E.g., 10.0.0.100. Must belong to the IP range of the specified subnet
enableAccelNwSwitch Switch to enable Azure Accelerated Networking (Note: this feature is NOT available for D1-level VM SKU)
vmSku Azure VM SKU for the NFS HA VMs
adminUserName VM admin user name
sshPublicKey SSH public key for the admin user
osType OS type (offer/publisher/sku/version) info
osDiskStorageType Azure storage type for all VMs' OS disks. With htmlLocalCopySwith true, Premium_LRS (SSD) is strongly recommended, as PHP files will be served from OS disks.
dataDiskCountPerVM Number of data disks per VM. 2 or more disks will be configured as RAID0
dataDiskSizeInGB Size per disk in an NFS server
resourcesUniqueString Unique string of fixed length (e.g., 6) identifying related resources

Use the template

PowerShell

New-AzureRmResourceGroupDeployment -Name <deployment-name> -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/nfs-ha-cluster-ubuntu/azuredeploy.json
Installing and configuring Azure PowerShell

Command line

azure config mode arm
azure group deployment create <my-resource-group> <my-deployment-name> --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/nfs-ha-cluster-ubuntu/azuredeploy.json
Installing and configuring the Azure cross-platform command-line interface