ansible常用命令 速查手册,ansible速查手册


目录

1.1          编写目的... 4

1.2          适用范围... 4

1.3          名词解释... 4

1.4          格式约定... 4

1.5          集群信息记录... 5

2       集群日常管理... 5

2.1          集群信息备份与还原... 5

2.2          新增节点或资源... 5

2.2.1         新增节点.. 5

2.2.2         数据库数据盘lv扩容.. 6

2.2.3         新增VG和DB. 6

2.3          删除节点或资源... 10

2.3.1         删除节点.. 10

2.3.2         删除资源.. 11

2.4          修改资源配置... 11

2.4.1         修改资源运行位置(迁移资源).. 11

2.4.2         将节点状态设置为online. 11

2.4.3         将节点状态设置为standby. 11

2.4.4         将节点状态为offline. 12

2.4.5         停止资源.. 12

2.4.6         启动资源.. 12

2.4.7         集群管理资源.. 12

2.4.8         集群不管理资源.. 12

2.5          查询集群信息... 12

2.5.1         查询集群中节点状态信息.. 12

2.5.2         查询集群中资源状态.. 12

2.5.3         查看集群所有配置信息.. 13

2.5.4         查看单一资源配置信息.. 13

3       问题诊断... 13

3.1          新节点无法加入集群... 13

3.1.1         可能的原因一.. 13

3.1.2         可能的原因二.. 14

3.2          资源无法启动... 14

3.2.1         可能的原因一.. 14

3.2.2         可能的原因二.. 14

4       应急:手工管理资源... 15

5       附录:... 15

5.1          名称解释... 15

5.2          crm shell的使用... 16

5.3          参考文档:... 16

 

1      
文档简介

1.1   编写目的

为Linux提供快速批量操作的能力。

 

1.2   适用范围

该文档的阅读对象为基础平台管理部系统组相关人员。

 

1.3    名词解释

此处仅做简单翻译,详细解析请看附录。

序号

术语/缩略语

全称和说明

1

ansible

对服务器批量操作的自动化运维工具。

 

1.4   格式约定

以“#”开头代表root用户;

以“$”开头代表普通用户;

以“>”开头代表DB用户;

以“SQL>”开头代表sqlplus命令;

以“灰色底纹”标注的为命令或输入字符;

以“斜体”标注的为配置文件内容;

以 “绿色”字体表示在配置时该字段需要需要根据实际情况进行修改。

 

“所有节点”表示集群中的所有机器;

“主节点”表示“节点一”,集群中的第一台机器(下面的wbep-huana01)。

 

 

2     集群日常管理

2.1   参数与实例

参数说明

# ansible -h

 

-i  指定登陆的目标主机ip的文件列表(一行一个,可以使用通配符)。并指定文件中的组。指定所有文件中所有服务器使用关键字all。主机可以使用[xxx]分组。xxx自己命名。

-m 使用指定的模块。如果不指定,则默认使用-m command。常用模块file, copy, script, command(不支持管道), shell(支持管道), raw(支持管道的原始字符串,不安全)

-a  指定上面-m模块使用的参数。如果不指定参数可以不写。

-u 指定登陆用户,如sflog

-k 输入登陆密码,即-u指定的用户的密码

-S 大S,指定使用su命令

-R 指定su到指定的用户sfroot,需要和-S命令一起使用

--ask-su-pass 输入su到指定用户的密码

--private-key=PRIVATE_KEY_FILE  指定登陆用的private key文件,如果使用了该选项就不用指定上面的-k参数。

-f 指定fork出的并行处理进程数,默认值是5。

-o    使用精简的输出

-vvvv 显示详细输出

 

注意:如果执行失败,可能会有ansible进程卡在后台导致重新连接到目标服务器失败,此时可以将ansible的卡死的进程杀掉,或者等它1分钟后自动退出。

 

例子

# ansible -i /home/660785/playbooks/task1/h1 all -mshell -a "/bin/touch /tmp/ababc" -u sflog

 

# ansible -i /tmp/a.txt all -a"/usr/bin/sysauto_SF hbainfo" -u sflog -S -R sfroot--private-key=/root/.ssh/id_rsa --ask-su-pass

 

2.2    查看帮助

查看ansible支持的参数

# ansible-h

 

查看当前版本ansible支持的模块

# ansible-doc-l

 

查看模块的用法

# ansible-doc <模块名>

 

查看模块在playbook中的写法

# ansible-doc -s <模块名>

 

 

2.3    常用模块用法

Ping模块:测试连接到目标主机,如果成功返回一个pong。主要用于测试密钥是否正确。

# ansible -i/home/660785/playbooks/task1/h1 all -m ping-u sflog

command模块:执行shell命令,ansible 默认使用的模块,不支持管道(命令最好写全路径)

# ansible -i /home/660785/playbooks/task1/h1 all -m command -a "/bin/touch /tmp/ababc"-u sflog

 

shell模块:执行shell命令,支持管道

# ansible -i /home/660785/playbooks/task1/h1 all -m shell -a "/bin/df -hP | /bin/grep nfsc"-u sflog

 

raw模块:执行shell命令,可用于连接未安装python或jason的服务器。运行未经过ansible检查的原始命令。较危险,最好不使用。但可用于在低于rhel5.5的服务器上安装python-simplejson包,以支持其他模块。

# ansible -i /home/660785/playbooks/task1/h1 all -m raw -a "/usr/bin/yum install python-simplejson -y"-u sflog -S -R sfroot --ask-su-pass

 

copy模块:用于复制当前服务器上的文件到目标服务器上指定位置,并可设置文件的源数据信息。

# ansible -i /tmp/o.txt all -m copy -a "src=/tmp/del_oracle_trace.shdest=/etc/sf/shell/del_oracle_trace.sh owner=oracle mode=500" -usflog -S -R sfroot --ask-su-pass -o

 

file模块:用于修改目标服务器上指定文件的元数据信息。

# ansible -i /tmp/o.txt all -m file -a "path=/var/log/dangecommand.logmode=666" -u sflog -S -R sfroot --ask-su-pass -o

 

setup模块:可调用ansible自身的、也可以调用其它自动化工具(比如chef的ohai)的信息收集工具目标服务器上主机硬件和os配置信息。并以jason格式返回。Filter参数可以用来过滤出需要的内容。

# ansible -i /tmp/a.txt all -m setup -a 'filter=ohai_os_version' -u sflog -S-R sfroot --ask-su-pass o

 

 

2.4    交互式用法

使用ansible-console命令可以将命令批量下发到各服务器,且是交互式的console界面:

# ansible-console -i 1.txt -u sysauto --private-key=私钥路径

相关内容

    暂无相关文章