8.4 备份、调优与安全:旅程的护航 本节摘要:生产旅程的三道护航:快照(snapshot)把索引按增量块备到仓库,恢复演练让备份从心理安慰变成真实能力;容量预估用"分片粒度"倒推节点规格,把扩容从救火变成计划;安全三件套(认证、授权、传输加密)把引擎从裸奔变成有门禁的大楼。本节是运维清单式的收尾,也是第 9 章生产案例的直接前置。 给旅程上保险 快照:增量的仓库逻辑 备份的单位不是文档,是分片的块。第一步注册仓库(本地文件系统或对象存储),第二步定期拍快照,第三步(最重要)演练恢复: 快照是增量的:首次全量,之后只备新段(段的只读性让增量天然成立——8.3 的设计红利)。仓库里的块文件按分片组织,恢复时按索引重建。
本节摘要:生产旅程的三道护航:快照(snapshot)把索引按增量块备到仓库,恢复演练让备份从心理安慰变成真实能力;容量预估用"分片粒度"倒推节点规格,把扩容从救火变成计划;安全三件套(认证、授权、传输加密)把引擎从裸奔变成有门禁的大楼。本节是运维清单式的收尾,也是第 9 章生产案例的直接前置。
备份的单位不是文档,是分片的块。第一步注册仓库(本地文件系统或对象存储),第二步定期拍快照,第三步(最重要)演练恢复:
PUT _snapshot/backup_repo { "type": "fs", "settings": { "location": "E:\\es-backup", "compress": true } }
PUT _snapshot/backup_repo/snap-2026-08-28?wait_for_completion=false { "indices": "tickets*,logs-*", "include_global_state": false }
快照是增量的:首次全量,之后只备新段(段的只读性让增量天然成立——8.3 的设计红利)。仓库里的块文件按分片组织,恢复时按索引重建。删除有保留策略的快照要小心:被依赖的块会被后续快照引用,删除顺序交给快照管理策略处理,别手工清理仓库文件。
背景:团队每周自动拍快照已运行半年,从没恢复过;新运维上任第一件事是问"恢复真行吗"。操作:挑低峰期,在测试集群注册同一仓库;恢复快照到改名后的索引(不影响生产名);抽样比对文档数与几条关键字段的聚合值;再演练一次"单索引恢复"(只恢复 tickets,不动日志)。结果:全量恢复四百二十 GB 用时约五十分钟,单索引恢复十一分钟;比对全部一致。演练中还发现仓库盘的写入权限过宽,顺手收紧。解读:备份的价值等于恢复演练的成功率;改名恢复让演练可以在生产集群旁进行,风险可控。变式:跨集群恢复(仓库挂到异地集群,恢复成新索引再做对比迁移)是灾备的标准动作;快照也能当"数据搬家"工具——比重新灌入快得多。
POST _snapshot/backup_repo/snap-2026-08-28/_restore { "indices": "tickets", "rename_pattern": "(.+)", "rename_replacement": "restored_$1" }
三个数字决定规格:数据总量(含副本)、分片数、查询负载。经验路径:单分片压在十到五十 GB;节点数不少于主分片数(8.2 的并行门票);堆内存按数据量的一成到两成起步,上限三十一 GB(压缩指针的边界);其余内存留给文件缓存——缓存命中的段读取是近内存速度。预估示例:数据一点二 TB、副本一,总块量二点四 TB;按单分片三十 GB 算约八十个块,即四十主四十副;六节点各承十三四块,每节点配六到八核、三十一 GB 堆、四 TB 盘——再留三成余量给增长与合并的临时空间。写入调优的三板斧在 8.3 已交(refresh、translog、批量),查询调优留给 9.3,此处收口为一句话:先分片规划,后节点规格,最后才轮到参数。
新版默认开启安全特性,生产上三件事配齐:
第一件 认证:内置用户库加口令 或对接企业目录 第二件 授权:角色绑定 索引与操作级权限 最小化发放 第三件 加密:传输层TLS全程加密 节点间与客户端到节点都不裸奔
授权的最小化示例——只读报表角色:
POST _security/role/report_reader { "indices": [ { "names": [ "tickets*", "logs-*" ], "privileges": [ "read", "view_index_metadata" ] } ] }
POST _security/user/ops_report/_password # 给应用账号设强口令 绑定report_reader角色 # 应用配置里以该账号连接 不再使用超级用户
审计日志把"谁在什么时候动了什么"记成可查的流水(认证成败、授权拒绝、写入删除动作),等保与合规场景的必答题。三个实践纪律:应用账号与运维账号分离,前者只授必要索引的读写;传输加密不在节点间省(内网也不裸奔是原则不是洁癖);定期用授权拒绝的审计流复盘权限设计——被拒的请求多了,要么权限太紧,要么有人在图方便。
| 护航项 | 动作 | 频率 |
|---|---|---|
| 快照 | 自动拍增量快照,保留策略滚动 | 每日到每小时 |
| 恢复演练 | 改名恢复到测试集群并比对 | 每季度 |
| 容量 | 水位与增长速率复盘,规划下一批节点 | 每月 |
| 账号 | 权限审计、口令轮换、拒绝流复盘 | 每季度 |
| 演练 | 节点故障拔线演练(8.1 的红色路径) | 每半年 |
⚠️ 常见坑:快照仓库放在数据盘同一块盘上——盘一坏,数据与备份同归于尽。仓库必须异置(独立盘或对象存储),异地更佳。
💡 关键直觉:备份的两条黄金提问——"上次恢复演练是什么时候"与"恢复要多久"。答不上来,就还没有备份,只有备份的仪式感。
| 考核点 | 达标标准 |
|---|---|
| 快照增量原理 | 说出按段去重的含义与首次全量后续增量的节奏 |
| 仓库纪律 | 异置存储与恢复演练两条黄金提问张口就来 |
| 容量倒推 | 单分片区间、节点数盖住主分片数、堆上限三个数字 |
| 角色最小化 | 写出只读报表角色并说明应用账号纪律 |
| 三件套清单 | 认证、授权、加密各自的配置面与检查入口 |
护航齐了,终章在前:数据从哪里来、到哪里去、慢了怎么办、一个完整平台如何长成。