> On 15.03.2022 19:35, john tillman wrote: >> Hello, >> >> I'm trying to guarantee that all my cloned drbd resources start on the >> same node and I can't figure out the syntax of the constraint to do it. >> >> I could nominate one of the drbd resources as a "leader" and have all >> the >> others follow it. But then if something happens to that leader the >> others >> are without constraint. >> > > Colocation is asymmetric. Resource B is colocated with resource A, so > pacemaker decides placement of resource A first. If resource A cannot > run anywhere (which is probably what you mean under "something happens > to that leader"), resource B cannot run anywhere. This is true also for > resources inside resource set. > > I do not think pacemaker supports "always run these resources together, > no matter how many resources can run". >
Huh, no way to get all the masters to start on the same node. Interesting. The set construct has a boolean field "require-all". I'll try that before I give up. Could I create a resource (some systemd service) that all the masters are colocated with? Feels like a hack but would it work? Thank you for the response. -John >> I tried adding them to a group but got a syntax error from pcs saying >> that >> I wasn't allowed to add cloned resources to a group. >> >> If anyone is interested, it started from this example: >> https://edmondcck.medium.com/setup-a-highly-available-nfs-cluster-with-disk-encryption-using-luks-drbd-corosync-and-pacemaker-a96a5bdffcf8 >> There's a DRBD partition that gets mounted onto a local directory. The >> local directory is then mounted onto an exported directory (mount >> --bind). >> Then the nfs service (samba too) get started and finally the VIP. >> >> Please note that while I have 3 DRBD resources currently, that number >> may >> increase after the initial configuration is performed. >> >> I would just like to know a mechanism to make sure all the DRBD >> resources >> are colocated. Any suggestions welcome. >> >> [root@nas00 ansible]# pcs resource >> * Clone Set: drbdShare-clone [drbdShare] (promotable): >> * Masters: [ nas00 ] >> * Slaves: [ nas01 ] >> * Clone Set: drbdShareRead-clone [drbdShareRead] (promotable): >> * Masters: [ nas00 ] >> * Slaves: [ nas01 ] >> * Clone Set: drbdShareWrite-clone [drbdShareWrite] (promotable): >> * Masters: [ nas00 ] >> * Slaves: [ nas01 ] >> * localShare (ocf::heartbeat:Filesystem): Started nas00 >> * localShareRead (ocf::heartbeat:Filesystem): Started nas00 >> * localShareWrite (ocf::heartbeat:Filesystem): Started nas00 >> * nfsShare (ocf::heartbeat:Filesystem): Started nas00 >> * nfsShareRead (ocf::heartbeat:Filesystem): Started nas00 >> * nfsShareWrite (ocf::heartbeat:Filesystem): Started nas00 >> * nfsService (systemd:nfs-server): Started nas00 >> * smbService (systemd:smb): Started nas00 >> * vipN (ocf::heartbeat:IPaddr2): Started nas00 >> >> [root@nas00 ansible]# pcs constraint show --all >> Location Constraints: >> Ordering Constraints: >> promote drbdShare-clone then start localShare (kind:Mandatory) >> promote drbdShareRead-clone then start localShareRead (kind:Mandatory) >> promote drbdShareWrite-clone then start localShareWrite >> (kind:Mandatory) >> start localShare then start nfsShare (kind:Mandatory) >> start localShareRead then start nfsShareRead (kind:Mandatory) >> start localShareWrite then start nfsShareWrite (kind:Mandatory) >> start nfsShare then start nfsService (kind:Mandatory) >> start nfsShareRead then start nfsService (kind:Mandatory) >> start nfsShareWrite then start nfsService (kind:Mandatory) >> start nfsService then start smbService (kind:Mandatory) >> start nfsService then start vipN (kind:Mandatory) >> Colocation Constraints: >> localShare with drbdShare-clone (score:INFINITY) >> (with-rsc-role:Master) >> localShareRead with drbdShareRead-clone (score:INFINITY) >> (with-rsc-role:Master) >> localShareWrite with drbdShareWrite-clone (score:INFINITY) >> (with-rsc-role:Master) >> nfsShare with localShare (score:INFINITY) >> nfsShareRead with localShareRead (score:INFINITY) >> nfsShareWrite with localShareWrite (score:INFINITY) >> nfsService with nfsShare (score:INFINITY) >> nfsService with nfsShareRead (score:INFINITY) >> nfsService with nfsShareWrite (score:INFINITY) >> smbService with nfsShare (score:INFINITY) >> smbService with nfsShareRead (score:INFINITY) >> smbService with nfsShareWrite (score:INFINITY) >> vipN with nfsService (score:INFINITY) >> Ticket Constraints: >> >> Thank you for your time and attention. >> >> -John >> >> >> _______________________________________________ >> Manage your subscription: >> https://lists.clusterlabs.org/mailman/listinfo/users >> >> ClusterLabs home: https://www.clusterlabs.org/ > > _______________________________________________ > Manage your subscription: > https://lists.clusterlabs.org/mailman/listinfo/users > > ClusterLabs home: https://www.clusterlabs.org/ > > _______________________________________________ Manage your subscription: https://lists.clusterlabs.org/mailman/listinfo/users ClusterLabs home: https://www.clusterlabs.org/