Moving nodes across allocators

Hi,

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 https://www.elastic.co/guide/en/cloud-enterprise/current/ece-move-nodes.html 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:

Thanks

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!