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 关键术语

表格

术语定义
OBOceanBase 分布式数据库
OBDOceanBase Deployer,官方部署工具
租户OB 中的逻辑隔离单元,类似 MySQL 实例
SLA服务等级协议

2. 系统部署标准

2.1 硬件配置标准

表格

配置项最低要求推荐配置
CPU16 核32 核
内存64GB128GB
系统盘200GB SSD500GB SSD
数据盘1TB NVMe SSD2TB 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系统管理仅本地登录使用
obadminOB 运行及运维普通用户,sudo 权限(需密码)
mes_app业务应用仅业务库增删改查权限
mes_backup备份专用仅备份权限
mes_monitor监控专用只读权限

3. OceanBase 部署标准

3.1 集群架构标准

plaintext

- 节点数:3节点
- 副本数:3副本(Paxos强一致)
- Zone数:1 Zone(单机房)
- 部署方式:OBD一键部署
- OBProxy:3节点,负载均衡

3.2 端口标准(强制)

表格

端口服务说明
2881OB SQL 端口业务连接用
2882OB RPC 端口内部通信用
2883OBProxy 端口代理连接用
8080OCP Express监控管理台
22SSH远程管理

3.3 资源分配标准(以 128G 内存为例)

表格

资源分配比例大小
系统预留~12.5%16GB
OB 总内存~87.5%112GB
- MemStore30%~33GB
- Block Cache50%~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% 持续 5min1 分钟
内存使用率>80%>90%1 分钟
磁盘使用率>80%>90%5 分钟
磁盘 IO 使用率>80% 持续 10min>95% 持续 5min1 分钟
网络流量>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:004 周
物理增量备份每天 1 次每日 02:002 周
日志归档实时每 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 前

巡检内容:

  1. 服务器状态检查(CPU、内存、磁盘、网络)
  2. OB 集群状态检查(节点、副本、合并)
  3. 数据库连接数、QPS、慢 SQL 统计
  4. 备份任务执行结果检查
  5. 告警信息检查及处理
  6. 磁盘空间检查

输出:每日巡检记录,存入运维系统

6.2 每周维护

执行时间:每周六凌晨低峰期

维护内容:

  1. 清理过期日志、临时文件
  2. 分析 Top10 慢 SQL,制定优化计划
  3. 检查备份完整性
  4. 预创建下个月分区(流水表)
  5. 收集统计信息

6.3 每月维护

执行时间:每月第一个周末

维护内容:

  1. 备份恢复演练
  2. 数据库性能趋势分析
  3. 容量评估与预测
  4. 安全补丁评估
  5. 月度运维报告输出

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 单节点离线

现象: 集群显示某节点离线

处理步骤:

  1. 检查服务器是否宕机、网络是否通
  2. 检查 OB 进程是否存活
  3. 如进程挂了,尝试重启
  4. 如服务器硬件故障,执行故障机替换流程
  5. 观察副本自动恢复情况

8.3.2 磁盘空间不足

现象: 磁盘使用率 > 90% 告警

处理步骤:

  1. 检查是什么占用空间(数据 / 日志 / 备份)
  2. 清理过期日志、临时文件
  3. 如数据增长过快,评估扩容
  4. 检查分区策略,过期分区是否及时清理

8.3.3 慢 SQL 导致性能问题

现象: CPU 高、响应慢、慢 SQL 增多

处理步骤:

  1. 定位 Top 慢 SQL
  2. 检查执行计划,看是否走索引
  3. 紧急情况先 Kill 异常 SQL
  4. 优化 SQL 或加索引
  5. 验证优化效果

8.3.4 连接数满

现象: 连接数接近上限,新连接失败

处理步骤:

  1. 查看连接列表,定位是什么连接占满
  2. Kill 空闲长连接
  3. 检查应用连接池配置
  4. 必要时临时调大连接数上限
  5. 根因分析,优化应用连接使用

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.02026-06-29初始版本

怎么用这套标准?

  1. 直接抄:把上面的内容复制到 Word / 飞书文档,就是你的运维规范
  2. 按需改:根据你实际的硬件、版本、团队情况调整数字
  3. 逐步完善:先有个框架,每次踩坑、每次变更都往里补
  4. 培训到位:团队、外包都要知道有这个规范,按规范执行

一句话总结

这就是大厂运维规范的 "精简落地版",直接能用,不用再自己去提炼了。

阅读剩余
THE END