The Azure Netapp Files service has become very popular storage solution, satisfying the I/O requirements for many customer workloads (e.g. Oil and Gas, Manufacturing and Financial). Procedures for deploying Azure Netapp Files using the NFS and SMB protocols and accessing it from a Linux client and Windows client respectively will be discussed. The AzureCAT HPC azurehpc and Azure azure-quickstart-templates repositories will be used for the deployment.
Use the azurehpc repository to deploy the network, Linux client, Windows client, ANF account, ANF pool and ANF volume (NFS). First get the azurehpc repository.
git clone git@github.com:Azure/azurehpc.git
azure-build
Log-in to Linux headnode
azhpc-connect headnode
Check that anf is mount correctly
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 30G 4.4G 26G 15% /
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 9.1M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/sda1 497M 65M 433M 13% /boot
/dev/sdb1 126G 61M 120G 1% /mnt/resource
10.2.3.4:/anfvol1 100T 256K 100T 1% /netapps
tmpfs 6.3G 0 6.3G 0% /run/user/1000
git clone git@github.com:Azure/azure-quickstart-templates.git
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/
deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"adminUsername": {
"value": "hpcadmin"
},
"adminPassword": {
"value": "hpcadmin.123"
},
"domainName": {
"value": "anf.local"
},
"dnsPrefix": {
"value": "anf"
}
}
}
Deploy AD server, note: deploy AD in its own resource group.
az group deployment create -g anf-smb-ad-wus2 --template-file
azuredeploy.json --parameters @azuredeploy.parameters.json
PS C:\Users\azureuser> Get-NetIPConfiguration
InterfaceAlias : Ethernet
InterfaceIndex : 6
InterfaceDescription : Microsoft Hyper-V Network Adapter
NetProfile.Name : Network
IPv4Address : 10.2.4.5
IPv6DefaultGateway :
IPv4DefaultGateway : 10.2.4.1
DNSServer : 168.63.129.16
Set-DnsClientServerAddress -InterfaceIndex 6 -ServerAddresses 10.2.1.4
PS C:\Users\hpcadmin> nslookup anf.local
Server: UnKnown
Address: 10.2.1.4
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
Name: anf.local
Address: 10.2.1.4
PS C:\Users\azureuser> Add-Computer -DomainName anf.local -Credential anf\hpcadmin
Restart the Windows client.
File explorer --> network --> map network drive
Specify drive (e.g Z:) and file share location (e.g \\testing-2e7d.anf.local\anfvol2)
The azurehpc repository contains scripts for running IOR and FIO throughput and IOPS storage benchmarks, see azurehpc/apps/ior and azurehpc/apps/fio.
{
"location": "variables.location",
"resource_group": "variables.resource_group",
"install_from": "headnode",
"admin_user": "hpcadmin",
"variables": {
"hpc_image": "OpenLogic:CentOS-HPC:7.6:latest",
"win_image": "MicrosoftWindowsDesktop:Windows-10:rs5-pron:latest",
"win_password": "",
"location": "",
"resource_group": "",
"vm_type": "Standard_D16s_v3",
"win_vm_type": "Standard_D16s_v3",
"vnet_resource_group": "variables.resource_group"
},
"vnet": {
"resource_group": "variables.vnet_resource_group",
"name": "hpcvnet",
"address_prefix": "10.2.0.0/20",
"subnets": {
"admin": "10.2.1.0/24",
"viz": "10.2.2.0/24",
"storage": "10.2.3.0/24",
"compute": "10.2.4.0/22"
}
},
"storage": {
"hpcnetapp": {
"type": "anf",
"subnet": "storage",
"pools": {
"anfpool" : {
"size": 8,
"service_level": "Premium",
"volumes": {
"anfvol1" : {
"size": 4,
"mount": "/netapps"
} } }} } },
"resources": {
"headnode": {
"type": "vm",
"vm_type": "variables.vm_type",
"public_ip": true,
"image": "variables.hpc_image",
"accelerated_networking": true,
"subnet": "compute",
"tags": [
"cndefault",
"nfsserver",
"loginnode",
"localuser",
"disable-selinux",
"mount-anfpool"
]
},
"winnode": {
"type": "vm",
"vm_type": "variables.win_vm_type",
"accelerated_networking": true,
"password": "variables.win_password",
"public_ip": true,
"image": "variables.win_image",
"subnet": "compute",
"tags": [
]
}
},
"install": [
{
"script": "disable-selinux.sh",
"tag": "disable-selinux",
"sudo": true
},
{
"script": "cndefault.sh",
"tag": "cndefault",
"sudo": true
},
{
"script": "nfsserver.sh",
"tag": "nfsserver",
"sudo": true
},
{
"script": "auto_netappfiles_mount_anfpool.sh",
"tag": "mount-anfpool",
"sudo": true
},
{
"script": "nfsclient.sh",
"args": [
"$(<hostlists/tags/nfsserver)"
],
"tag": "nfsclient", "sudo": true
},
{
"script": "localuser.sh",
"args": [
"$(<hostlists/tags/nfsserver)"
],
"tag": "localuser",
"sudo": true
}
]
}
"adSubnetName": "admin",
"adSubnetAddressPrefix": "10.2.1.0/24"
"virtualNetworkName": "hpcvnet",
"virtualNetworkAddressRange": "10.2.0.0/20",
Set IP for AD server (pick any unused IP from the admin subnet)
"adNicIPAddress": "10.2.1.4",
Set vnetRg, to be the resource group containing the vnet.
"vnetRg": ""
Set location of raw git files.
"_artifactsLocation": {
"type": "string",
"metadata": {
"description": "The location of resources, such as templates and
DSC modules, that the template depends on"
},
"defaultValue": "https://raw.githubusercontent.com/Azure/
azure-quickstart-templates/master/active-directory-new-domain"
Modify templateLink locations for files.
"templateLink": {
"uri": "[concat(parameters('_artifactsLocation'), '/nestedtemplates/vnet.json',
parameters('_artifactsLocationSasToken'))]",
"templateLink":
{"uri": "[concat(parameters('_artifactsLocation'), '/nestedtemplates/vnet-with-dns-server.json',
parameters('_artifactsLocationSasToken'))]",
Remove deployment of VNet, will use azurehpc vnet instead. Also remove all references to VNet.
Modify path to CreateADPDC.zip
"ModulesUrl": "[concat(parameters('_artifactsLocation'), '/DSC/CreateADPDC..zip',
parameters('_artifactsLocationSasToken'))]",
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.