[ClusterLabs] Resolving cart before the horse with mounted filesystems.

Matthew Schumacher matt.s at aptalaska.net
Fri Apr 30 10:26:40 EDT 2021


I have an issue that I'm not sure how to resolve so feedback is welcome.

I need to mount a local NFS file system on my node before I start a 
VirtualDomain resource which depends on it, however, the NFS server is 
itself a resource on the cluster.

This causes the cart before the horse.  If I insert a node into a 
running cluster, this is pretty simple, mount nfs before starting 
pacemaker, and if a VirtualDomain resource is immediately started, we 
already have what we need.  But that doesn't work on a cold cluster 
because if I try to mount NFS on the node before the cluster starts the 
NFS server, the mount fails.  If I always mount NFS after I start 
pacemaker, then pacemaker will usually try to start VirtualDomain 
resources before I can get further in the boot and mount NFS which 
causes the VirtualDomain resource to fail to start.

I think I need one of the following fixes:

1.  Delayed start on VirtualDomain resources so that we give time to get 
the file system mounted which feels hackish as it's the old sleep fix 
for race conditions.

2.  Make the nfs mount itself a resource and make VirtualDomain 
resources depend on it.  In order for this to work each node would need 
it's own nfs mount resource, and VirtualDomain resources that can run on 
any node would need to depend on the nfs mount resource of whatever node 
they decide to run on but not the nfs mount resource of any other node.  
I'm not sure how to make this work because the dependency changes with 
what node the VirtualDomain resource is started on.

3.  Make the VirtualDomain resource call a script on start/migrate that 
simply looks for the nfs mount, and if missing, try to mount. This seems 
less hackish, but will ensure that we always try to get the nfs mount 
going the first time the resource is moved/started there.

Any ideas or thoughts would be very helpful and appreciated.

Matt




More information about the Users mailing list