Here's a checklist in rough sequence aiming to do this without unwanted shard relocation.
- Add an ES node attribute to "tag" the backing storage type for a given host.
- Prepare an ELK7 logstash template with a routing allocation rule to ensure new indices are written to HDD (initially) using the above mentioned attribute.
- Manually set the routing allocation for all existing indices to require "disktype":"hdd".
- Add new SSD hosts to ES cluster.
- Deploy an updated logstash template with routing allocation requiring "disktype":"ssd" for new indices.
- Add a curator job (or similar) to require "disktype":"hdd" 7 days(?) after creation.