Create data-serving storage VMs for Cloud Volumes ONTAP in Azure

Contributors netapp-bcammett

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. The number of IP addresses that you need depends on the storage protocol.

iSCSI
  • One IP address for iSCSI data LIF access

  • An optional IP address for a storage VM (SVM) management LIF

    This management LIF provides a connection to management tools like SnapCenter.

NFS
  • One IP address for NAS data LIF access

  • An optional IP address for a storage VM (SVM) management LIF

    This management LIF provides a connection to management tools like SnapCenter.

SMB
  • One IP address for NAS data LIF access

  • One IP address for DNS and SMB communication through an iSCSI LIF

    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.

Steps
  1. Log in to the Azure portal and open the Virtual machine service.

  2. Click the name of the Cloud Volumes ONTAP VM.

  3. Click Networking.

  4. Click the name of the network interface for nic0.

  5. Under Settings, click IP configurations.

  6. Click Add.

  7. Enter a name for the IP configuration, select Dynamic, and then click OK.

  8. 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.

  9. If you’re using SMB, repeat these steps to create an additional IP address for DNS and SMB communication.

  10. If you want to create an SVM management LIF, repeat these steps to create an additional IP address.

After you finish

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

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.

Steps
  1. Log in to the Azure portal and open the Virtual machine service.

  2. Click the name of the Cloud Volumes ONTAP VM for node 1.

  3. Click Networking.

  4. Click the name of the network interface for nic0.

  5. Under Settings, click IP configurations.

  6. Click Add.

  7. Enter a name for the IP configuration, select Dynamic, and then click OK.

  8. 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.

  9. Repeat these steps on node 2.

  10. If you want to create an SVM management LIF, repeat these steps on node 1.

NFS

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

    This management LIF provides a connection to management tools like SnapCenter.

Steps
  1. In the Azure portal, open the Load balancers service.

  2. Click the name of the load balancer for the HA pair.

  3. 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.

    1. Under Settings, click Frontend IP configuration.

    2. Click Add.

    3. Enter a name for the frontend IP, select the subnet for the Cloud Volumes ONTAP HA pair, and leave Dynamic selected.

      A screenshot of adding a frontend IP address in the Azure portal where a name and subnet are selected.

    4. 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.

  4. Add a health probe for each frontend IP that you just created.

    1. Under the load balancer’s Settings, click Health probes.

    2. Click Add.

    3. 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.

      A screenshot of adding a health probe in the Azure portal where a name and port are entered.

  5. Create new load balancing rules for each frontend IP.

    1. Under the load balancer’s Settings, click Load balancing rules.

    2. 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.

        A screenshot of adding a load balancing rule in the Azure portal with the fields shown above.

  6. 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.

SMB

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:

  • 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

  • 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.

Steps
  1. In the Azure portal, open the Load balancers service.

  2. Click the name of the load balancer for the HA pair.

  3. Create the required number of frontend IP configurations:

    1. Under Settings, click Frontend IP configuration.

    2. Click Add.

    3. Enter a name for the frontend IP, select the subnet for the Cloud Volumes ONTAP HA pair, and leave Dynamic selected.

      A screenshot of adding a frontend IP address in the Azure portal where a name and subnet are selected.

    4. 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.

  4. Add a health probe for each frontend IP that you just created.

    1. Under the load balancer’s Settings, click Health probes.

    2. Click Add.

    3. 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.

      A screenshot of adding a health probe in the Azure portal where a name and port are entered.

  5. Create new load balancing rules for each frontend IP.

    1. Under the load balancer’s Settings, click Load balancing rules.

    2. 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.

        A screenshot of adding a load balancing rule in the Azure portal with the fields shown above.

  6. 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.

After you finish

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.

iSCSI

Follow these steps to create a new storage VM, along with the required LIFs.

Steps
  1. 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>
  2. Create a data LIF:

    network interface create -vserver <svm-name> -home-port e0a -address <iscsi-ip-address> -lif <lif-name> -home-node <name-of-node1> -data-protocol iscsi
  3. 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 node1 -status-admin up -failover-policy system-defined -firewall-policy mgmt -home-port e0a -auto-revert false -failover-group Default
  4. 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.

NFS

Follow these steps to create a new storage VM, along with the required LIFs.

Steps
  1. 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>
  2. Create a data LIF:

    network interface create -vserver <svm-name> -lif <lif-name> -role data -data-protocol cifs,nfs -address <nfs--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
  3. 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 node1 -status-admin up -failover-policy system-defined -firewall-policy mgmt -home-port e0a -auto-revert false -failover-group Default
  4. 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.

SMB

Follow these steps to create a new storage VM, along with the required LIFs.

Steps
  1. 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>
  2. Create a data LIF:

    network interface create -vserver <svm-name> -lif <lif-name> -role data -data-protocol cifs,nfs -address <nfs--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
  3. Create an iSCSI LIF that is required to provide DNS and SMB communication:

    network interface create -vserver <svm-name> -home-port e0a -address <iscsi-ip-address> -lif <lif-name> -home-node <name-of-node1> -data-protocol iscsi
  4. 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 node1 -status-admin up -failover-policy system-defined -firewall-policy mgmt -home-port e0a -auto-revert false -failover-group Default
  5. 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.

iSCSI

Follow these steps to create a new storage VM, along with the required LIFs.

Steps
  1. 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>
  2. Create data LIFs:

    1. 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> -lif <lif-name> -home-node <name-of-node1> -data-protocol iscsi
    2. 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> -lif <lif-name> -home-node <name-of-node2> -data-protocol iscsi
  3. 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 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.

  4. 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.

NFS

Follow these steps to create a new storage VM, along with the required LIFs.

Steps
  1. 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>
  2. Create data LIFs:

    1. 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--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>
    2. 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>
  3. 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 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.

  4. 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.

SMB

Follow these steps to create a new storage VM, along with the required LIFs.

Steps
  1. 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>
  2. Create NAS data LIFs:

    1. 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--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>
    2. 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>
  3. Create iSCSI LIFs to provide DNS and SMB communication:

    1. 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> -lif <lif-name> -home-node <name-of-node1> -data-protocol iscsi
    2. 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> -lif <lif-name> -home-node <name-of-node2> -data-protocol iscsi
  4. 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 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.

  5. 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.

What’s next?

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, Cloud Manager scans the settings for an HA pair’s load balancer at a 12-hour interval. If there are new SVMs, Cloud Manager will enable a setting that provides shorter unplanned failover.