Moving nodes across allocators


I've done some investigation on how to move nodes across allocators and I find it very limited in terms of options where a node can be moved to. Please correct me if I'm wrong. I have the following ECE topology:

Zone A - allocator 1
Zone B - allocator 2
Zone C - allocator 3 + allocator 4

For a cluster having nodes in all 3 zones, it's possible to move ELS node only inside Zone C as this is the only one having two allocators. I can't move a node from allocator 1 to allocator 4 since the deployment specifies that nodes must be in 3 zones, and a node in Zone A can't be moved out to another zone, because it would lead to a cluster having two zones only.

Does it mean that a small ECE installation with only 3 nodes and clusters having nodes in all 3 zones effectively can't use this feature at all? Actually, any ECE installation would have to have at least two allocators per zone in this case. Is that correct?

Hey @osykora,

When thinking about HA setup in ECE it's important to consider a few scenarios: node failure, allocator failure, AZ failure, and a region (entire ECE installtion) failure.
What you are describing is a scenario of an allocator failure. For users with only 3 allocators across 3 AZs an allocator failure is the same as an AZ failure. Meaning you will have to spin up a new allocator in order to regain 2 replicas across 3 AZs, and you will not be able to move nodes to another allocator in another AZ since then the 3 AZs configuration will not be achieved.

If using 2 AZs with 1 replica, when 1 allocator goes down you can still move the nodes to an allocator in a different AZ, where there are no other nodes from the same clusters since in that case the 2 AZs configuration will still be achieved.

Hope this helps.

Thanks @zanbel for the explanation. This means that ECE works as expected in the scenario I described and I understood it correctly. That's great. My only concern was that there's nothing about AZ in the documentation and how it affects the behavior. I thought any allocator could be used to temporarily accommodate a node after I read it, but it didn't work for me obviously :slight_smile:


That's a good point. I'll open an internal issue to make sure we better describe this use case in our documentation.

Thanks for your feedback!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.