Bug 2332349
Summary: | Need supported nfs-ganesha recovery backend for HA-NFS planned and unplanned failover | ||
---|---|---|---|
Product: | [Red Hat Storage] Red Hat Ceph Storage | Reporter: | jeff.a.smith |
Component: | NFS-Ganesha | Assignee: | Sachin Punadikar <spunadik> |
Status: | CLOSED ERRATA | QA Contact: | Manisha Saini <msaini> |
Severity: | medium | Docs Contact: | |
Priority: | unspecified | ||
Version: | 6.0 | CC: | cephqe-warriors, kkeithle, spunadik, tserlin |
Target Milestone: | --- | ||
Target Release: | 8.1 | ||
Hardware: | Unspecified | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | nfs-ganesha-6.5-9.el9cp | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2025-06-26 12:20:15 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
jeff.a.smith
2024-12-13 22:12:30 UTC
Hello, IBM cloud team need to make use of "rados_ng" as recovery backend. Code: The required code is available at - https://gitlab.cee.redhat.com/ceph/nfs-ganesha/-/tree/ceph-8.0-rhel-patches-for-ceph8.1-features and/or https://github.com/nfs-ganesha/nfs-ganesha (latest code has required change) Configuration: For making use of failover functionality, some config changes are required in ganesha.conf file and command line option. The recovery backend should be mentioned as "rados_ng" in the NFSv4 block (as shown below). NFSv4 { RecoveryBackend = "rados_ng"; Minor_Versions = 1, 2; } Every node (physical system / VM / container), should have a unique numerical node id (like 1, 2 etc), and that should be part of ganesha startup command using option "I" (see below). e.g. # env CEPH_CONF=/home/data/code/ceph8/ceph/build/ceph.conf ganesha.nfsd -L /home/data/code/ceph8/ceph/build/out/ganesha-a.log -f /home/data/code/ceph8/ceph/build/dev/ganesha.a/ganesha-a.conf -p /home/data/code/ceph8/ceph/build/out/ganesha-a.pid -I 1 Testing of failover: Consider Ganesha instances with nodeids 1, 2, and 3. When you want to failover node 1 to node 3: 1. Take down the IPs running on node 1 2. Ask Ganesha instances with nodeid 2 & 3 to enter in grace using ganesha_mgr: nodeid 2 - #ganesha_mgr grace “0” nodeid 3 - #ganesha_mgr grace “4:1" 3. After the reclaim/grace period is over, IPs hosted by nodeid 1 will be served by nodeid 3. Next step - working on code changes to have nodeid as part of config file. Code changes for supporting nodeid as part of config is pushed for review https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1207554 One can give nodeid as part of ganesha.conf file instead of command line parameter. It should be part of RADOS_KV block as shown below. The nodeid is numeric value. RADOS_KV { pool = ".nfs"; namespace = "vstart"; UserId = "vstart"; nodeid = 1; } Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Important: Red Hat Ceph Storage 8.1 security, bug fix, and enhancement updates), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2025:9775 |