Create data-serving storage VMs for Cloud Volumes ONTAP in Azure
A storage VM is a virtual machine running within ONTAP that provides storage and data services to your clients. You might know this as an SVM or a vserver. Cloud Volumes ONTAP is configured with one storage VM by default, but additional storage VMs are supported when running Cloud Volumes ONTAP in Azure.
To create additional data-serving storage VMs, you need to allocate IP addresses in Azure and then run ONTAP commands to create the storage VM and data LIFs.
Supported number of storage VMs
Multiple storage VMs are supported with specific Cloud Volumes ONTAP configurations starting with the 9.9.0 release. Go to the Cloud Volumes ONTAP Release Notes to verify the supported number of storage VMs for your version of Cloud Volumes ONTAP.
All other Cloud Volumes ONTAP configurations support one data-serving storage VM and one destination storage VM used for disaster recovery. You can activate the destination storage VM for data access if there's an outage on the source storage VM.
Allocate IP addresses in Azure
You need to allocate IP addresses in Azure before you create a storage VM and allocate LIFs.
Single node system
IP addresses must be assigned to nic0 in Azure before you create a storage VM and allocate LIFs.
You'll need to create an IP address for data LIF access and another optional IP address for a storage VM (SVM) management LIF. This management LIF provides a connection to management tools like SnapCenter.
-
Log in to the Azure portal and open the Virtual machine service.
-
Click the name of the Cloud Volumes ONTAP VM.
-
Click Networking.
-
Click the name of the network interface for nic0.
-
Under Settings, click IP configurations.
-
Click Add.
-
Enter a name for the IP configuration, select Dynamic, and then click OK.
-
Click the name of the IP configuration that you just created, change the Assignment to Static, and click Save.
It's best to use a static IP address because a static IP ensures that the IP address won't change, which can help to prevent unnecessary outages to your application.
If you want to create an SVM management LIF, repeat these steps to create an additional IP address.
Copy the private IP addresses that you just created. You'll need to specify those IP addresses when you create LIFs for the new storage VM.
HA pair
How you allocate IP addresses for an HA pair depends on the storage protocol that you're using.
iSCSI IP addresses must be assigned to nic0 in Azure before you create a storage VM and allocate LIFs. IPs for iSCSI are assigned to nic0 and not the load balancer because iSCSI uses ALUA for failover.
You'll need to create the following IP addresses:
-
One IP address for iSCSI data LIF access from node 1
-
One IP address for iSCSI data LIF access from node 2
-
An optional IP address for a storage VM (SVM) management LIF
This management LIF provides a connection to management tools like SnapCenter.
-
Log in to the Azure portal and open the Virtual machine service.
-
Click the name of the Cloud Volumes ONTAP VM for node 1.
-
Click Networking.
-
Click the name of the network interface for nic0.
-
Under Settings, click IP configurations.
-
Click Add.
-
Enter a name for the IP configuration, select Dynamic, and then click OK.
-
Click the name of the IP configuration that you just created, change the Assignment to Static, and click Save.
It's best to use a static IP address because a static IP ensures that the IP address won't change, which can help to prevent unnecessary outages to your application.
-
Repeat these steps on node 2.
-
If you want to create an SVM management LIF, repeat these steps on node 1.
IP addresses that you use for NFS are allocated in the load balancer so that the IP addresses can migrate to the other node in case failover events occur.
You'll need to create the following IP addresses:
-
One IP address for NAS data LIF access from node 1
-
One IP address for NAS data LIF access from node 2
-
An optional IP address for a storage VM (SVM) management LIF
The iSCSI LIFs are required for DNS communication. An iSCSI LIF is used for this purpose because it doesn't migrate on failover.
This management LIF provides a connection to management tools like SnapCenter.
-
In the Azure portal, open the Load balancers service.
-
Click the name of the load balancer for the HA pair.
-
Create one frontend IP configuration for data LIF access from node 1, another for data LIF access from node 2, and another optional frontend IP for a storage VM (SVM) management LIF.
-
Under Settings, click Frontend IP configuration.
-
Click Add.
-
Enter a name for the frontend IP, select the subnet for the Cloud Volumes ONTAP HA pair, leave Dynamic selected, and in regions with Availability Zones, leave Zone-redundant selected to ensure that the IP address remains available if a zone fails.
-
Click the name of the frontend IP configuration that you just created, change the Assignment to Static, and click Save.
It's best to use a static IP address because a static IP ensures that the IP address won't change, which can help to prevent unnecessary outages to your application.
-
-
Add a health probe for each frontend IP that you just created.
-
Under the load balancer's Settings, click Health probes.
-
Click Add.
-
Enter a name for the health probe and enter a port number that's between 63005 and 65000. Keep the default values for the other fields.
It's important that the port number is between 63005 and 65000. For example, if you are creating three health probes, you could enter probes that use the port numbers 63005, 63006, and 63007.
-
-
Create new load balancing rules for each frontend IP.
-
Under the load balancer's Settings, click Load balancing rules.
-
Click Add and enter the required information:
-
Name: Enter a name for the rule.
-
IP Version: Select IPv4.
-
Frontend IP address: Select one of the frontend IP addresses that you just created.
-
HA Ports: Enable this option.
-
Backend pool: Keep the default Backend pool that was already selected.
-
Health probe: Select the health probe that you created for the selected frontend IP.
-
Session persistence: Select None.
-
Floating IP: Select Enabled.
-
-
-
Ensure that the network security group rules for Cloud Volumes ONTAP allows the load balancer to send TCP probes for the health probes that were created in step 4 above. Note that this is allowed by default.
IP addresses that you use for SMB data are allocated in the load balancer so that the IP addresses can migrate to the other node in case failover events occur.
You'll need to create the following IP addresses in the load balancer:
-
One IP address for NAS data LIF access from node 1
-
One IP address for NAS data LIF access from node 2
-
One IP address for an iSCSI LIF on node 1 in each VM's respective NIC0
-
One IP address for an iSCSI LIF on node 2
The iSCSI LIFs are required for DNS and SMB communication. An iSCSI LIF is used for this purpose because it doesn't migrate on failover.
-
An optional IP address for a storage VM (SVM) management LIF
This management LIF provides a connection to management tools like SnapCenter.
-
In the Azure portal, open the Load balancers service.
-
Click the name of the load balancer for the HA pair.
-
Create the required number of frontend IP configurations for the data and SVM LIFs only:
A frontend IP should only be created under the NIC0 for each corresponding SVM. For more information on how to add the IP address to the SVM NIC0, see "Step 7 [hyperlink]" -
Under Settings, click Frontend IP configuration.
-
Click Add.
-
Enter a name for the frontend IP, select the subnet for the Cloud Volumes ONTAP HA pair, leave Dynamic selected, and in regions with Availability Zones, leave Zone-redundant selected to ensure that the IP address remains available if a zone fails.
-
Click the name of the frontend IP configuration that you just created, change the Assignment to Static, and click Save.
It's best to use a static IP address because a static IP ensures that the IP address won't change, which can help to prevent unnecessary outages to your application.
-
-
Add a health probe for each frontend IP that you just created.
-
Under the load balancer's Settings, click Health probes.
-
Click Add.
-
Enter a name for the health probe and enter a port number that's between 63005 and 65000. Keep the default values for the other fields.
It's important that the port number is between 63005 and 65000. For example, if you are creating three health probes, you could enter probes that use the port numbers 63005, 63006, and 63007.
-
-
Create new load balancing rules for each frontend IP.
-
Under the load balancer's Settings, click Load balancing rules.
-
Click Add and enter the required information:
-
Name: Enter a name for the rule.
-
IP Version: Select IPv4.
-
Frontend IP address: Select one of the frontend IP addresses that you just created.
-
HA Ports: Enable this option.
-
Backend pool: Keep the default Backend pool that was already selected.
-
Health probe: Select the health probe that you created for the selected frontend IP.
-
Session persistence: Select None.
-
Floating IP: Select Enabled.
-
-
-
Ensure that the network security group rules for Cloud Volumes ONTAP allows the load balancer to send TCP probes for the health probes that were created in step 4 above. Note that this is allowed by default.
-
For iSCSI LIFs, add the IP address for NIC0.
-
Click the name of the Cloud Volumes ONTAP VM.
-
Click Networking.
-
Click the name of the network interface for nic0.
-
Under Settings, click IP configurations.
-
Click Add.
-
Enter a name for the IP configuration, select Dynamic, and then click OK.
-
Click the name of the IP configuration that you just created, change the Assignment to Static, and click Save.
-
It's best to use a static IP address because a static IP ensures that the IP address won't change, which can help to prevent unnecessary outages to your application. |
Copy the private IP addresses that you just created. You'll need to specify those IP addresses when you create LIFs for the new storage VM.
Create a storage VM and LIFs
After you allocate IP addresses in Azure, you can create a new storage VM on a single node system or on an HA pair.
Single node system
How you create a storage VM and LIFs on a single node system depends on the storage protocol that you're using.
Follow these steps to create a new storage VM, along with the required LIFs.
-
Create the storage VM and a route to the storage VM.
vserver create -vserver <svm-name> -subtype default -rootvolume <root-volume-name> -rootvolume-security-style unix
network route create -destination 0.0.0.0/0 -vserver <svm-name> -gateway <ip-of-gateway-server>
-
Create a data LIF:
network interface create -vserver <svm-name> -home-port e0a -address <iscsi-ip-address> -netmask-length <# of mask bits> -lif <lif-name> -home-node <name-of-node1> -data-protocol iscsi
-
Optional: Create a storage VM management LIF.
network interface create -vserver <svm-name> -lif <lif-name> -role data -data-protocol none -address <svm-mgmt-ip-address> -netmask-length <length> -home-node <name-of-node1> -status-admin up -failover-policy system-defined -firewall-policy mgmt -home-port e0a -auto-revert false -failover-group Default
-
Assign one or more aggregates to the storage VM.
vserver add-aggregates -vserver svm_2 -aggregates aggr1,aggr2
This step is required because the new storage VM needs access to at least one aggregate before you can create volumes on the storage VM.
Follow these steps to create a new storage VM, along with the required LIFs.
-
Create the storage VM and a route to the storage VM.
vserver create -vserver <svm-name> -subtype default -rootvolume <root-volume-name> -rootvolume-security-style unix
network route create -destination 0.0.0.0/0 -vserver <svm-name> -gateway <ip-of-gateway-server>
-
Create a data LIF:
network interface create -vserver <svm-name> -lif <lif-name> -role data -data-protocol cifs,nfs -address <nas-ip-address> -netmask-length <length> -home-node <name-of-node1> -status-admin up -failover-policy disabled -firewall-policy data -home-port e0a -auto-revert true -failover-group Default
-
Optional: Create a storage VM management LIF.
network interface create -vserver <svm-name> -lif <lif-name> -role data -data-protocol none -address <svm-mgmt-ip-address> -netmask-length <length> -home-node <name-of-node1> -status-admin up -failover-policy system-defined -firewall-policy mgmt -home-port e0a -auto-revert false -failover-group Default
-
Assign one or more aggregates to the storage VM.
vserver add-aggregates -vserver svm_2 -aggregates aggr1,aggr2
This step is required because the new storage VM needs access to at least one aggregate before you can create volumes on the storage VM.
Follow these steps to create a new storage VM, along with the required LIFs.
-
Create the storage VM and a route to the storage VM.
vserver create -vserver <svm-name> -subtype default -rootvolume <root-volume-name> -rootvolume-security-style unix
network route create -destination 0.0.0.0/0 -vserver <svm-name> -gateway <ip-of-gateway-server>
-
Create a data LIF:
network interface create -vserver <svm-name> -lif <lif-name> -role data -data-protocol cifs,nfs -address <nas-ip-address> -netmask-length <length> -home-node <name-of-node1> -status-admin up -failover-policy disabled -firewall-policy data -home-port e0a -auto-revert true -failover-group Default
-
Optional: Create a storage VM management LIF.
network interface create -vserver <svm-name> -lif <lif-name> -role data -data-protocol none -address <svm-mgmt-ip-address> -netmask-length <length> -home-node <name-of-node1> -status-admin up -failover-policy system-defined -firewall-policy mgmt -home-port e0a -auto-revert false -failover-group Default
-
Assign one or more aggregates to the storage VM.
vserver add-aggregates -vserver svm_2 -aggregates aggr1,aggr2
This step is required because the new storage VM needs access to at least one aggregate before you can create volumes on the storage VM.
HA pair
How you create a storage VM and LIFs on an HA pair depends on the storage protocol that you're using.
Follow these steps to create a new storage VM, along with the required LIFs.
-
Create the storage VM and a route to the storage VM.
vserver create -vserver <svm-name> -subtype default -rootvolume <root-volume-name> -rootvolume-security-style unix
network route create -destination 0.0.0.0/0 -vserver <svm-name> -gateway <ip-of-gateway-server>
-
Create data LIFs:
-
Use the following command to create an iSCSI LIF on node 1.
network interface create -vserver <svm-name> -home-port e0a -address <iscsi-ip-address> -netmask-length <# of mask bits> -lif <lif-name> -home-node <name-of-node1> -data-protocol iscsi
-
Use the following command to create an iSCSI LIF on node 2.
network interface create -vserver <svm-name> -home-port e0a -address <iscsi-ip-address> -netmask-length <# of mask bits> -lif <lif-name> -home-node <name-of-node2> -data-protocol iscsi
-
-
Optional: Create a storage VM management LIF on node 1.
network interface create -vserver <svm-name> -lif <lif-name> -role data -data-protocol none -address <svm-mgmt-ip-address> -netmask-length <length> -home-node <name-of-node1> -status-admin up -failover-policy system-defined -firewall-policy mgmt -home-port e0a -auto-revert false -failover-group Default
This management LIF provides a connection to management tools like SnapCenter.
-
Assign one or more aggregates to the storage VM.
vserver add-aggregates -vserver svm_2 -aggregates aggr1,aggr2
This step is required because the new storage VM needs access to at least one aggregate before you can create volumes on the storage VM.
-
If you're running Cloud Volumes ONTAP 9.11.1 or later, modify the network service policies for the storage VM.
-
Enter the following command to access advanced mode.
::> set adv -con off
Modifying the services is required because it ensures that Cloud Volumes ONTAP can use the iSCSI LIF for outbound management connections.
network interface service-policy remove-service -vserver <svm-name> -policy default-data-files -service data-fpolicy-client network interface service-policy remove-service -vserver <svm-name> -policy default-data-files -service management-ad-client network interface service-policy remove-service -vserver <svm-name> -policy default-data-files -service management-dns-client network interface service-policy remove-service -vserver <svm-name> -policy default-data-files -service management-ldap-client network interface service-policy remove-service -vserver <svm-name> -policy default-data-files -service management-nis-client network interface service-policy add-service -vserver <svm-name> -policy default-data-blocks -service data-fpolicy-client network interface service-policy add-service -vserver <svm-name> -policy default-data-blocks -service management-ad-client network interface service-policy add-service -vserver <svm-name> -policy default-data-blocks -service management-dns-client network interface service-policy add-service -vserver <svm-name> -policy default-data-blocks -service management-ldap-client network interface service-policy add-service -vserver <svm-name> -policy default-data-blocks -service management-nis-client network interface service-policy add-service -vserver <svm-name> -policy default-data-iscsi -service data-fpolicy-client network interface service-policy add-service -vserver <svm-name> -policy default-data-iscsi -service management-ad-client network interface service-policy add-service -vserver <svm-name> -policy default-data-iscsi -service management-dns-client network interface service-policy add-service -vserver <svm-name> -policy default-data-iscsi -service management-ldap-client network interface service-policy add-service -vserver <svm-name> -policy default-data-iscsi -service management-nis-client
-
Follow these steps to create a new storage VM, along with the required LIFs.
-
Create the storage VM and a route to the storage VM.
vserver create -vserver <svm-name> -subtype default -rootvolume <root-volume-name> -rootvolume-security-style unix
network route create -destination 0.0.0.0/0 -vserver <svm-name> -gateway <ip-of-gateway-server>
-
Create data LIFs:
-
Use the following command to create a NAS LIF on node 1.
network interface create -vserver <svm-name> -lif <lif-name> -role data -data-protocol cifs,nfs -address <nfs-cifs-ip-address> -netmask-length <length> -home-node <name-of-node1> -status-admin up -failover-policy system-defined -firewall-policy data -home-port e0a -auto-revert true -failover-group Default -probe-port <port-number-for-azure-health-probe1>
-
Use the following command to create a NAS LIF on node 2.
network interface create -vserver <svm-name> -lif <lif-name> -role data -data-protocol cifs,nfs -address <nfs-cifs-ip-address> -netmask-length <length> -home-node <name-of-node2> -status-admin up -failover-policy system-defined -firewall-policy data -home-port e0a -auto-revert true -failover-group Default -probe-port <port-number-for-azure-health-probe2>
-
-
Create iSCSI LIFs to provide DNS communication:
-
Use the following command to create an iSCSI LIF on node 1.
network interface create -vserver <svm-name> -home-port e0a -address <iscsi-ip-address> -netmask-length <# of mask bits> -lif <lif-name> -home-node <name-of-node1> -data-protocol iscsi
-
Use the following command to create an iSCSI LIF on node 2.
network interface create -vserver <svm-name> -home-port e0a -address <iscsi-ip-address> -netmask-length <# of mask bits> -lif <lif-name> -home-node <name-of-node2> -data-protocol iscsi
-
-
Optional: Create a storage VM management LIF on node 1.
network interface create -vserver <svm-name> -lif <lif-name> -role data -data-protocol none -address <svm-mgmt-ip-address> -netmask-length <length> -home-node <name-of-node1> -status-admin up -failover-policy system-defined -firewall-policy mgmt -home-port e0a -auto-revert false -failover-group Default -probe-port <port-number-for-azure-health-probe3>
This management LIF provides a connection to management tools like SnapCenter.
-
Optional: Create a storage VM management LIF on node 1.
network interface create -vserver <svm-name> -lif <lif-name> -role data -data-protocol none -address <svm-mgmt-ip-address> -netmask-length <length> -home-node <name-of-node1> -status-admin up -failover-policy system-defined -firewall-policy mgmt -home-port e0a -auto-revert false -failover-group Default -probe-port <port-number-for-azure-health-probe3>
This management LIF provides a connection to management tools like SnapCenter.
-
Assign one or more aggregates to the storage VM.
vserver add-aggregates -vserver svm_2 -aggregates aggr1,aggr2
This step is required because the new storage VM needs access to at least one aggregate before you can create volumes on the storage VM.
-
If you're running Cloud Volumes ONTAP 9.11.1 or later, modify the network service policies for the storage VM.
-
Enter the following command to access advanced mode.
::> set adv -con off
Modifying the services is required because it ensures that Cloud Volumes ONTAP can use the iSCSI LIF for outbound management connections.
network interface service-policy remove-service -vserver <svm-name> -policy default-data-files -service data-fpolicy-client network interface service-policy remove-service -vserver <svm-name> -policy default-data-files -service management-ad-client network interface service-policy remove-service -vserver <svm-name> -policy default-data-files -service management-dns-client network interface service-policy remove-service -vserver <svm-name> -policy default-data-files -service management-ldap-client network interface service-policy remove-service -vserver <svm-name> -policy default-data-files -service management-nis-client network interface service-policy add-service -vserver <svm-name> -policy default-data-blocks -service data-fpolicy-client network interface service-policy add-service -vserver <svm-name> -policy default-data-blocks -service management-ad-client network interface service-policy add-service -vserver <svm-name> -policy default-data-blocks -service management-dns-client network interface service-policy add-service -vserver <svm-name> -policy default-data-blocks -service management-ldap-client network interface service-policy add-service -vserver <svm-name> -policy default-data-blocks -service management-nis-client network interface service-policy add-service -vserver <svm-name> -policy default-data-iscsi -service data-fpolicy-client network interface service-policy add-service -vserver <svm-name> -policy default-data-iscsi -service management-ad-client network interface service-policy add-service -vserver <svm-name> -policy default-data-iscsi -service management-dns-client network interface service-policy add-service -vserver <svm-name> -policy default-data-iscsi -service management-ldap-client network interface service-policy add-service -vserver <svm-name> -policy default-data-iscsi -service management-nis-client
-
Follow these steps to create a new storage VM, along with the required LIFs.
-
Create the storage VM and a route to the storage VM.
vserver create -vserver <svm-name> -subtype default -rootvolume <root-volume-name> -rootvolume-security-style unix
network route create -destination 0.0.0.0/0 -vserver <svm-name> -gateway <ip-of-gateway-server>
-
Create NAS data LIFs:
-
Use the following command to create a NAS LIF on node 1.
network interface create -vserver <svm-name> -lif <lif-name> -role data -data-protocol cifs,nfs -address <nfs-cifs-ip-address> -netmask-length <length> -home-node <name-of-node1> -status-admin up -failover-policy system-defined -firewall-policy data -home-port e0a -auto-revert true -failover-group Default -probe-port <port-number-for-azure-health-probe1>
-
Use the following command to create a NAS LIF on node 2.
network interface create -vserver <svm-name> -lif <lif-name> -role data -data-protocol cifs,nfs -address <nfs-cifs-ip-address> -netmask-length <length> -home-node <name-of-node2> -status-admin up -failover-policy system-defined -firewall-policy data -home-port e0a -auto-revert true -failover-group Default -probe-port <port-number-for-azure-health-probe2>
-
-
Create iSCSI LIFs to provide DNS communication:
-
Use the following command to create an iSCSI LIF on node 1.
network interface create -vserver <svm-name> -home-port e0a -address <iscsi-ip-address> -netmask-length <# of mask bits> -lif <lif-name> -home-node <name-of-node1> -data-protocol iscsi
-
Use the following command to create an iSCSI LIF on node 2.
network interface create -vserver <svm-name> -home-port e0a -address <iscsi-ip-address> -netmask-length <# of mask bits> -lif <lif-name> -home-node <name-of-node2> -data-protocol iscsi
-
-
Optional: Create a storage VM management LIF on node 1.
network interface create -vserver <svm-name> -lif <lif-name> -role data -data-protocol none -address <svm-mgmt-ip-address> -netmask-length <length> -home-node <name-of-node1> -status-admin up -failover-policy system-defined -firewall-policy mgmt -home-port e0a -auto-revert false -failover-group Default -probe-port <port-number-for-azure-health-probe3>
This management LIF provides a connection to management tools like SnapCenter.
-
Assign one or more aggregates to the storage VM.
vserver add-aggregates -vserver svm_2 -aggregates aggr1,aggr2
This step is required because the new storage VM needs access to at least one aggregate before you can create volumes on the storage VM.
-
If you're running Cloud Volumes ONTAP 9.11.1 or later, modify the network service policies for the storage VM.
-
Enter the following command to access advanced mode.
::> set adv -con off
Modifying the services is required because it ensures that Cloud Volumes ONTAP can use the iSCSI LIF for outbound management connections.
network interface service-policy remove-service -vserver <svm-name> -policy default-data-files -service data-fpolicy-client network interface service-policy remove-service -vserver <svm-name> -policy default-data-files -service management-ad-client network interface service-policy remove-service -vserver <svm-name> -policy default-data-files -service management-dns-client network interface service-policy remove-service -vserver <svm-name> -policy default-data-files -service management-ldap-client network interface service-policy remove-service -vserver <svm-name> -policy default-data-files -service management-nis-client network interface service-policy add-service -vserver <svm-name> -policy default-data-blocks -service data-fpolicy-client network interface service-policy add-service -vserver <svm-name> -policy default-data-blocks -service management-ad-client network interface service-policy add-service -vserver <svm-name> -policy default-data-blocks -service management-dns-client network interface service-policy add-service -vserver <svm-name> -policy default-data-blocks -service management-ldap-client network interface service-policy add-service -vserver <svm-name> -policy default-data-blocks -service management-nis-client network interface service-policy add-service -vserver <svm-name> -policy default-data-iscsi -service data-fpolicy-client network interface service-policy add-service -vserver <svm-name> -policy default-data-iscsi -service management-ad-client network interface service-policy add-service -vserver <svm-name> -policy default-data-iscsi -service management-dns-client network interface service-policy add-service -vserver <svm-name> -policy default-data-iscsi -service management-ldap-client network interface service-policy add-service -vserver <svm-name> -policy default-data-iscsi -service management-nis-client
-
After you create a storage VM on an HA pair, it's best to wait 12 hours before you provision storage on that SVM. Starting with the Cloud Volumes ONTAP 9.10.1 release, BlueXP scans the settings for an HA pair's load balancer at a 12-hour interval. If there are new SVMs, BlueXP will enable a setting that provides shorter unplanned failover.