dovecot director and keepalived

Paterakis E. Ioannis jpat at uoc.gr
Mon Mar 15 21:43:26 EET 2021


On 15/3/2021 9:11 μ.μ., Aki Tuomi wrote:
>> On 15/03/2021 20:54 Paterakis E. Ioannis <jpat at uoc.gr> wrote:
>>
>>   
>> On 15/3/2021 6:09 μ.μ., Steven Varco wrote:
>>> Hi John
>>>
>>> Thanks for you input.
>>>
>>> So you basically state that („physically“) separating the director servers from keepalive/haproxy servers is the only option?
>>> I would like to avoid setting up two additional machines for that whenever possible, as any node more in the chain potentially is another point of failure… ;)
>> Nope, it's not the only option. You can always have all three daemons
>> (keepalived/haproxy/director) on each machine. Keepalived will handle
>> the floating ip job, haproxies will have no problems with the floating
>> ip, the directors will always be binded to the static ips of the
>> machines and have their setup in the haproxies. That's all.
>>
>> But, if you plan to make a Highly available environment, u have to
>> consider splitting your services to different VMs, and them to different
>> hypervisors in order to be as Highly available as you can....
>>
>> John
> The point of dovecot director is that it acts as a proxy that always routes users to same backend. You can use keepalived, if it supports external commands, to maybe tell director which backends are up / down.

It's not keepalived's work to tell the directors which backend is 
up/down. You can use poolmon for that. keepalived will make sure the 
floating ip will always be assigned on an alive haproxy. Then it's 
haproxies' work to check the aliveness of directors. Then It's Directors 
job to assign the users to the same dovecot backend all the time, and so 
on....

Don't mix things.

J



More information about the dovecot mailing list