Skip to main content

NetApp

ONTAP LIF Migration Runbook for Node Decommission

Scope

This runbook is for planned movement of NAS data LIFs away from an ONTAP node before maintenance or decommission work. It does not treat SAN LIFs as normal migratable NAS LIFs. NetApp documents that network interface migrate-all migrates data logical interfaces away from a node and that SAN protocols do not support that command: network interface migrate-all.

Prechecks

Start with a map of every LIF on the node:

network interface show -curr-node <node>
network interface show -curr-node <node> -fields vserver,lif,data-protocol,address,home-node,home-port,curr-node,curr-port,status-oper,failover-policy,is-home
network port show -node <node>
network port broadcast-domain show

Classify the LIFs before migration:

LIF TypeHandling
NFS or SMB data LIFCan usually migrate if failover rules and target ports are valid
Cluster management LIFDo not move casually during data-node work
Node management LIFRehome only with a management access plan
iSCSI or FCP LIFUse SAN LIF move or host path procedure, not migrate-all
Intercluster LIFConfirm replication path impact before movement

CLI Process

Show candidate LIFs:

network interface show -curr-node node01 -role data

Migrate all eligible data LIFs away from the node:

network interface migrate-all -node node01

For a controlled one-at-a-time migration:

network interface migrate \
  -vserver svm_nfs01 \
  -lif nfs_lif01 \
  -destination-node node02 \
  -destination-port e0c

Verify placement:

network interface show -curr-node node01
network interface show -vserver svm_nfs01 -fields lif,home-node,home-port,curr-node,curr-port,status-oper,is-home

If the maintenance is complete and the original home design is still correct, revert:

network interface revert -vserver svm_nfs01 -lif nfs_lif01

REST API Process

Discover LIFs currently on the node:

curl -k -u admin:'<password>' \
  "https://cluster.example.com/api/network/ip/interfaces?location.node.name=node01&fields=uuid,name,svm.name,ip.address,services,location,enabled,state"

Patch a LIF location when the operation is supported for the interface type:

curl -k -u admin:'<password>' \
  -X PATCH \
  "https://cluster.example.com/api/network/ip/interfaces/<lif_uuid>" \
  -H "Content-Type: application/json" \
  -d '{
    "location": {
      "node": { "name": "node02" },
      "port": { "name": "e0c" }
    }
  }'

Validate after the move:

curl -k -u admin:'<password>' \
  "https://cluster.example.com/api/network/ip/interfaces/<lif_uuid>?fields=name,ip.address,location,enabled,state"

Best Practices

Backout

If clients fail after a migration, move the LIF back to a known-good node and port:

network interface migrate -vserver svm_nfs01 -lif nfs_lif01 -destination-node node01 -destination-port e0c
network interface show -vserver svm_nfs01 -lif nfs_lif01

Then validate client mount or SMB access before continuing with the decommission.

Back to top