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 Type | Handling |
|---|---|
| NFS or SMB data LIF | Can usually migrate if failover rules and target ports are valid |
| Cluster management LIF | Do not move casually during data-node work |
| Node management LIF | Rehome only with a management access plan |
| iSCSI or FCP LIF | Use SAN LIF move or host path procedure, not migrate-all |
| Intercluster LIF | Confirm 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
- Confirm broadcast domain membership before migration.
- Keep a management path that does not depend on the node being decommissioned.
- Move a small number of LIFs first if the node carries critical NFS or SMB workloads.
- Do not use NAS LIF migration commands for SAN paths.
- Capture before and after output in the change record.
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.