MES 项目 Linux + OceanBase 运维标准(RFC 版) 提炼版❤️
MES 系统数据库运维管理规范 v1.0
1. 范围与目的
1.1 适用范围
本规范适用于公司 MES 系统生产环境的服务器及 OceanBase 数据库运维管理。
- 操作系统:Rocky Linux 9.x
- 数据库:OceanBase 社区版 4.3.x LTS
- 部署架构:3 节点三副本集群
1.2 目的
- 保障数据库 7×24 小时稳定运行
- 规范运维操作,降低人为故障
- 统一运维标准,便于团队协作及外包交接
- 确保数据安全,满足生产追溯要求
1.3 关键术语
表格
| 术语 | 定义 |
|---|---|
| OB | OceanBase 分布式数据库 |
| OBD | OceanBase Deployer,官方部署工具 |
| 租户 | OB 中的逻辑隔离单元,类似 MySQL 实例 |
| SLA | 服务等级协议 |
2. 系统部署标准
2.1 硬件配置标准
表格
| 配置项 | 最低要求 | 推荐配置 |
|---|---|---|
| CPU | 16 核 | 32 核 |
| 内存 | 64GB | 128GB |
| 系统盘 | 200GB SSD | 500GB SSD |
| 数据盘 | 1TB NVMe SSD | 2TB NVMe SSD |
| 网络 | 千兆 | 万兆 |
2.2 操作系统标准
plaintext
- 系统版本:Rocky Linux 9.x Minimal
- 内核版本:随系统默认LTS版本
- 字符集:en_US.UTF-8
- 时区:Asia/Shanghai
- SELinux:disabled
- Firewalld:disabled(内网环境)
- Swap:off
2.3 系统参数标准(强制)
文件:/etc/sysctl.conf
plaintext
vm.swappiness = 0
vm.max_map_count = 655350
fs.file-max = 655360
net.core.somaxconn = 65535
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_local_port_range = 1024 65535
文件:/etc/security/limits.conf
plaintext
* soft nofile 655350
* hard nofile 655350
* soft nproc 655350
* hard nproc 655350
2.4 目录结构标准(强制)
plaintext
/home/obadmin/ # 业务用户主目录
├── oceanbase/ # OB安装目录
├── backup/ # 本地备份临时目录
├── scripts/ # 运维脚本
│ ├── backup/ # 备份相关
│ ├── monitor/ # 监控巡检
│ └── maintain/ # 日常维护
└── logs/ # 业务日志
/data/
├── oceanbase/ # OB数据目录
└── backup/ # NFS备份挂载点
2.5 用户与权限标准
表格
| 用户 | 用途 | 权限 |
|---|---|---|
| root | 系统管理 | 仅本地登录使用 |
| obadmin | OB 运行及运维 | 普通用户,sudo 权限(需密码) |
| mes_app | 业务应用 | 仅业务库增删改查权限 |
| mes_backup | 备份专用 | 仅备份权限 |
| mes_monitor | 监控专用 | 只读权限 |
3. OceanBase 部署标准
3.1 集群架构标准
plaintext
- 节点数:3节点
- 副本数:3副本(Paxos强一致)
- Zone数:1 Zone(单机房)
- 部署方式:OBD一键部署
- OBProxy:3节点,负载均衡
3.2 端口标准(强制)
表格
| 端口 | 服务 | 说明 |
|---|---|---|
| 2881 | OB SQL 端口 | 业务连接用 |
| 2882 | OB RPC 端口 | 内部通信用 |
| 2883 | OBProxy 端口 | 代理连接用 |
| 8080 | OCP Express | 监控管理台 |
| 22 | SSH | 远程管理 |
3.3 资源分配标准(以 128G 内存为例)
表格
| 资源 | 分配比例 | 大小 |
|---|---|---|
| 系统预留 | ~12.5% | 16GB |
| OB 总内存 | ~87.5% | 112GB |
| - MemStore | 30% | ~33GB |
| - Block Cache | 50% | ~56GB |
| - 其他 | 20% | ~23GB |
3.4 租户配置标准
plaintext
租户名:mes_tenant
模式:MySQL
字符集:utf8mb4
排序规则:utf8mb4_general_ci
连接数上限:2000
3.5 数据库对象标准
- 所有流水大表必须按月 RANGE 分区
- 单分区数据量控制在 50~100GB
- 主键使用 BIGINT 自增
- 索引不超过 5 个 / 表
- 禁止使用外键约束
4. 监控告警标准
4.1 监控体系
plaintext
一级监控:OCP Express(OceanBase自带)
二级监控:Prometheus + Grafana(后期扩展)
告警通道:企业微信机器人 + 邮件
4.2 核心监控指标与阈值(强制)
4.2.1 服务器指标
表格
| 指标 | 警告阈值 | 严重阈值 | 检测频率 |
|---|---|---|---|
| CPU 使用率 | >80% 持续 5min | >90% 持续 5min | 1 分钟 |
| 内存使用率 | >80% | >90% | 1 分钟 |
| 磁盘使用率 | >80% | >90% | 5 分钟 |
| 磁盘 IO 使用率 | >80% 持续 10min | >95% 持续 5min | 1 分钟 |
| 网络流量 | >80% 带宽 | >90% 带宽 | 1 分钟 |
4.2.2 数据库指标
表格
| 指标 | 警告阈值 | 严重阈值 | 检测频率 |
|---|---|---|---|
| 集群节点状态 | 任意节点离线 | — | 1 分钟 |
| 副本状态 | 有副本异常 | — | 1 分钟 |
| 活跃连接数 | >80% 上限 | >90% 上限 | 1 分钟 |
| 慢 SQL 数量 | >100 条 / 分钟 | >500 条 / 分钟 | 5 分钟 |
| 事务失败率 | >1% | >5% | 5 分钟 |
| 合并状态 | 合并超时 | — | 10 分钟 |
4.2.3 备份指标
表格
| 指标 | 警告阈值 | 严重阈值 | 检测频率 |
|---|---|---|---|
| 备份任务状态 | 失败 | — | 每次备份后 |
| 备份存储空间 | >80% | >90% | 每天 |
4.3 告警分级与响应
表格
| 级别 | 定义 | 响应时间 | 通知方式 |
|---|---|---|---|
| P0 严重 | 数据库宕机、产线停摆 | 15 分钟 | 电话 + 企业微信 + 邮件 |
| P1 重要 | 性能严重下降、部分功能不可用 | 30 分钟 | 企业微信 + 邮件 |
| P2 一般 | 慢 SQL、告警异常,不影响核心 | 2 小时 | 企业微信 |
| P3 提示 | 通知类、优化建议 | 1 工作日 | 邮件 |
5. 备份恢复标准
5.1 备份策略(强制)
表格
| 备份类型 | 频率 | 执行时间 | 保留周期 |
|---|---|---|---|
| 物理全量备份 | 每周 1 次 | 周日 02:00 | 4 周 |
| 物理增量备份 | 每天 1 次 | 每日 02:00 | 2 周 |
| 日志归档 | 实时 | 每 2 分钟归档 | 2 周 |
| 系统盘备份 | 每月 1 次 | 大变更前 | 3 个月 |
5.2 备份存储标准
- 备份数据必须存储在独立 NFS 服务器或另一台独立机器
- 禁止与数据库同机同盘存储
- 备份目录权限:仅备份账号可读写
- 重要备份定期异地同步
5.3 备份验证标准
- 每月至少进行 1 次备份恢复演练
- 随机选取最近的全量 + 增量备份
- 恢复到测试环境,验证数据完整性
- 记录恢复时间、数据校验结果
- 形成《备份恢复验证报告》存档
5.4 恢复时间目标(RTO/RPO)
表格
| 故障场景 | RTO 目标 | RPO 目标 |
|---|---|---|
| 单节点故障 | <5 分钟 | 0 |
| 单盘损坏 | <30 分钟 | 0 |
| 误操作数据恢复 | <2 小时 | <5 分钟 |
| 机房级故障 | <4 小时 | <5 分钟 |
6. 日常运维规范
6.1 每日巡检(强制)
执行时间:每日上午 9:00 前
巡检内容:
- 服务器状态检查(CPU、内存、磁盘、网络)
- OB 集群状态检查(节点、副本、合并)
- 数据库连接数、QPS、慢 SQL 统计
- 备份任务执行结果检查
- 告警信息检查及处理
- 磁盘空间检查
输出:每日巡检记录,存入运维系统
6.2 每周维护
执行时间:每周六凌晨低峰期
维护内容:
- 清理过期日志、临时文件
- 分析 Top10 慢 SQL,制定优化计划
- 检查备份完整性
- 预创建下个月分区(流水表)
- 收集统计信息
6.3 每月维护
执行时间:每月第一个周末
维护内容:
- 备份恢复演练
- 数据库性能趋势分析
- 容量评估与预测
- 安全补丁评估
- 月度运维报告输出
6.4 运维脚本标准
- 所有运维脚本统一存放于
/home/obadmin/scripts/ - 脚本必须有注释说明用途、参数、示例
- 脚本必须有日志输出,便于排查
- 危险操作(删数据、删表)必须有确认提示
7. 变更管理规范(强制)
7.1 变更分类
表格
| 类型 | 定义 | 审批要求 |
|---|---|---|
| 紧急变更 | 故障修复、安全漏洞 | 事后补审批 |
| 常规变更 | 配置调整、加字段、加索引 | 提前 1 天审批 |
| 重大变更 | 版本升级、扩容、架构调整 | 提前 3 天审批,双人操作 |
7.2 变更流程(强制)
plaintext
1. 提交变更申请
- 变更内容、原因、时间
- 变更步骤、回滚方案
- 风险评估
2. 审批
- 常规变更:运维负责人审批
- 重大变更:技术负责人审批
3. 测试验证
- 测试环境验证通过
- 确认回滚方案可行
4. 执行
- 低峰期执行(22:00~次日06:00)
- 双人操作,一人操作一人复核
- 变更前全量备份
- 全程操作留痕
5. 验证
- 变更后功能验证
- 性能检查
- 观察30分钟无异常
6. 关闭
- 记录变更结果
- 更新运维文档
7.3 变更红线(禁止)
- 禁止工作日白天执行生产变更
- 禁止无备份执行变更
- 禁止无回滚方案执行变更
- 禁止单人操作重大变更
- 禁止未经测试直接上生产
8. 故障处理规范
8.1 故障分级
表格
| 级别 | 定义 | 影响范围 |
|---|---|---|
| P0 严重 | 数据库不可用、产线停报工 | 全产线 |
| P1 重要 | 性能严重下降、部分功能不可用 | 部分产线 |
| P2 一般 | 慢 SQL、小问题,不影响核心 | 个别功能 |
| P3 轻微 | 咨询、优化建议 | 无影响 |
8.2 故障处理流程
plaintext
1. 故障发现与上报
- 告警触发或用户反馈
- 评估故障级别
- 通知相关人员
2. 应急处理
- 优先恢复业务,再排查根因
- 有备用方案先切换
- 保护现场(日志、状态)
3. 根因分析
- 排查故障原因
- 定位问题点
4. 修复与验证
- 执行修复操作
- 验证业务恢复正常
- 持续观察30分钟
5. 故障复盘
- 24小时内输出故障报告
- 原因分析、处理过程
- 改进措施、责任人
- 避免再次发生
8.3 常见故障处理 SOP
8.3.1 单节点离线
现象: 集群显示某节点离线
处理步骤:
- 检查服务器是否宕机、网络是否通
- 检查 OB 进程是否存活
- 如进程挂了,尝试重启
- 如服务器硬件故障,执行故障机替换流程
- 观察副本自动恢复情况
8.3.2 磁盘空间不足
现象: 磁盘使用率 > 90% 告警
处理步骤:
- 检查是什么占用空间(数据 / 日志 / 备份)
- 清理过期日志、临时文件
- 如数据增长过快,评估扩容
- 检查分区策略,过期分区是否及时清理
8.3.3 慢 SQL 导致性能问题
现象: CPU 高、响应慢、慢 SQL 增多
处理步骤:
- 定位 Top 慢 SQL
- 检查执行计划,看是否走索引
- 紧急情况先 Kill 异常 SQL
- 优化 SQL 或加索引
- 验证优化效果
8.3.4 连接数满
现象: 连接数接近上限,新连接失败
处理步骤:
- 查看连接列表,定位是什么连接占满
- Kill 空闲长连接
- 检查应用连接池配置
- 必要时临时调大连接数上限
- 根因分析,优化应用连接使用
9. 安全规范
9.1 账号安全
- 禁止共享账号,一人一号
- 密码复杂度:12 位以上,大小写 + 数字 + 特殊字符
- 密码每 90 天更换一次
- 离职人员账号 24 小时内删除
- 数据库账号最小权限原则
9.2 访问安全
- SSH 禁用密码登录,使用密钥
- 数据库禁止公网访问,仅内网
- 运维操作必须通过堡垒机(有条件时)
- 所有操作留痕可审计
9.3 数据安全
- 禁止生产数据随意导出
- 测试数据必须脱敏
- 备份数据加密存储
- 禁止未经授权访问生产数据
10. 文档与交付标准
10.1 必须有的文档清单
表格
| 文档 | 更新频率 | 责任人 |
|---|---|---|
| 系统部署手册 | 大变更后 | 运维 |
| 数据库部署手册 | 大变更后 | DBA |
| 运维操作手册 | 每季度 | DBA |
| 故障处理手册 | 每次故障后更新 | DBA |
| 每日巡检记录 | 每日 | 运维 |
| 月度运维报告 | 每月 | DBA |
| 变更记录 | 每次变更 | 运维 |
| 故障报告 | 每次故障 | DBA |
10.2 文档存放
- 统一存放于公司文档服务器
- 按目录分类,命名规范
- 版本管理,变更留痕
11. 附录
附录 A:常用命令速查表
(略,实际使用时补充常用 OB 命令、Linux 命令)
附录 B:联系人清单
表格
| 角色 | 姓名 | 电话 | 企业微信 |
|---|---|---|---|
| 运维负责人 | |||
| DBA | |||
| 业务负责人 | |||
| 外包支持 |
附录 C:版本历史
表格
| 版本 | 日期 | 修改人 | 修改内容 |
|---|---|---|---|
| v1.0 | 2026-06-29 | 初始版本 |
怎么用这套标准?
- 直接抄:把上面的内容复制到 Word / 飞书文档,就是你的运维规范
- 按需改:根据你实际的硬件、版本、团队情况调整数字
- 逐步完善:先有个框架,每次踩坑、每次变更都往里补
- 培训到位:团队、外包都要知道有这个规范,按规范执行
一句话总结
这就是大厂运维规范的 "精简落地版",直接能用,不用再自己去提炼了。
阅读剩余
THE END