freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

自动运维|ansible批量部署
2020-06-24 11:27:02

在某个下午,小编一个研究postgresDB的同事特洛伊·谢戳了戳小编的胳膊:

特洛伊·谢:那啥,我这想一次性搭5个新的pg测试环境,你能不能…

又轮到运维界的叶问-ansible出场了。

Ansible是一个自动化运维工具,其主要功能是帮忙运维实现IT工作的可自动化、降低人为操作失误、提高业务自动化率、提升运维工作效率,常用于软件部署自动化、配置自动化、管理自动化、系统化系统任务、持续集成、零宕机平滑升级等,有着丰富的内置模块以及更为丰富的用户分享的功能模块。

今天我们就用它来实现批量在rhel6上部署postgresDB11。以下为部署步骤以ansible实现的方法。


部署步骤

1、关闭NetworkManager

image.png

 这里调用了ansible的service模块。

2、关闭防火墙

image.png

需要注意的是,由于系统版本差异部分系统服务名称有所改变,例如防火墙在rhel6与7上是不同的,建议可以根据系统版本来判断服务名。

3、关闭selinux

image.png

这里调用了lineinfile模块,并且使用了’>’来缩进,增加可读性。

4、修改limits.conf文件

image.png

5、 /etc/hosts修改及主机名修改

image.png

这里的ip及主机名可以通过调用ansible自己的主机信息收集模块直接获取到。

6、将postgresdb11的rpm包传输至目标端指定位置

image.png

假如远端指定的路径不存在会自动创建

7、安装pg安装需要的rpm包

image.png

 这里安装完包之后会自动创建一个postgres用户,家目录为/var/lib/pgsql

8、修改/data目录权限

image.png

9、初始化postgres数据库,启动并设置开机自启动

image.png

将所有的步骤写在一个yaml剧本文件里面,执行该剧本:

image.png

出于篇幅有限,我们这里只执行一个远程服务器。这样新的一台pg数据库就装好啦。当然你可以在hosts主机清单文件里面配10台目标服务器,ansible默认会以5的并行度去执行批量部署。

我们这次只是简单的在rhel6上安装pg11,考虑到平台版本、pg版本不同,可以使用ansible的roles去根据版本迭代,这样的话playbook的可读性更好,也更易维护。当然根据自己的需求,可以添加其他的判断及tasks。

参考文献

https://docs.ansible.com/ansible/latest/


美创运维中心数据库服务团队拥有Oracle ACE 1人、OCM 10余人、数十名Oracle OCP、MySQL OCP、红帽RHCA、中间件weblogic、tuxedo认证、达梦工程师 ,著有《Oracle DBA实战攻略》,《Oracle数据库性能优化方法和最佳实践》,《Oracle内核技术揭秘》等多本数据运维优化书籍。目前运维各类数据库合计2000余套,精通Oracle、MySQL、SQLServer、DB2、PostgreSQL、达梦等主流商业和开源数据库。并成为首批国内达梦战略合作伙伴之一,拥有海量经验和完善的人员培养体系。并同时提供超融合,私有云整体解决方案。



# 运维安全 # 数据库运维 # 运维 # 自动化运维
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者