批量部署300台MySQL服务器思路简单臆想

近期有人询问如何部署300台MySQL服务器,本人没有遇到过这种奇葩需求,以下是不负责任的纯臆想
这种量级的批量部署是需要使用批量部署工具来操作和管理的
如ansible或salt-stack,以及基于这些开发出来的运维管理平台

该方案的解决方法有很多,这里简单讲一讲克隆脚本流的方法:

1° 依据《CentOS6实验机模板搭建部署》和《编译安装MariaDB-10.1.30》
    搭建部署一台克隆的模板机,编译安装MySQL,但不建库

2° 编写配置文件,内容包含IP、HOSTNAME、SERVERID
    该配置文件就是批量搭建部署的MySQL服务器各自的IP和主机名以及MySQL实例信息
    保证一个IP对应一个HOSTNAME且对应一个SERVERID
    可以写多个SERVERID实现MySQL的多实例部署,这只是脚本层面的功能问题

3° 配置root用户自己免密登录自己的ssh通道公私钥

4° 编写自动执行的脚本,相应功能如下:
    /etc/udev/rules.d/70-persistent-net.rules 修改调整
    /etc/sysconfig/network-scripts/ifcfg-eth0 修改为dhcp
    脚本自动重启机器,修改ifcfg-eth0配置,将dhcp改为自动获取的静态IP
    读取第2步的配置文件,根据IP修改主机名,根据SERVERID修改my.cnf,建库
    删除root用户下的ssh私钥,作为管理机器的主机保留私钥,做批量管理
    该脚本只运行一次,运行后自动删除

5° 设置网络设备dhcp模式,并指定dhcp的地址池从100开始

6° 使用命令批量克隆模板机为MySQL服务器,启动,自动跑初始部署脚本
    如何使用命令批量克隆模板机,需要根据自己使用的虚拟化平台寻找方法
    但无论是KVM还是vSphere或其他虚拟化架构都有相应的功能
    该方案可以在一个网段中部署150台左右服务器(因为dhcp从100开始)
    设置第二个网段则可以完成300台机器的部署

7° 本方案使用ssh免密登录的方式由一台管理机器控制其余剩下的MySQL服务器
    存在管理机单点、无资产管理、无操作记录、并发维护性不强等缺点
    解决方案是使用ansible或salt-stack等批量部署工具,开发相应的管理平台解决
    这种业务需求最正规的解决方案是聘用一个DEVOPS

猜你喜欢

转载自blog.csdn.net/zwjzqqb/article/details/80838573