The NFS Ganesha service was not consistently visible in `ceph -s`,
especially in multi-daemon deployments. This was due to missing or
incorrect service registration with the Ceph manager.
This change updates the ganesha.conf template to explicitly set:
CEPH {
register_service = true;
nodeid = "{{ namespace }}.{{ nodeid }}";
}
Key points:
- Enables proper service registration in mgr via register_service
- Ensures unique nodeid per daemon using namespace + nodeid
- Fixes visibility of NFS daemons in `ceph -s`
- Works correctly for both single and multi-node deployments
Validation:
- Verified with single NFS daemon → visible in `ceph -s`
- Verified with 3 NFS daemons → all correctly aggregated and visible
- Confirmed export creation activates service visibility
- Tested using Ceph 9.1 (Ganesha 9.7)
No regressions observed.
Fixes: https://tracker.ceph.com/issues/75709
Signed-off-by: Shubha Jain <SHUBHA.JAIN1@ibm.com>
name = "client.{{ rgw_user }}";
}
-CEPH {
+Ceph {
register_service = true;
- nodeid = "{{ nodeid }}";
+ nodeid = "{{ namespace }}.{{ nodeid }}";
}
{% if tls_add %}
' name = "client.nfs.foo.test.0.0-rgw";\n'
'}\n'
'\n'
- 'CEPH {\n'
+ 'Ceph {\n'
' register_service = true;\n'
- ' nodeid = "0";\n'
+ ' nodeid = "foo.0";\n'
'}\n'
'\n'
"%url rados://.nfs/foo/conf-nfs.foo"