CSS supports decoupled storage and compute. That is, indexes can be frozen and their data can be dumped to OBS to reduce the storage cost of cold data. This document describes how to use index lifecycle management to automatically freeze indexes at a specific time to decouple storage and compute.
In this example, a lifecycle policy is created for an Elasticsearch 7.10.2 cluster. According to this policy, a newly created index is automatically frozen in three days, with data dumped to OBS; and deleted in seven days.
Figure 1 Storage-compute decoupling

Only Elasticsearch 7.6.2 and 7.10.2 clusters support decoupled storage and compute.
The Elasticsearch cluster is available.
The left part of the console is the command input box, and the triangle icon in its upper-right corner is the execution button. The right part shows the execution result.
Policy description: Three days after an index is created, the API for freezing indexes is automatically called to dump data to OBS. Seven days after index creation, the index is deleted.
PUT _opendistro/_ism/policies/hot_warm_policy{"policy": {"description": "hot warm archive delete workflow","error_notification": null,"default_state": "hot","states": [{"name": "hot","actions": [],"transitions": [{"state_name": "warm","conditions": {"min_index_age": "3d"}}]},{"name": "warm","actions": [{"freeze_low_cost": {}}],"transitions": [{"state_name": "delete","conditions": {"min_index_age": "7d"}}]},{"name": "delete","actions": [{"delete": {}}],"transitions": []}]}}
Template description: All the new indexes starting with data are automatically associated with the lifecycle policy hot_warm_policy.
PUT _template/template_hot_warm{"index_patterns": "data*","settings": {"number_of_replicas": 5,"number_of_shards": 1,"opendistro.index_state_management.policy_id": "hot_warm_policy"},"mappings": {"properties": {"name": {"type": "text"}}}}
Parameter | Description |
|---|---|
number_of_shards | Number of index shards |
number_of_replicas | Number of index shard replicas |
opendistro.index_state_management.policy_id | Lifecycle policy name |
POST data-2022-06-06/_bulk{"index":{}}{"name":"name1"}{"index":{}}{"name":"name2"}{"index":{}}{"name":"name3"}{"index":{}}{"name":"name4"}{"index":{}}{"name":"name5"}{"index":{}}{"name":"name6"}
GET _cat/freeze_indices?s=i&v
The index generated three days ago is expected to be frozen.
health status index uuid pri rep docs.count docs.deleted store.size pri.store.sizegreen open data-2022-06-06 x8ab5NX6T3Ox_xoGUanogQ 1 1 6 0 7.6kb 3.8kb