I want to store hot, warm and cold indices in different disk partitions on the same node. for example, I have different partitions on the same node like 100GB, 250GB and 300GB. So, how can I store indices across different disks?
That is not possible. You need different nodes for each tier.
Multiple data paths can be used on an Elasticsearch node, but you can't choose which data goes where. Here is the documentation about it: Important Elasticsearch configuration | Elasticsearch Guide [8.1] | Elastic
The only way to have multiple partitions used for ILM would be to have multiple nodes running locally (with Docker for example). But keep in mind that the point of ILM with hot/warm/cold indices is to optimize cost/performance by allowing you to have nodes with different hardware depending on their roles. So this wouldn't make much sense on a single node, except for testing purposes.