linux-nfs / nfsd

Linux kernel source tree
Other
0 stars 0 forks source link

Server support for read-only filesystem replication #23

Open chucklever opened 7 months ago

chucklever commented 7 months ago

This was bugzilla.linux-nfs.org 358

The NFSv4 protocol provides mechanisms for communicating the location of replicas of a shared filesystem (export). This is GETATTR(fs_locations) and GETATTR(fs_locations_info) for those of you following along at home. The Linux NFS server implementation supports fs_locations, although these are configured manually via /etc/exports or by creating nfsref referral objects.

The mechanics of filesystem replication are not addressed in the NFSv4 protocol itself, giving some latitude to NFS server implementations. One frequently-used simplification is to not support R/W replication, and instead expose only read-only replicas of a filesystem. The read-only use case is possibly interesting to anyone who is looking at replacing AFS, where each volume has a read-write copy and read-only snapshot replica of it.

Among some of the detailed issues:

[J. Bruce Fields] One thing I don't understand about AFS-like read-only replication is what happens to files that are deleted on update.

It's often used to distribute binaries, and I'd rather not delete a binary out from under a running process. But keeping the RW copy informed about which files are opened is also going to be tricky.

Given that we've got some evidence that reexporting is actually working OK in limited use-cases, I wonder if our effort would be better spent making that work better.

[J. Bruce Fields] On the question of deleted files: I get the impression AFS admins were just careful to keep the older files around on the filesystem (maybe only linked into some directory that's not in clients' default search paths) until they were pretty sure clients were done with them.

[J. Bruce Fields] I also have some notes at https://wiki.linux-nfs.org/wiki/index.php/NFS_for_AFS_users#replication_and_migration.

chucklever commented 7 months ago

[J. Bruce Fields 2020-12-10 20:06:19 UTC] One thing I don't understand about AFS-like read-only replication is what happens to files that are deleted on update.

It's often used to distribute binaries, and I'd rather not delete a binary out from under a running process. But keeping the RW copy informed about which files are opened is also going to be tricky.

Given that we've got some evidence that reexporting is actually working OK in limited use-cases, I wonder if our effort would be better spent making that work better.

chucklever commented 7 months ago

[J. Bruce Fields 2022-01-10 21:04:33 UTC] On the question of deleted files: I get the impression AFS admins were just careful to keep the older files around on the filesystem (maybe only linked into some directory that's not in clients' default search paths) until they were pretty sure clients were done with them.

chucklever commented 7 months ago

[J. Bruce Fields 2022-01-10 21:05:41 UTC] I also have some notes at https://wiki.linux-nfs.org/wiki/index.php/NFS_for_AFS_users#replication_and_migration.