On the nodes running provisioner and attacher pods
As the next step, you must upgrade IBM Spectrum Scale on the nodes where provisioner and attacher pods are running.
- Move or stop all pods that use volumes that are managed by the IBM Spectrum Scale Container Storage Interface driver.
-
Drain the nodes so that
StatefulSets
move to other nodes.kubectl drain <nodename> --ignore-daemonsets —delete-local-data
-
Remove the
PluginSelector
label that is assigned to the infrastructure node.kubectl label node <nodename> scale-
-
Prepare the node to shut down IBM
Spectrum Scale.
- Check for open files.
lsof <filesystem>
- Check for mounted kernel modules.
lsmod | grep mm
- If there is any mm* present, then unmount and shut down file systems on the
node.
- Ensure that GPFS is active on the node.
mmgetstate
- To list the mounted file systems across all nodes.
mmlsmount all
- To list disk space usage and more importantly to see what file systems are
mounted.
df
- Ensure that GPFS is active on the node.
- Unmount all file systems for the current node.
mmunmount all
- Shut down GPFS on the current node.
mmshutdown
- Check for open files.
lsof <filesystem>
- Check for mounted kernel modules.
lsmod | grep mm
Note:- If all file systems are unmounted and GPFS is shut down, continue to step 5 to proceed with IBM Spectrum Scale upgrade.
- If there are any file systems or mounted kernel modules (mm*) present, then do a reboot of the worker node to clean up the state. Ensure that autoload is set to off for the node before rebooting.
- Disable autoload by issuing the following
command:
mmchconfig autoload=no -N <node>
- Reboot the worker node.
reboot
- Check for open files.
- Upgrade the IBM Spectrum Scale using the IBM Spectrum® Scale installation toolkit, set the worker node as an offline node, and exclude other nodes.
-
After the upgrade is completed, do the following steps:
- Log on to the worker node and issue the following command to enable
autoload:
mmchconfig autoload=yes -N <node>
- Log on to the worker node and start GPFS.
mmstartup
- Uncordon the node.
kubectl uncordon <node>
- Relabel the node with IBM Spectrum Scale Container Storage Interface driver.
kubectl label node <node> scale=true
- Log on to the worker node and issue the following command to enable
autoload: