场景背景
在现场运维服务中MySQL数据库作为主要现场工作维护对象,MySQL数据库安装部署、系统参数配置初始化、开源审计插件macafee社区版audit安装,keepalived的安装等工作量较多,即便分为多个场景实现自动化,配置一个节点也显得较为繁琐。
早几日发布的文章《MySQL8.0安装和配置》未借助新炬平台产品,为减少现场运维的重复性工作、减轻数据库运维工作的繁杂性,提升现场运维工作效率,故本次基于AMP自动化运维平台实现,通过多个场景编排实现真正的一键安装MySQL8.0数据库及相关产品的自动化方式安装部署。
AMP平台简介:
- 内置大量运维操作原子场景,支持常见数据库、中间件、云平台、网络设备等运维操作自动化能力;
- 支撑八大运维场景自动化;
- 灵活的可视化任务编排及调度,操作、资源、工具、人员的任意编排调度,构建多方位自动化能力。
场景介绍
该一键编排场景可自由组合以下多个场景进行一键安装:
2.1 系统参数初始化
通过该场景对MySQL8.0数据库服务器上/etc/sysctl.conf内核参数,/etc/ssh/sshd_config DNS参数设置、/etc/security/limits.conf打开文件数参数设置、/etc/selinux/config SELINUX关闭、防火墙关闭、numa参数、依赖包安装、对数据目录权限赋权等,是数据库安装的前置步骤。该场景只需指定IP及数据录即可。
2.2 MySQL8.0数据库安装
通过该场景实现对MySQL8.0数据库的一键安装,可以满足单机单实例、单机多实例等多种场景,根据不同的数据库类型使用不同的数据库参数模板,灵活配置数据库参数,安装后自动修改root管理密码并配置常用用户。
2.3 审计插件自动化安装
通过该场景实现对macafee社区版审计插件的自动化安装,可以自动配置常用的参数并将参数添加至MySQL数据库配置文件内,自动获取当前版本mysqld偏移量offset,自动添加定时任务归档审计日志和清理过期日志。
2.4 keepalived自动化安装
通过该场景自动化安装keepalived,可以灵活设置绑定网卡、routerid、和主从类型。
场景配置
将以上场景共用参数合并,按顺序串联为一个编排任务:
MySQL8.0新建节点全流程编排参数介绍如下:
参数名 | 参数释义 | 是否必填 | 默认值 |
数据库用户 | 数据库管理用户 | 必填项 | root |
密码 | 数据库管理用户密码 | 必填项 | |
软件根目录 | 审计插件软件根目录; | 必填项 | |
IP | MySQL主机IP; | 必填项 | |
INS_PORT | 安装的实例端口 | 必填项 | 3306 |
SERVER_ID | MySQL实例SERVER_ID | 必填项 | |
MYSQL_BUFFER_SIZE | MySQL的buffer_pool_size参数设置 | 必填项 | |
SOFT_FILE | MySQL安装文件位置 | 必填项 | |
BASE_DIR | MySQL数据库安装根目录 | 必填项 | |
DATA_DIR | 数据目录; | 必填项 | /data |
数据库类型 | 数据库使用类型; | 必填项 | |
VIP | 安装Keepalived绑定的虚IP; | 必填项 | |
网卡名 | Keepalived需要绑定VIP的网卡 | 必填项 | |
安装文件 | keepalived安装文件的绝对路径及完整文件名; | 必填项 | |
ROUTER-ID | keepalived参数文件中的ROUTER-ID; | 必填项 |
场景操作
填写相关参数,点击执行:
可以看到整个编排执行的进度和每个步骤执行成功的信息,点入各个步骤,可以看到每个步骤执行的详细信息及生成日志等:
场景总结:
MySQL8.0新建节点全流程编排涵盖一套MySQL8.0库安装的完整流程与配置,自动配置了包含系统参数配置、MySQL8.0数据库实例安装配置、审计插件安装配置和keepalived安装配置等,后期根据需要还可以继续添加所需要的场景,免去了大量安装部署的时间和场景执行的时间,避免了漏装少装的可能,灵活配置,安全高效的完成现场的各种工作需要。
本文作者:薛 信(上海新炬中北团队)