适用范围与前提
用于 Elasticsearch 日志集群出现磁盘告警、分片迁移或写入被磁盘保护阻断时的诊断与容量治理。执行前确认部署方式、版本、数据节点角色、保留要求和可恢复快照。以下 API 示例用于 Kibana Dev Tools 的只读检查;大写索引名称为占位符。不同部署的可配置能力有差异,实际集群设置优先于本文示例。
正确理解磁盘水位
low 水位主要限制向空间不足节点继续分配分片,high 水位会促使分片迁出,flood-stage 则可对受影响索引施加写入保护。常见默认使用率为 85%、90% 和 95%,但要同时核对显式设置、可用空间上限规则及节点角色。百分比表示已用空间,字节配置表示剩余空间,不要混淆方向。某个节点过满可能影响包含其分片的整个索引,不能仅看全群平均使用率。
先定位空间与分配原因
先读取有效设置、节点磁盘和分片分布,再关联写入拒绝与系统日志中的时间。检查磁盘增长来自业务数据、其他文件还是异常积压,并确认同一数据层是否存在可接收分片的容量。
GET _cluster/settings?include_defaults=true&flat_settings=true
GET _cat/allocation?v
GET _cat/shards?v
GET _cluster/health
GET INDEX_NAME/_ilm/explain分片未能迁走时,应继续核对分配过滤、数据层规则、副本约束和节点健康;增加了不符合条件的节点,不一定能缓解当前水位。保留原始输出,避免在同时调整多个参数后丢失判断依据。
按可恢复性选择止血动作
优先评估扩容合适的数据层、减少非必要写入或清理已确认可清理的非索引文件。涉及索引删除时,先核对精确名称、归属、保留期、当前写入目标和快照恢复能力,再使用团队批准的操作流程。不要从数据目录手工删除分片文件,也不要把提高水位或关闭磁盘阈值当作容量修复。空间恢复后再确认写入保护是否自动解除,并通过受控业务探针验证写入链路。
将保留要求落实为生命周期
按数据集定义可检索期限、冷热访问需求与归档方式,再配置适合部署的生命周期策略。使用 ILM 时,应核对 rollover 条件、模板绑定及后续阶段,不能只创建策略而不检查实际索引是否使用。已经 rollover 的索引,后续阶段的年龄计算需要结合 rollover 时间理解。删除阶段不等于备份;如果数据必须可恢复,另行验证快照和恢复流程。定期检查停留在错误步骤或长期等待条件的索引。
验收与容量复盘
验收覆盖各数据节点水位下降、分片恢复进度、受影响索引写入、采集积压排空和生命周期运行状态。观察窗口应覆盖常规写入峰值,并确认恢复过程中磁盘没有再次快速逼近阈值。复盘容量时记录每日净增长、最大分片、保留数据量、副本开销与恢复余量;根据趋势提前安排扩容,而不是把默认水位当作日常容量目标。
停止与回退条件
如果没有可验证的恢复副本、索引归属不清或删除范围无法精确限定,停止数据删除。若迁移期间持续出现节点失联或集群健康恶化,暂停扩大变更并先排查节点与存储。生命周期或模板变更可以恢复先前配置,但已经删除的数据只能依赖可用备份恢复;恢复配置不会撤销删除。任何临时参数调整都应记录原值、期限和负责人,并在容量稳定后复核。