Bug 2005945

Summary: implement distributed volume management for nfs
Product: [Fedora] Fedora Reporter: J. Bruce Fields <bfields>
Component: nfs-utilsAssignee: Steve Dickson <steved>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: ajmitchell, bfields, luk.claes, steved
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-07-20 15:38:43 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 J. Bruce Fields 2021-09-20 14:13:55 UTC
Implement a distributed database to store the locations of filesystems and their replications.

This will probably extend fedfs: https://fedoraproject.org/wiki/Features/FedFS

We tried packaging fedfs before and it didn't get a lot of interest, but perhaps it would be more interesting in combination with AFS-like read-only replication such as that based on bug 2005929.

We want a krb5-authenticated network protocol to create, nfs-export, snapshot, and replicate volumes, and to update replicated volumes, and maintain in fedfs a catalog of those volumes and any snapshot-of/replica-of relationships.

This should make it possible to, for example, update replicas with a single command.  That command will take care of transmitting the volume (using send/receive), unmounting the old filesystem, mounting the new one in its place, updating fedfs, and reexporting or restarting any NFS server as necessary.

Comment 1 J. Bruce Fields 2021-09-20 14:20:55 UTC
Also, closely related:

1. Support junction points and a global namespace root so that an NFS client can mount example.com:/ and browse to all the volumes exported by the local organization.

2. Consider implementing a magic /nfs directory like the /afs directory, so that e.g. /afs/example.com/ gives access to example.com's exports.  Use the mechanism for DNS discovery described in https://datatracker.ietf.org/doc/html/rfc6641.

Those two might eventually need to be separate bugs.