The mmexpelnode command

The mmexpelnode command instructs the cluster manager to expel the target nodes and to run the normal recovery protocol.

The cluster manager keeps a list of the expelled nodes. Expelled nodes are not allowed to rejoin the cluster until they are removed from the list using the -r or --reset option on the mmexpelnode command.

In clusters whose IBM Storage Scale version is earlier than 5.2.1, the expelled nodes status is also reset if the cluster manager node goes down or is changed with the mmchmgr -c command. From 5.2.1 onward, the expelled status is kept across changes in the cluster manager; this configuration can be changed by using the mmchconfig disablepersistExpelList=yes command.

The syntax of the mmexpelnode command is:
mmexpelnode [-o | --once] [-f | --is-fenced] [-w | --wait] -N Node[,Node...]
Or,
mmexpelnode {-l | --list}
Or,
mmexpelnode {-r | --reset} -N {all | Node[,Node...]}
Note: Unless the -f option is used (refer to the Warning about the use of this option), log recovery and transfer of tokens for an expelled node is only initiated after the disk lease of the node has expired. For more information, see Node failure. As a result, application I/O might get blocked for approximately 1 minute (lease expiration plus the wait for pending I/Os from the node to complete) if the target node holds conflicting tokens which are requested by other nodes.
The flags used by this command are:
-o | --once
Specifies that the nodes should not be prevented from rejoining. After the recovery protocol completes, expelled nodes are allowed to rejoin the cluster immediately, without the need to first invoke the mmexpelnode --reset command.
-f | --is-fenced
Specifies that the nodes are fenced out and precluded from accessing any GPFS disks without first rejoining the cluster (for example, the nodes were forced to reboot by turning off power). Using this flag allows GPFS to start log recovery immediately, skipping the normal 35-second wait.
Warning: The -f option should only be used when the administrator is sure that the node being expelled can no longer write to any of the disks. This includes both the locally attached disks and the remote NSDs. The node in question must be down, and it must not have any disk I/O pending on any of the devices. Incorrect use of the -f option could lead to file system corruption.
-w | --wait
Instructs the mmexpelnode command to wait until GPFS recovery for the failed node has completed before it runs.
In version 5.1.3 and later, and when the tscCmdAllowRemoteConnections configuration parameter is set to no, if the command is issued by one of the nodes specified with the -N option, the command may return before the GPFS recovery for the node is completed. To ensure the command wait for GPFS recovery to complete, issue the command from a node which is not included in the list provided to the -N option.
-l | --list
Lists all currently expelled nodes.
-r | --reset
Allows the specified nodes to rejoin the cluster (that is, resets the status of the nodes). To unexpel all of the expelled nodes, issue: mmexpelnode -r -N all.
-N {all | Node[,Node...]}
Specifies a list of host names or IP addresses that represent the nodes to be expelled or unexpelled. Specify the daemon interface host names or IP addresses as shown by the mmlscluster command. The mmexpelnode command does not support administration node names or node classes.
Note: -N all can only be used to unexpel nodes.

Examples of the mmexpelnode command

  1. To expel node c100c1rp3, issue the command:
    mmexpelnode -N c100c1rp3
  2. To show a list of expelled nodes, issue the command:
    mmexpelnode --list
    The system displays information similar to:
    Node List
    ---------------------
        192.168.100.35 (c100c1rp3.ppd.pok.ibm.com)
  3. To allow node c100c1rp3 to rejoin the cluster, issue the command:
    mmexpelnode -r -N c100c1rp3