On 4/30/21 12:08 PM, Matthew Schumacher wrote:
On 4/30/21 11:51 AM, Ken Gaillot wrote:
On Fri, 2021-04-30 at 16:20 +0000, Strahil Nikolov wrote:
Ken ment yo use 'Filesystem' resourse for mounting that NFS server
and then clone that resource.

Best Regards,
Strahil Nikolov

I'm currently working on understanding and implementing this suggestion from Andrei:

Which is exactly what clones are for. Clone NFS mount and order
VirtualDomain after clone. Just do not forget to set interleave=true so
VirtualDomain considers only local clone instance.

I tried to use this config, but it's not working for me.

I have a group that puts together a ZFS mount (which starts an NFS share), configures some iscsi stuff, and binds a failover IP address:

group IP-ZFS-iSCSI fence-datastore zfs-datastore ZFSiSCSI failover-ip

Then, I made a mount to that NFS server as a resource:

primitive mount-datastore-nfs Filesystem \
    params device="<ip>:/datastore" directory="/datastore" fstype=nfs op monitor timeout=40s interval=20s

Then I made a clone of this:

clone clone-mount-datastore-nfs mount-datastore-nfs meta interleave=true target-role=Started

So, in theory, the ZFS/NFS server is mounted on all of the nodes with the clone config.  Now I define some orders to make sure stuff comes up in order:

order mount-datastore-before-vm-testvm Mandatory: clone-mount-datastore-nfs vm-testvm order zfs-datastore-before-mount-datastore Mandatory: IP-ZFS-iSCSI clone-mount-datastore-nfs

In theory, when a node comes on line, it should check to make sure IP-ZFS-iSCSI is running somewhere in the cluster, then check the local instance of mount-datastore-nfs to make sure he have the NFS mounts we need, then start vm-testvm, however that doesn't work.  If I kill pacemaker on one node, it's fenced, rebooted, and when it comes back I note this in the log:


# grep -v  pacemaker /var/log/pacemaker/pacemaker.log
May 03 03:02:41  VirtualDomain(vm-testvm)[1300]:    INFO: Configuration file /datastore/vm/testvm/testvm.xml not readable during probe. May 03 03:02:41  VirtualDomain(vm-testvm)[1300]:    INFO: environment is invalid, resource considered stopped May 03 03:02:42  Filesystem(mount-datastore-nfs)[1442]:    INFO: Running start for 172.25.253.110:/dev/datastore-nfs-stub on /datastore May 03 03:02:45  VirtualDomain(vm-testvm)[2576]:    INFO: Virtual domain testvm currently has no state, retrying. May 03 03:02:46  VirtualDomain(vm-testvm)[2576]:    INFO: Domain testvm already stopped.

Looks like the VirtualDomain resource vm-testvm is started before the Filesystem resource clone-mount-datastore-nfs even though I have this:

order mount-datastore-before-vm-testvm Mandatory: clone-mount-datastore-nfs vm-testvm

I'm not sure what I'm missing.  I need to make sure this NFS mount is started on the local node before starting virtualdomain on that same node.  Should I use the resource instead of the clone in the order statement?  Like this:

order mount-datastore-before-vm-testvm Mandatory: mount-datastore-nfs vm-testvm

Any suggestions appreciated.

Matt


_______________________________________________
Manage your subscription:
https://lists.clusterlabs.org/mailman/listinfo/users

ClusterLabs home: https://www.clusterlabs.org/

Reply via email to