一. 問題
今天運行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