# ES migration options

**URL:** <https://discuss.elastic.co/t/es-migration-options/203703>\
**Category:** Elasticsearch\
**Created:** [October 15, 2019, 6:17pm UTC](https://discuss.elastic.co/t/es-migration-options/203703 "2019-10-15T18:17:40Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![SpeedDaemon](https://avatars.discourse-cdn.com/v4/letter/s/4af34b/32.png) [@SpeedDaemon](https://discuss.elastic.co/u/SpeedDaemon)\
**Post date:** [October 15, 2019, 6:17pm UTC](https://discuss.elastic.co/t/es-migration-options/203703/1 "2019-10-15T18:17:40Z")

</div>

I'm currently in the process of moving an Elasticsearch cluster from VM/SAN to physical/local disk.  
Current cluster is 6 VMs, each with 2 data nodes and either a master or client node (total 3 master, 3 client, 12 data). Index shards/replicas are 6/1.  
New cluster is 4 physicals, each with 7 data nodes, 1 master and 1 client (total 4 master, 4 client, 28 data), same 6/1 shard/replica.  
Both clusters will be 7.1.1

When I look around for migration methods, I see things like logstash (did it this way last time, since I wanted to do some processing on the way over), or snapshots, etc.

My question is, can I not just add all the new nodes into the cluster, let it re-organize/stabilize, switch the load balancer to point to the new client nodes, then start removing the old nodes? I never see this offered as a migration solution, so I keep thinking there must be a reason why. 🙂

---

<div class="post-metadata">

**Author:** ![rugenl](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rugenl/32/12887_2.png) [@rugenl](https://discuss.elastic.co/u/rugenl)\
**Post date:** [October 15, 2019, 6:56pm UTC](https://discuss.elastic.co/t/es-migration-options/203703/2 "2019-10-15T18:56:00Z")

</div>

I think in the 7.x world, you need to tell the cluster that the old masters are leaving to keep the master voting working. [https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-discovery-adding-removing-nodes.html#modules-discovery-removing-nodes](https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-discovery-adding-removing-nodes.html#modules-discovery-removing-nodes)

---

<div class="post-metadata">

**Author:** ![SpeedDaemon](https://avatars.discourse-cdn.com/v4/letter/s/4af34b/32.png) [@SpeedDaemon](https://discuss.elastic.co/u/SpeedDaemon)\
**Post date:** [October 15, 2019, 7:42pm UTC](https://discuss.elastic.co/t/es-migration-options/203703/3 "2019-10-15T19:42:14Z")

</div>

I think that's mostly an issue if you shut down a quorum's worth of masters all at once. I'd be shutting down nodes slowly over the space of a week or two in order to give things time to re-replicate and stabilize.

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [October 15, 2019, 8:37pm UTC](https://discuss.elastic.co/t/es-migration-options/203703/4 "2019-10-15T20:37:56Z")

</div>

> [@SpeedDaemon](#):
>
> My question is, can I not just add all the new nodes into the cluster, let it re-organize/stabilize, switch the load balancer to point to the new client nodes, then start removing the old nodes?

Yes, this should work just fine. I recommend fully evacuating each node using a [shard allocation filter](https://www.elastic.co/guide/en/elasticsearch/reference/current/allocation-filtering.html) before shutting it down. It mostly works to just shut them down gradually and wait for green but there are some corner cases that you can avoid with a proper evacuation first. Shut down the old masters one at a time and make sure each one has properly gone from the cluster before shutting down the next one.

> [@SpeedDaemon](#):
>
> I never see this offered as a migration solution, so I keep thinking there must be a reason why.

I don't know that we document any specific migration techniques do we?

---

<div class="post-metadata">

**Author:** ![SpeedDaemon](https://avatars.discourse-cdn.com/v4/letter/s/4af34b/32.png) [@SpeedDaemon](https://discuss.elastic.co/u/SpeedDaemon)\
**Post date:** [October 17, 2019, 4:28pm UTC](https://discuss.elastic.co/t/es-migration-options/203703/5 "2019-10-17T16:28:54Z")

</div>

Re: evacuating nodes: that was definitely the plan.

I don't think there is any official documentation, but it is a fairly common question according to search results, and I've never seen this offered as a solution.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [November 14, 2019, 4:29pm UTC](https://discuss.elastic.co/t/es-migration-options/203703/6 "2019-11-14T16:29:19Z")

</div>

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