使用ansible运维oracle

柴宗南,现就职于北京海天起点,oracle维护工程师,服务于电信,政府,银行等行业,具有6年核心系统oracle数据库运维经验。获得Redhat Enterprise 5 RHCE认证、oracle 10g ocp、oracle 11g ocp认证,拥有丰富的系统集成经验,擅长oracle数据库相关问题处理。

ansible是一款基于python语言开发的自动化运维工具,集成了众多运维工具如:puppet、cfengine、chef、func、fabric等优点,客户机不需要安装指定的客户端即可实现系统的批量配置、程序的批量部署,命令的批量执行等功能。在大批量的oracle运维环境中,使用ansible可简化运维操作,起到事半功倍的效果。如在生产环境中需要部署zabbix客户端时,可通过ansible进行批量安装。本文介绍基于oracle linux的ansible安装及基础使用。

环境

OS: Oracle Linux Server release 6.2

Python: 3.5.0

Setuptools:36.8.0

ansible :2.7.4

pip:18.1

基础配置

被管理端需要关闭selinux、iptables,如果未关闭selinux需要安装libselinux-python,本测试关闭selinux。

软件安装

安装时可使用centos操作系统,利用yum简化安装,本次使用pip方式进行安装。

基础包

python安装

系统已默认安装python2.6.6,升级至python3.5.0

下载地址:https://www.python.org/ftp/python/

Setuptools安装

下载地址:https://pypi.org/project/setuptools/36.8.0/#files

pip安装

下载地址:https://pypi.org/project/pip/18.1/#files

Ansible安装

直接使用pip install ansible安装会因ssl验证问题导致安装失败,报错如下:

Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘SSLError(SSLError(1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:646)’),)’: /pypi/simple/ansible/

改用163镜像地址进行安装:

查看版本:

配置ansible

Ansible 可同时操作属于一个组的多台主机,组和主机之间的关系通过 inventory 文件配置. 默认的总文件路径为 /etc/ansible/

增加配置文件ansible.cfg

完整的配置文件可参考: https://raw.githubusercontent.com/ansible/ansible/devel/examples/ansible.cfg?utm_source=hacpai.com

参详说明可参考:https://docs.ansible.com/ansible/latest/reference_appendices/config.html#ansible-configuration-settings

定义被管理主机组

测试

登录各主机

Linux-db:主机组名称

-m:指定模块名称,默认为command

Ping:模块名称

注:此模块的功能并非system中的ping命令,功能为检测机器是否可登录,是否有可用的python,正常则返回pong.

检查数据库进程

切换到oracle用户,需要在环境变更中增加ansible的目录。

检查数据库版本

检查表空间

检查表空间等内容较多的输出需要将脚本上传至远端服务器,否则回显的json格式会非常混乱,不利于查看。

检查脚本

上传到目标服务器

执行脚本

在远程机器执行本地脚本

以上演示了Ansible命令行方式的基本用法,更加灵活、更加强大的用法请参考playbook。

测试过程未配置互信,实际使用过程中可以使用oracle提供的sshUserSetup.sh脚本完成互信的批量配置。

未经允许不得转载:Oracle一体机用户组 » 使用ansible运维oracle

相关推荐