Re: [ClusterLabs] Order set troubles
On 24.03.2021 20:56, Ken Gaillot wrote: > On Wed, 2021-03-24 at 09:27 +, Strahil Nikolov wrote: >> Hello All, >> >> I have a trouble creating an order set . >> The end goal is to create a 2 node cluster where nodeA will mount >> nfsA , while nodeB will mount nfsB.On top of that a depended cloned >> resource should start on the node only if nfsA or nfsB has started >> locally. >> >> A prototype code would be something like: >> pcs constraint order start (nfsA or nfsB) then start resource-clone >> >> I tried to create a set like this, but it works only on nodeB: >> pcs constraint order set nfsA nfsB resource-clone >> >> Any idea how to implement that order constraint ? >> Thanks in advance. >> >> Best Regards, >> Strahil Nikolov > > Basically you want two sets, one with nfsA and nfsB with no ordering > between them, and a second set with just resource-clone, ordered after > the first set. > > I believe the pcs syntax is: > > pcs constraint order set nfsA nfsB sequential=false require-all=false > set resource-clone > > sequential=false says nfsA and nfsB have no ordering between them, and > require-all=false says that resource-clone only needs one of them. > Won't that start clone instances on all nodes when either nfsA or nfsB is active? While he wants to start clone instance on A only if nfsA was started on A and start clone instance on B only if nfsB was started on B. The closest I can come up with is making nfsA/B a clone and ordering/colocating clones. That works during brief test. If nfs instance cannot be started on a node, resource-clone instance is not started either, but both are started on another node. > (I don't remember for sure the order of the sets in the command, i.e. > whether it's the primary set first or the dependent set first, but I > think that's right.) > ___ Manage your subscription: https://lists.clusterlabs.org/mailman/listinfo/users ClusterLabs home: https://www.clusterlabs.org/
Re: [ClusterLabs] Order set troubles
On Wed, 2021-03-24 at 09:27 +, Strahil Nikolov wrote: > Hello All, > > I have a trouble creating an order set . > The end goal is to create a 2 node cluster where nodeA will mount > nfsA , while nodeB will mount nfsB.On top of that a depended cloned > resource should start on the node only if nfsA or nfsB has started > locally. > > A prototype code would be something like: > pcs constraint order start (nfsA or nfsB) then start resource-clone > > I tried to create a set like this, but it works only on nodeB: > pcs constraint order set nfsA nfsB resource-clone > > Any idea how to implement that order constraint ? > Thanks in advance. > > Best Regards, > Strahil Nikolov Basically you want two sets, one with nfsA and nfsB with no ordering between them, and a second set with just resource-clone, ordered after the first set. I believe the pcs syntax is: pcs constraint order set nfsA nfsB sequential=false require-all=false set resource-clone sequential=false says nfsA and nfsB have no ordering between them, and require-all=false says that resource-clone only needs one of them. (I don't remember for sure the order of the sets in the command, i.e. whether it's the primary set first or the dependent set first, but I think that's right.) -- Ken Gaillot ___ Manage your subscription: https://lists.clusterlabs.org/mailman/listinfo/users ClusterLabs home: https://www.clusterlabs.org/
Re: [ClusterLabs] WebSite_start_0 on node2 'error' (1): call=6, status='complete', exitreason='Failed to access httpd status page.'
On Wed, 2021-03-24 at 10:50 +, Jason Long wrote: > Thank you. > Form node1 and node2, I can ping the floating IP address > (192.168.56.9). > I stopped node1: > > # pcs cluster stop node1 > node1: Stopping Cluster (pacemaker)... > node1: Stopping Cluster (corosync)... > > And from both machines, I can ping the floating IP address: > > [root@node1 ~]# ping 192.168.56.9 > PING 192.168.56.9 (192.168.56.9) 56(84) bytes of data. > 64 bytes from 192.168.56.9: icmp_seq=1 ttl=64 time=0.504 ms > 64 bytes from 192.168.56.9: icmp_seq=2 ttl=64 time=0.750 ms > ... > > [root@node2 ~]# ping 192.168.56.9 > PING 192.168.56.9 (192.168.56.9) 56(84) bytes of data. > 64 bytes from 192.168.56.9: icmp_seq=1 ttl=64 time=0.423 ms > 64 bytes from 192.168.56.9: icmp_seq=2 ttl=64 time=0.096 ms > ... > > > So? Now you can proceed with the "Add Apache HTTP" section. Once apache is set up as a cluster resource, you should be able to contact the web server at the floating IP (or more realistically whatever name you've associated with that IP), and have the cluster fail over both the IP address and web server as needed. > On Wednesday, March 24, 2021, 02:41:44 AM GMT+4:30, Ken Gaillot < > kgail...@redhat.com> wrote: > > > > > > On Tue, 2021-03-23 at 20:15 +, Jason Long wrote: > > Thanks. > > The floating IP address must not use by other machines. I have two > > VMs that using "192.168.57.6" and "192.168.57.7". Could the > > floating > > IP address be "192.168.57.8"? > > Yes, if it's in the same subnet and not already in use by some other > machine. > > > Which part of my configuration is wrong? Why, when I disconnect > > node1, then node2 doesn't replace it? > > The first thing I would do is configure and test fencing. Once you're > confident fencing is working, add the floating IP address. Make sure > you can ping the floating IP address from some other machine. Then > test > fail-over and ensure you can still ping the floating IP. From there > it > should be straightforward. > > > > > > > > > > > > > > On Wednesday, March 24, 2021, 12:33:53 AM GMT+4:30, Ken Gaillot < > > kgail...@redhat.com> wrote: > > > > > > > > > > > > On Tue, 2021-03-23 at 19:07 +, Jason Long wrote: > > > Thanks, but I want to have a cluster with two nodes and nothing > > > more! > > > > The end result is to have 2 nodes with 3 IP addresses: > > > > * The first node has a permanently assigned IP address that it > > brings > > up when it boots; this address is not managed by the cluster > > > > * The second node also has a permanent address not managed by the > > cluster > > > > * A third, unused IP address from the same subnet is used as a > > "floating" IP address, which means the cluster can sometimes run it > > on > > the first node and sometimes on the second node. This IP address is > > the > > one that users will use to contact the service. > > > > That way, users always have a single address that they use, no > > matter > > which node is providing the service. > > > > > > > > > > > > > > > > > > > > On Tuesday, March 23, 2021, 07:59:57 PM GMT+4:30, Klaus Wenninger > > > < > > > kwenn...@redhat.com> wrote: > > > > > > > > > > > > > > > > > > On 3/23/21 4:07 PM, Jason Long wrote: > > > > Thank you. > > > > Thus, where I must define my node2 IP address? When node1 > > > > disconnected, I want node2 replace it. > > > > > > > > > > You just need a single IP address that you are assigning to the > > > virtual > > > IP resource. > > > And pacemaker is gonna move that IP address - along with the web- > > > proxy - > > > between > > > the 2 nodes. > > > Of course node1 & node2 have IP addresses that are being used > > > for > > > cluster-communication > > > but they are totally independent (well maybe in the same subnet > > > for > > > a > > > simple setup) > > > from the IP address your web-proxy is reachable at. > > > > > > Klaus > > > > > > > > > > > > > > > > > > > > > > > On Tuesday, March 23, 2021, 01:03:39 PM GMT+4:30, Klaus > > > > Wenninger > > > > < > > > > kwenn...@redhat.com> wrote: > > > > > > > > > > > > > > > > > > > > > > > > On 3/23/21 9:13 AM, Jason Long wrote: > > > > > Thank you. > > > > > But: > > > > > https://www.clusterlabs.org/pacemaker/doc/en-US/Pacemaker/1.1/html/Clusters_from_Scratch/ch06.html > > > > > ? > > > > > > > > > > The floating IP address is: > > > > > https://www.clusterlabs.org/pacemaker/doc/en-US/Pacemaker/1.1/html/Clusters_from_Scratch/_add_a_resource.html > > > > > In the "Warning" written: "The chosen address must not > > > > > already > > > > > be > > > > > in use on the network. Do not reuse an IP address one of the > > > > > nodes already has configured.", what does it mean? > > > > > > > > It means that if you would be using an IP that is already in > > > > use > > > > on your network - by one of your cluster-nodes or something > > > > else > > > > - > > > > pacemaker would possibly activate that IP and you would have > > > > a duplicate IP
Re: [ClusterLabs] WebSite_start_0 on node2 'error' (1): call=6, status='complete', exitreason='Failed to access httpd status page.'
Thank you. Form node1 and node2, I can ping the floating IP address (192.168.56.9). I stopped node1: # pcs cluster stop node1 node1: Stopping Cluster (pacemaker)... node1: Stopping Cluster (corosync)... And from both machines, I can ping the floating IP address: [root@node1 ~]# ping 192.168.56.9 PING 192.168.56.9 (192.168.56.9) 56(84) bytes of data. 64 bytes from 192.168.56.9: icmp_seq=1 ttl=64 time=0.504 ms 64 bytes from 192.168.56.9: icmp_seq=2 ttl=64 time=0.750 ms ... [root@node2 ~]# ping 192.168.56.9 PING 192.168.56.9 (192.168.56.9) 56(84) bytes of data. 64 bytes from 192.168.56.9: icmp_seq=1 ttl=64 time=0.423 ms 64 bytes from 192.168.56.9: icmp_seq=2 ttl=64 time=0.096 ms ... So? On Wednesday, March 24, 2021, 02:41:44 AM GMT+4:30, Ken Gaillot wrote: On Tue, 2021-03-23 at 20:15 +, Jason Long wrote: > Thanks. > The floating IP address must not use by other machines. I have two > VMs that using "192.168.57.6" and "192.168.57.7". Could the floating > IP address be "192.168.57.8"? Yes, if it's in the same subnet and not already in use by some other machine. > Which part of my configuration is wrong? Why, when I disconnect > node1, then node2 doesn't replace it? The first thing I would do is configure and test fencing. Once you're confident fencing is working, add the floating IP address. Make sure you can ping the floating IP address from some other machine. Then test fail-over and ensure you can still ping the floating IP. From there it should be straightforward. > > > > > > On Wednesday, March 24, 2021, 12:33:53 AM GMT+4:30, Ken Gaillot < > kgail...@redhat.com> wrote: > > > > > > On Tue, 2021-03-23 at 19:07 +, Jason Long wrote: > > Thanks, but I want to have a cluster with two nodes and nothing > > more! > > The end result is to have 2 nodes with 3 IP addresses: > > * The first node has a permanently assigned IP address that it brings > up when it boots; this address is not managed by the cluster > > * The second node also has a permanent address not managed by the > cluster > > * A third, unused IP address from the same subnet is used as a > "floating" IP address, which means the cluster can sometimes run it > on > the first node and sometimes on the second node. This IP address is > the > one that users will use to contact the service. > > That way, users always have a single address that they use, no matter > which node is providing the service. > > > > > > > > > > > > > On Tuesday, March 23, 2021, 07:59:57 PM GMT+4:30, Klaus Wenninger < > > kwenn...@redhat.com> wrote: > > > > > > > > > > > > On 3/23/21 4:07 PM, Jason Long wrote: > > > Thank you. > > > Thus, where I must define my node2 IP address? When node1 > > > disconnected, I want node2 replace it. > > > > > > > You just need a single IP address that you are assigning to the > > virtual > > IP resource. > > And pacemaker is gonna move that IP address - along with the web- > > proxy - > > between > > the 2 nodes. > > Of course node1 & node2 have IP addresses that are being used for > > cluster-communication > > but they are totally independent (well maybe in the same subnet for > > a > > simple setup) > > from the IP address your web-proxy is reachable at. > > > > Klaus > > > > > > > > > > > > > > > > > On Tuesday, March 23, 2021, 01:03:39 PM GMT+4:30, Klaus Wenninger > > > < > > > kwenn...@redhat.com> wrote: > > > > > > > > > > > > > > > > > > On 3/23/21 9:13 AM, Jason Long wrote: > > > > Thank you. > > > > But: > > > > https://www.clusterlabs.org/pacemaker/doc/en-US/Pacemaker/1.1/html/Clusters_from_Scratch/ch06.html > > > > ? > > > > > > > > The floating IP address is: > > > > https://www.clusterlabs.org/pacemaker/doc/en-US/Pacemaker/1.1/html/Clusters_from_Scratch/_add_a_resource.html > > > > In the "Warning" written: "The chosen address must not already > > > > be > > > > in use on the network. Do not reuse an IP address one of the > > > > nodes already has configured.", what does it mean? > > > > > > It means that if you would be using an IP that is already in use > > > on your network - by one of your cluster-nodes or something else > > > - > > > pacemaker would possibly activate that IP and you would have > > > a duplicate IP in your network. > > > Thus for the question below: Don't use the IP od node2 for > > > your floating IP. > > > > > > Klaus > > > > > > > In the below command, "IP" is the IP address of my node2? > > > > # pcs resource create ClusterIP > > > > ocf:heartbeat:IPaddr2 ip=192.168.122.120 cidr_netmask=32 op > > > > monitor interval=30s > > > > > > > > If yes, then I must update it with below command? > > > > > > > > # pcs resource update floating_ip ocf:heartbeat:IPaddr2 > > > > ip="Node2 > > > > IP" cidr_netmask=32 op monitor interval=30s > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tuesday, March 23, 2021, 12:02:15 AM GMT+4:30, Ken Gaillot < > > > > kgail...@redhat.com> wrote: > > > > > > > > > > > > > > > > > > > > >
[ClusterLabs] Order set troubles
Hello All, I have a trouble creating an order set . The end goal is to create a 2 node cluster where nodeA will mount nfsA , while nodeB will mount nfsB.On top of that a depended cloned resource should start on the node only if nfsA or nfsB has started locally. A prototype code would be something like: pcs constraint order start (nfsA or nfsB) then start resource-clone I tried to create a set like this, but it works only on nodeB: pcs constraint order set nfsA nfsB resource-clone Any idea how to implement that order constraint ? Thanks in advance. Best Regards, Strahil Nikolov ___ Manage your subscription: https://lists.clusterlabs.org/mailman/listinfo/users ClusterLabs home: https://www.clusterlabs.org/
[ClusterLabs] resource-agents v4.8.0
ClusterLabs is happy to announce resource-agents v4.8.0. Source code is available at: https://github.com/ClusterLabs/resource-agents/releases/tag/v4.8.0 The most significant enhancements in this release are: - bugfixes and enhancements: - awsvip: dont partially match similar IPs during monitor-action - aws agents: dont spam log files when getting token - galera/rabbitmq-cluster/redis: run crm_mon without performing validation to solve pcmk version mismatch issues between host and container(s) - podman: return OCF_NOT_RUNNING when monitor cmd fails (not running) - Filesystem: change force_unmount default to safe for RHEL9+ - Route: return OCF_NOT_RUNNING status if iface doesn't exist. - VirtualDomain: fix pid_status() on EL8 (and other distros with newer versions of qemu) (#1614) - anything: only write PID to pidfile (when sh prints message(s)) - azure-lb: redirect stdout and stderr to /dev/null to avoid nc dying with EPIPE error - configure: dont use OCF_ROOT_DIR from glue.h - docker-compose: use -f $YML in all calls to avoid issues when not using default YML file - gcp-vpc-move-route, gcp-vpc-move-vip: add project ID parameter - gcp-vpc-move-route: fix stop-action when route stopped, and fix check_conflicting_routes() - gcp-vpc-move-route: make "vpc_network" optional - gcp-vpc-move-vip: correctly return error when no instances are returned - ldirectord: added real servers threshold settings - mysql-common: check datadir permissions - nfsclient: fix stop-action when export not present - nfsserver: error-check unbind_tree - pgsql: make wal receiver check compatible with PostgreSQL >= 11 - spec: add BuildRequires for google lib The full list of changes for resource-agents is available at: https://github.com/ClusterLabs/resource-agents/blob/v4.8.0/ChangeLog Everyone is encouraged to download and test the new release. We do many regression tests and simulations, but we can't cover all possible use cases, so your feedback is important and appreciated. Many thanks to all the contributors to this release. Best, The resource-agents maintainers ___ Manage your subscription: https://lists.clusterlabs.org/mailman/listinfo/users ClusterLabs home: https://www.clusterlabs.org/
Re: [ClusterLabs] Q: Is there any plan for pcs to support corosync-notifyd?
On Thu, Mar 18, 2021 at 6:31 PM Jehan-Guillaume de Rorthais wrote: > > On Thu, 18 Mar 2021 17:29:59 +0900 > 井上和徳 wrote: > > > On Tue, Mar 16, 2021 at 10:23 PM Jehan-Guillaume de Rorthais > > wrote: > > > > > > > On Tue, 16 Mar 2021, 09:58 井上和徳, wrote: > > > > > > > > > Hi! > > > > > > > > > > Cluster (corosync and pacemaker) can be started with pcs, > > > > > but corosync-notifyd needs to be started separately with systemctl, > > > > > which is not easy to use. > > > > > > Maybe you can add to the [Install] section of corosync-notifyd a > > > dependency > > > with corosync? Eg.: > > > > > > WantedBy=corosync.service > > > > > > (use systemctl edit corosync-notifyd) > > > > > > Then re-enable the service (without starting it by hands). > > > > I appreciate your proposal. How to use WantedBy was helpful! > > However, since I want to start the cluster (corosync, pacemaker) only > > manually, it is unacceptable to start corosync along with corosync-notifyd > > at > > OS boot time. > > This is perfectly fine. > > I suppose corosync-notifyd is starting because the default service config has: > > [Install] > WantedBy=multi-user.target > > If you want corosync-notifyd to be enabled ONLY on corosync startup, but noton > system startup, you have to remove this startup dependency on "multi-user" > target. So, your drop-in setup of corosync-notifyd shoudl be (remove leading > spaces): > > cat < [Install] > WantedBy= > WantedBy=corosync.service > EOF > Oh, that makes sense! With this setting, it seems that the purpose can be achieved. Thank you. > The first empty WantedBy= removes any pre-existing dependency. > > Then disable/enable corosync-notifyd again to install the new dependency and > remove old ones. It should only creates ONE link in > "/etc/systemd/system/corosync.service.wants/corosync-notifyd.service", > but NOT in "/etc/systemd/system/multi-user.target.wants/". > > Regards, ___ Manage your subscription: https://lists.clusterlabs.org/mailman/listinfo/users ClusterLabs home: https://www.clusterlabs.org/
[ClusterLabs] Antw: Re: Antw: [EXT] Re: WebSite_start_0 on node2 'error' (1): call=6, status='complete', exitreason='Failed to access httpd status page.'
Hi! I'm beginning to get the impression that you are quite ignorant to the advice people give to you: Either you have to use pacemaker the way it is intended to be used, or you have to look for another product. So if you want any HA network service managed by pacemaker, the service has to use an IP address separate from the nodes' IP addresses, and the cluster has to manage that IP address. Maybe read what I wrote about the very same subject recently. As an alternative, you could set up a complete VM (also with a separate IP address) and let the cluster manage that VM. So either accept that, or don't bother us with usage requests that pacemaker was not designed for. Regards, Ulrich Windl >>> Jason Long schrieb am 23.03.2021 um 20:11 in Nachricht <1931835290.2793901.1616526692...@mail.yahoo.com>: > Thank you. > I can't use pacemaker with two nodes? Is it not the goal of "Clusters from > Scratch" book? > > > > > > > On Tuesday, March 23, 2021, 08:10:57 PM GMT+4:30, Ulrich Windl > wrote: > > > > > Jason Long schrieb am 23.03.2021 um 16:07 in > Nachricht > <848851435.2725012.1616512048...@mail.yahoo.com>: >> Thank you. >> Thus, where I must define my node2 IP address? When node1 disconnected, I >> want node2 replace it. > > As most people (including me) tried to explain: If you want that, you need > another product, not pacemaker. > >> >> >> >> >> >> >> On Tuesday, March 23, 2021, 01:03:39 PM GMT+4:30, Klaus Wenninger >> wrote: >> >> >> >> >> >> On 3/23/21 9:13 AM, Jason Long wrote: >>> Thank you. >>> But: >> > https://www.clusterlabs.org/pacemaker/doc/en-US/Pacemaker/1.1/html/Clusters_ > f > >> rom_Scratch/ch06.html >>> ? >>> >>> The floating IP address is: >> > https://www.clusterlabs.org/pacemaker/doc/en-US/Pacemaker/1.1/html/Clusters_ > f > >> rom_Scratch/_add_a_resource.html >>> In the "Warning" written: "The chosen address must not already be in use on > >> the network. Do not reuse an IP address one of the nodes already has >> configured.", what does it mean? >> It means that if you would be using an IP that is already in use >> on your network - by one of your cluster-nodes or something else - >> pacemaker would possibly activate that IP and you would have >> a duplicate IP in your network. >> Thus for the question below: Don't use the IP od node2 for >> your floating IP. >> >> Klaus >> >>> >>> In the below command, "IP" is the IP address of my node2? >>> # pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip=192.168.122.120 >> cidr_netmask=32 op monitor interval=30s >>> >>> If yes, then I must update it with below command? >>> >>> # pcs resource update floating_ip ocf:heartbeat:IPaddr2 ip="Node2 IP" >> cidr_netmask=32 op monitor interval=30s >>> >>> >>> >>> >>> >>> >>> On Tuesday, March 23, 2021, 12:02:15 AM GMT+4:30, Ken Gaillot >> wrote: >>> >>> >>> >>> >>> >>> On Mon, 2021-03-22 at 17:31 +, Jason Long wrote: Thank you. From chapter 1 to 6, I never saw anything about configuring the floating IP address! Am I wrong? >>> Hi, >>> >>> Chapter 6 should be "Create an Active/Passive Cluster", which adds a >>> floating IP, then Chapter 7 is "Add Apache HTTP Server as a Cluster >>> Service". >>> >>> >>> On Monday, March 22, 2021, 07:06:47 PM GMT+4:30, Ken Gaillot < kgail...@redhat.com> wrote: On Mon, 2021-03-22 at 08:15 +, Jason Long wrote: > Thank you. > > My test lab use VirtualBox with two VMs as below: > VM1: This VM has two NICs (NAT, Host-only Adapter) > VM2: This VM has one NIC (Host-only Adapter) > > On VM1, I use the NAT interface for the port forwarding: > "127.0.0.1:2080" on Host FORWARDING TO 127.0.0.1:80 on Guest. > > > Yes, "systemctl" tell me: > > # systemctl is-enabled httpd.service > disabled > > I rebooted my nodes and one of the problems solved: > https://paste.ubuntu.com/p/7cQQtsXFPV/ > > I did: > # pcs resource defaults resource-stickiness=100 > > > When I browse "127.0.0.1:2080" then it shows me "My Test Site - > node1". > > I have two problems: > > 1- When I stopped the node1 VM and refresh the page then I can't > see > "My Test Site - node2"? > > # pcs cluster stop node1 > node1: Stopping Cluster (pacemaker)... > node1: Stopping Cluster (corosync)... > > # pcs status > Error: error running crm_mon, is pacemaker running? > Could not connect to the CIB: Transport endpoint is not connected > crm_mon: Error: cluster is not available on this node Hi, pcs status doesn't test the web site, it shows the internal cluster status. Since the cluster isn't running on that node, it can't show anything. However the website is still active on the other node, and reachable from this node. You can confirm that by using wget or curl with the public web site URL (the floating IP