Reducing SMB client impacts during planned node reboots

NOTE: This topic is part of the Uptime Information Hub.


EMC® Isilon® OneFS® 8.0 introduced support for SMB Continuous Availability (CA), which can improve the resilience of SMB3-capable client connections to SMB shares during both planned and unplanned disruptive events such as Isilon node reboots.  In the case of a planned Isilon node reboot, the included SMB3 CA Witness support service reduces the time it takes for a client connection to a share to failover to an alternate node of the Isilon cluster, however the duration is still too high for some workflows. One example is Video Surveillance data ingest to the Isilon cluster.


In the event of a planned reboot of an Isilon node, the duration of the interruption to the client connection to a CA-enabled SMB share can be further reduced by forcing SMB connections to their CA pair before performing the node reboot. This can be used in conjunction with a software upgrade or installation of a patch on an Isilon cluster that requires the Isilon nodes to be rebooted using the manual confirmation mode of the upgrade or patch install (the user must enter Yes before the node is rebooted) to provide a truly non-disruptive experience. Note that this is available only on SMB shares created with Continuous Availability support enabled.


Forcing SMB connections to their CA pair before performing a node reboot


From a CLI login on the node to be rebooted, run the following command:

isi smb sessions list

Output similar to the example below appears.

Computer     User
------------------ user1 user2 user3 user4 user5 user6
Total: 6

To move the first session in the example above to its CA pair, run the command:

isi smb sessions delete --computer-name

The client will automatically move its connection to the CA pair that it has for that share.


Once the sessions have been deleted (moved), continue with the reboot of the node.


To automate the deletion (movement) of all of the sessions on a node, wrap the delete command in a for loop.  For example:

for i in `isi smb sessions list -az | awk '{print $1}' | uniq -i`; do isi smb sessions delete --computer-name ${i}; done