更新时间:2026-01-09 GMT+08:00
分享

磁盘空间不足

问题描述

磁盘空间不足是Elasticsearch/OpenSearch的一个或多个磁盘分区已使用空间接近或达到其总容量上限。这种情况可能导致依赖该磁盘分区运行的服务出现性能下降、功能异常甚至完全停止。典型现象包括:

  • 集群数据节点容量超限,导致数据磁盘使用率超过85%。集群无法新建索引。
  • 集群数据节点容量超限,导致数据磁盘使用率超过90%。集群进入只读保护模式,无法写入数据。
  • 集群写入过快,集群来不及进入只读,导致磁盘使用率100%。数据磁盘打满,导致进程异常。

问题原因

  • 分片不均:数据分片未均匀分布,部分节点磁盘使用率过高,导致服务异常。
  • 磁盘本身容量不足: 分配给服务器或服务的磁盘分区容量本身就太小,无法满足当前业务需求。

解决方法

  1. 检查分片分布,查看各节点的分片数量,确认是否存在分片集中现象。
    GET _cat/shards?v

    当存在分片不均时,可以执行如下步骤修复:

    1. 通过_cluster/reroute API手动迁移分片到负载较低的节点。
      POST _cluster/reroute
      {
        "commands": [
          {
            "move": {
              "index": "index_name",	// 目标索引名称
              "shard": 0,		// 目标分片ID
              "from_node": "node1",	// 源节点ID
              "to_node": "node2"	// 目标节点ID,负载较低的节点
            }
          }
        ]
      }
    2. 减少副本数,降低分片数量,减少存储开销。
      PUT /index_name/_settings
      {
        "number_of_replicas": 1
      }
  2. 如果不存在分片不均的情况,则可以尝试清理数据,释放磁盘空间。

    删除无用的索引数据。

    DELETE {index_name}
  3. 数据清理无效果,则可以扩容磁盘,增加节点存储容量,提升磁盘空间。

相关文档