Re: [ClusterLabs] Loadbalancing using Pacemaker

2015-11-09 Thread Ken Gaillot
On 11/08/2015 11:29 AM, didier tanti wrote:
> Thank You Michael,
> In fact I spent some more time looking at documentions and indeed Pacemaker 
> is only used for resource control and management. To have my HA solution I 
> will need to use Corosync directly as well. The OpenAIS API is pretty well 
> described and I am starting to understand what must be done (basically link 
> my binaries with corosync and use the messages and other APIs to have a 
> accurate states of remote objects/services). 
> As for the Virtual IP I believe it makes more sense to use it in case of 
> Active/Standby services. In my case B services being both active i would need 
> to implement the load balancing within service A (using openAIS/Corosync API 
> to be updated of service B state changes and how to reach the service B I 
> have elected through round robin). For those specific components I don't 
> foreseen the need of Virtual IP. However I may use VIP for my service A and 
> other components!

Hi,

You may also want to look at Pacemaker's notification capability to call
an external script for node/resource changes. The latest upstream code
(which will be part of 1.1.14) has some new built-in notification
functionality, which is event-driven.

For prior versions, you can use the ClusterMon resource with -E in the
extra_options to achieve the same effect, but that is polling at regular
intervals rather than truly event-driven:
http://clusterlabs.org/doc/en-US/Pacemaker/1.1-pcs/html-single/Pacemaker_Explained/index.html#idm231308442928

> Thanks, 
> 
> 
>  Le Dimanche 8 novembre 2015 16h24, Michael Schwartzkopff  
> a écrit :
>
> 
>  Am Samstag, 7. November 2015, 09:40:47 schrieb didier tanti:
>> Hello, i am new to Pacemaker and have a question concerning how to have my
>> cluster services aware of the state and location of the other services in
>> the cluster.  Example:
>> Service A is running on Host XService B1 is running on Host XService B2 is
>> running on Host Y Which API would allow my Service A to send IPC messages
>> to services B1 and B2 in a round robin manner?(for example how Service A
>> would be aware of which B is up and active (B1, B2 or both), and how A
>> would even be able to know on which host B1 or B2 is running?) It looks
>> very basic but i cannot find information on this on clusterlabs.org Is
>> there basic tutorial that would explain how to achieve this ? (I guess i
>> would need to link my service binaries with some pacemaker /corosync libs
>> and use some API ?) Thanks for helping out,
> 
> Hi,
> 
> this task is beyond the ability of pacemaker. Your application has to know 
> how 
> to handle that.
> 
> Best solution would be to use virtual IP addresses for services B1 and B2. 
> make sure that the IP addresses run together with the services. Now you 
> service A only has to talk to the IP addresses, no matter on which host they 
> run.
> 
> pacemaker could take care that they run on different hosts is possible.
> 
> Mit freundlichen Grüßen,
> 
> Michael Schwartzkopff


___
Users mailing list: Users@clusterlabs.org
http://clusterlabs.org/mailman/listinfo/users

Project Home: http://www.clusterlabs.org
Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
Bugs: http://bugs.clusterlabs.org


Re: [ClusterLabs] Loadbalancing using Pacemaker

2015-11-08 Thread user . clusterlabs . org

> On 8. nov. 2015, at 16.24, Michael Schwartzkopff  wrote:
> 
> Am Samstag, 7. November 2015, 09:40:47 schrieb didier tanti:
>> Hello, i am new to Pacemaker and have a question concerning how to have my
>> cluster services aware of the state and location of the other services in
>> the cluster.  Example:
>> Service A is running on Host XService B1 is running on Host XService B2 is
>> running on Host Y Which API would allow my Service A to send IPC messages
>> to services B1 and B2 in a round robin manner?(for example how Service A
>> would be aware of which B is up and active (B1, B2 or both), and how A
>> would even be able to know on which host B1 or B2 is running?) It looks
>> very basic but i cannot find information on this on clusterlabs.org Is
>> there basic tutorial that would explain how to achieve this ? (I guess i
>> would need to link my service binaries with some pacemaker /corosync libs
>> and use some API ?) Thanks for helping out,
> 
> Hi,
> 
> this task is beyond the ability of pacemaker. Your application has to know 
> how 
> to handle that.
> 
> Best solution would be to use virtual IP addresses for services B1 and B2
Yes and maybe through a IP load balancer like nginx or haproxy to do the round 
robin

 
> make sure that the IP addresses run together with the services. Now you 
> service A only has to talk to the IP addresses, no matter on which host they 
> run.
> 
> pacemaker could take care that they run on different hosts is possible.
> 
> Mit freundlichen Grüßen,
> 
> Michael Schwartzkopff
> 
> -- 
> [*] sys4 AG
> 
> http://sys4.de, +49 (89) 30 90 46 64, +49 (162) 165 0044
> Franziskanerstraße 15, 81669 München
> 
> Sitz der Gesellschaft: München, Amtsgericht München: HRB 199263
> Vorstand: Patrick Ben Koetter, Marc Schiffbauer
> Aufsichtsratsvorsitzender: Florian 
> Kirstein___
> Users mailing list: Users@clusterlabs.org
> http://clusterlabs.org/mailman/listinfo/users
> 
> Project Home: http://www.clusterlabs.org
> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs: http://bugs.clusterlabs.org


___
Users mailing list: Users@clusterlabs.org
http://clusterlabs.org/mailman/listinfo/users

Project Home: http://www.clusterlabs.org
Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
Bugs: http://bugs.clusterlabs.org


Re: [ClusterLabs] Loadbalancing using Pacemaker

2015-11-08 Thread Michael Schwartzkopff
Am Samstag, 7. November 2015, 09:40:47 schrieb didier tanti:
> Hello, i am new to Pacemaker and have a question concerning how to have my
> cluster services aware of the state and location of the other services in
> the cluster.  Example:
> Service A is running on Host XService B1 is running on Host XService B2 is
> running on Host Y Which API would allow my Service A to send IPC messages
> to services B1 and B2 in a round robin manner?(for example how Service A
> would be aware of which B is up and active (B1, B2 or both), and how A
> would even be able to know on which host B1 or B2 is running?) It looks
> very basic but i cannot find information on this on clusterlabs.org Is
> there basic tutorial that would explain how to achieve this ? (I guess i
> would need to link my service binaries with some pacemaker /corosync libs
> and use some API ?) Thanks for helping out,

Hi,

this task is beyond the ability of pacemaker. Your application has to know how 
to handle that.

Best solution would be to use virtual IP addresses for services B1 and B2. 
make sure that the IP addresses run together with the services. Now you 
service A only has to talk to the IP addresses, no matter on which host they 
run.

pacemaker could take care that they run on different hosts is possible.

Mit freundlichen Grüßen,

Michael Schwartzkopff

-- 
[*] sys4 AG

http://sys4.de, +49 (89) 30 90 46 64, +49 (162) 165 0044
Franziskanerstraße 15, 81669 München

Sitz der Gesellschaft: München, Amtsgericht München: HRB 199263
Vorstand: Patrick Ben Koetter, Marc Schiffbauer
Aufsichtsratsvorsitzender: Florian Kirstein

signature.asc
Description: This is a digitally signed message part.
___
Users mailing list: Users@clusterlabs.org
http://clusterlabs.org/mailman/listinfo/users

Project Home: http://www.clusterlabs.org
Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
Bugs: http://bugs.clusterlabs.org


Re: [ClusterLabs] Loadbalancing using Pacemaker

2015-11-08 Thread didier tanti
Thank You Michael,
In fact I spent some more time looking at documentions and indeed Pacemaker is 
only used for resource control and management. To have my HA solution I will 
need to use Corosync directly as well. The OpenAIS API is pretty well described 
and I am starting to understand what must be done (basically link my binaries 
with corosync and use the messages and other APIs to have a accurate states of 
remote objects/services). 
As for the Virtual IP I believe it makes more sense to use it in case of 
Active/Standby services. In my case B services being both active i would need 
to implement the load balancing within service A (using openAIS/Corosync API to 
be updated of service B state changes and how to reach the service B I have 
elected through round robin). For those specific components I don't foreseen 
the need of Virtual IP. However I may use VIP for my service A and other 
components!
Thanks, 


 Le Dimanche 8 novembre 2015 16h24, Michael Schwartzkopff  a 
écrit :
   

 Am Samstag, 7. November 2015, 09:40:47 schrieb didier tanti:
> Hello, i am new to Pacemaker and have a question concerning how to have my
> cluster services aware of the state and location of the other services in
> the cluster.  Example:
> Service A is running on Host XService B1 is running on Host XService B2 is
> running on Host Y Which API would allow my Service A to send IPC messages
> to services B1 and B2 in a round robin manner?(for example how Service A
> would be aware of which B is up and active (B1, B2 or both), and how A
> would even be able to know on which host B1 or B2 is running?) It looks
> very basic but i cannot find information on this on clusterlabs.org Is
> there basic tutorial that would explain how to achieve this ? (I guess i
> would need to link my service binaries with some pacemaker /corosync libs
> and use some API ?) Thanks for helping out,

Hi,

this task is beyond the ability of pacemaker. Your application has to know how 
to handle that.

Best solution would be to use virtual IP addresses for services B1 and B2. 
make sure that the IP addresses run together with the services. Now you 
service A only has to talk to the IP addresses, no matter on which host they 
run.

pacemaker could take care that they run on different hosts is possible.

Mit freundlichen Grüßen,

Michael Schwartzkopff

-- 
[*] sys4 AG

http://sys4.de, +49 (89) 30 90 46 64, +49 (162) 165 0044
Franziskanerstraße 15, 81669 München

Sitz der Gesellschaft: München, Amtsgericht München: HRB 199263
Vorstand: Patrick Ben Koetter, Marc Schiffbauer
Aufsichtsratsvorsitzender: Florian Kirstein

  ___
Users mailing list: Users@clusterlabs.org
http://clusterlabs.org/mailman/listinfo/users

Project Home: http://www.clusterlabs.org
Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
Bugs: http://bugs.clusterlabs.org