更新时间:2026-01-09 GMT+08:00
磁盘空间不足
问题描述
磁盘空间不足是Elasticsearch/OpenSearch的一个或多个磁盘分区已使用空间接近或达到其总容量上限。这种情况可能导致依赖该磁盘分区运行的服务出现性能下降、功能异常甚至完全停止。典型现象包括:
- 集群数据节点容量超限,导致数据磁盘使用率超过85%。集群无法新建索引。
- 集群数据节点容量超限,导致数据磁盘使用率超过90%。集群进入只读保护模式,无法写入数据。
- 集群写入过快,集群来不及进入只读,导致磁盘使用率100%。数据磁盘打满,导致进程异常。
问题原因
- 分片不均:数据分片未均匀分布,部分节点磁盘使用率过高,导致服务异常。
- 磁盘本身容量不足: 分配给服务器或服务的磁盘分区容量本身就太小,无法满足当前业务需求。
解决方法
- 检查分片分布,查看各节点的分片数量,确认是否存在分片集中现象。
GET _cat/shards?v
当存在分片不均时,可以执行如下步骤修复:
- 通过_cluster/reroute API手动迁移分片到负载较低的节点。
POST _cluster/reroute { "commands": [ { "move": { "index": "index_name", // 目标索引名称 "shard": 0, // 目标分片ID "from_node": "node1", // 源节点ID "to_node": "node2" // 目标节点ID,负载较低的节点 } } ] } - 减少副本数,降低分片数量,减少存储开销。
PUT /index_name/_settings { "number_of_replicas": 1 }
- 通过_cluster/reroute API手动迁移分片到负载较低的节点。
- 如果不存在分片不均的情况,则可以尝试清理数据,释放磁盘空间。
DELETE {index_name} - 数据清理无效果,则可以扩容磁盘,增加节点存储容量,提升磁盘空间。
父主题: 集群不可用