一. 问题
今天运行Ansible时发现有台机器在执行setup时卡在不动,等了好几分钟才执行出来。
二. 分析问题
Ansible中setup模块的执行过程,它是将setup模块的python脚本拷贝到ansible管控主机,然后在管控主机上执行python脚本获取主机基本信息,在返回给ansible。
查看执行setup的主机,看到执行的python进程处于D状态。也就是不可中断状态。而获取主机上资源时,如果文件系统有问题是最容易卡住的。而那台主机上是挂载了windows的samba文件系统。
三. 问题确认
使用mount查看挂载的文件系统
可以看到挂载的文件系统。在挂载目录下创建文件,发现报错说没有这个目录。看来问题就是在这了,setup获取挂载信息的时候卡住了。(由于当时没有截图保存,无法看图了)
四. 问题处理
卸载挂载点,在重新挂载上即可
六. 总结
Ansible中setup模块卡住,一定获取某种信息是受阻,找到对应受阻点即可。
参考资料
https://groups.google.com/forum/#!topic/ansible-project/xRCErd6JclE
原文地址:http://blog.51cto.com/13589448/2089619
时间: 2024-10-03 22:55:40