1. Home
  2. Alter cm-nfs-checker listening port

Alter cm-nfs-checker listening port

The cm-nfs-checker is an integral tool for the proper operation of the BCM tools. It is designed to be a lightweight and safe way for the system to monitor the mount state of filesystems without the risk of hanging the primary service. It will, by default, run on port 8082/UDP bound to localhost.

In some rare cases, a system administrator may need to alter the port number to resolve a conflict.

The value XXXX in this document should reference a free UDP port. This procedure should only be followed if you have no other options but to change the port number on this service, and if you have questions, you should reach out to support before attempting these steps.

Update systemd unit file

If this file already has the changes listed below you can skip this step.

For BCM releases that are not BCM11 and before 9.2-18, 10.25.04, you will need to manually update the unit file, and it will need to be updated whenever the cmdaemon package is updated. These updates are local and not on the shared filesystem, so it will need to be completed on all head nodes as well as all software images. The path of the files is /usr/lib/systemd/system/cm-nfs-checker.service and will need the following contents.

[Unit]
Description=BCM NFS monitor and checker
After=syslog.target network.target time-sync.target
Before=cmd.service

[Service]
EnvironmentFile=-/etc/sysconfig/cm-nfs-checker
EnvironmentFile=-/etc/default/cm-nfs-checker
PIDFile=/var/run/cm-nfs-checker.pid
ExecStart=/cm/local/apps/cmd/sbin/cm-nfs-checker --server --pidfile /var/run/cm-nfs-checker.pid $CMNFSCHECKER_OPTIONS
TimeoutStopSec=5
Restart=always

[Install]
WantedBy=multi-user.target

Add EnvironmentFile

To the head node as well as all software images, you need add the following environment file to either /etc/default/cm-nfs-checker for Ubuntu/DGX systems or /etc/sysconfig/cm-nfs-checker for RHEL/SLES based platforms. The contents should be as follows

# replace the port number with a free UDP port
CMNFSCHECKER_OPTIONS="--port XXXX"

Update cmd.conf

On each head node and software image, the AdvancedConfig inside the /cm/local/apps/cmd/etc/cmd.conf will need to be updated as well. You can manually update it with the necessary changes, as seen below.

AdvancedConfig = {
.. other options ..
"NFSCheckerPort=XXXX",
}

Or you may choose to update it with the provided utility.

cm-manipulate-advanced-config.py "NFSCheckerPort=XXXX"

This step needs to be completed on all head nodes and all software images

Testing

To test this change, you can use the following commands on a head node

systemctl daemon-reload
systemctl restart cm-nfs-checker
ss -nupl | grep XXXX # should show cm-nfs-checker on this port
cm-nfs-checker --port XXXX <path to a mounted filesyste>
# should return <mounted path>: 0, GOOD

Deployment

To activate the changes, both cm-nfs-checker and cmd will need to be restarted site-wide. On the head nodes, you can restart both in succession, and for the compute resources, it is easiest to restart them to take the changes.

Updated on March 6, 2025