Vertica 集群操作系统更新最佳实践¶
概述¶
Vertica 集群运行在 Linux 操作系统之上,操作系统版本升级或内核更新是基础设施运维中不可避免的任务。本文档总结了 Vertica 集群操作系统更新的最佳实践和操作步骤,帮助您在最小化停机时间的前提下安全完成升级。
操作系统更新前需要评估 Vertica 版本与目标操作系统的兼容性,请参考 Vertica 产品支持生命周期与版本兼容性。
升级前备份 (Pre-Upgrade Backup)¶
在执行任何操作系统更新操作之前,必须对 Vertica 数据库进行完整备份。
备份步骤¶
- 确认集群健康状态
确保所有节点处于 UP 状态,且集群无异常告警。
- 执行完整备份
- 备份编录
- 备份配置文件
验证备份¶
确认备份完成后,记录备份文件的校验和,以便在恢复时验证完整性。
方法一:复刻集群法 (Copy Cluster Approach)¶
复刻集群法适用于需要最小化停机时间的场景,通过创建一个与原集群配置相同的新集群来完成升级。
操作步骤¶
- 搭建新集群:使用新的操作系统版本部署与原集群相同 Vertica 版本的集群
- 数据同步:
- 切换流量:更新 DNS 或连接串,将应用流量切换到新集群
- 验证:确认新集群运行正常,数据完整性无误
适用场景¶
- 允许一定量的硬件资源冗余
- 需要严格控制升级窗口时间
- 生产环境核心业务集群
方法二:停机升级 (Downtime Upgrade)¶
停机升级是最直接的升级方式,适用于可接受计划内停机窗口的环境。
操作步骤¶
- 停止 Vertica 服务
- 执行操作系统更新
- 重启节点并验证 OS 版本
- 启动 Vertica 数据库
- 验证集群健康
适用场景¶
- 有明确的维护窗口
- 测试环境或开发环境
- 非关键业务集群
方法三:备份恢复法 (Backup Restore Approach)¶
备份恢复法适用于需要在升级 OS 后重建集群的场景,或需要同时进行 Vertica 版本升级的场景。
操作步骤¶
- 执行完整备份(见上文备份步骤)
- 卸载 Vertica
- 升级操作系统(全新安装或原地升级均可)
- 安装 Vertica:在全新的操作系统上安装原版本 Vertica
- 恢复数据
- 验证恢复结果
适用场景¶
- 操作系统需要大版本升级(如 RHEL 7 升级到 RHEL 8)
- 同步进行 Vertica 版本升级
- 需要更换硬件或迁移到新环境
滚动升级法 (Rolling Upgrade Approach)¶
对于 Vertica 集群,如果操作系统只需要小版本更新(如内核补丁),可以采用滚动升级的方式,逐个节点进行更新,保持 Vertica 数据库持续运行。
操作步骤¶
- 将节点设置为备用
或使用 admintools:
-
执行节点 OS 更新
-
节点回归集群
- 确认节点恢复
- 重复操作:逐个处理集群中所有节点
注意事项¶
- 滚动升级期间 K-Safety 会临时降低,确保集群在操作期间有足够的节点容错
- 如果 K-Safety = 1(默认),集群至少需要 3 个节点才能安全执行滚动升级
- 每个节点操作完成后,等待 Tuple Mover 完成数据重建,再操作下一个节点
升级后验证 (Post-Upgrade Verification)¶
无论采用哪种升级方法,升级完成后都应执行以下验证步骤:
- 操作系统版本
- Vertica 版本
- 集群健康
- 关键查询验证
- 应用连接测试:确认应用端可以通过 JDBC/ODBC 正常连接和查询
扩展阅读¶
- Vertica 备份与恢复概述 — vbr 备份恢复工具详解
- 维护前检查清单 — 维护前的系统检查项目
- Vertica 产品支持生命周期与版本兼容性