On Sat, Mar 23, 2024 at 3:08 PM duluxoz <duluxoz@gmail.com> wrote:
On 23/03/2024 18:00, Alexander E. Patrakov wrote:
Hi Dulux-Oz,
CephFS is not designed to deal with mobile clients such as laptops that can lose connectivity at any time. And I am not talking about the inconveniences on the laptop itself, but about problems that your laptop would cause to other clients. The problems stem from the fact that MDSes give out "caps" to clients, which are, essentially, licenses to do local caching. If another client wants to access the same file, the MDS would need to contact the laptop and tell it to release the caps - which is no longer possible. Result: a health warning and delays/hangs on other clients.
The proper solution here is to use NFSv3 (ideally with a userspace client instead of a kernel mount). NFSv3, because v4 has leases which bring the problem back. And this means that you cannot use cephadm to deploy this NFS server, as cephadm-deployed NFS-Ganesha is hard-coded to speak only NFSv4.
SAMBA server with oplocks disabled, and, again, a userspace client could be another solution.
If you decide to disregard this advice, here are some tips.
With systemd, configuring autofs is as easy as adding "x-systemd.automount,x-systemd.idle-timeout=1min,noauto,nofail,_netdev" to your /etc/fstab line. This applies both to CephFS and NFS.
For kernel-based NFSv3 mounts, consider adding "nolock".
Another CephFS-specific mount option that somewhat helps with reconnects is "recover_session=clean".
-- Alexander E. Patrakov Hi Alex, and thanks for getting back to me so quickly (I really appreciate it),
So from what you said it looks like we've got the wrong solution. Instead, (if I'm understanding things correctly) we may be better off setting up a dedicated Samba server with the CephFS mounts, and then using Samba to share those out - is that right?
Almost right. Please set up a cluster of two SAMBA servers with CTDB, for high availability. -- Alexander E. Patrakov