You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible 2.3.1.0执行Playbook遇Permission Denied问题求助

解决Ansible扩容逻辑卷时连接中断的问题

看起来你在用Ansible 2.3.1.0管理RHEL7远程主机时,执行扩容/opt逻辑卷的Playbook遭遇了连接中断错误。先把你的问题背景和Playbook整理清楚:

问题重现

你收到的错误提示:

fatal: [my-test.host.nu]: FAILED! => {"changed": false, "failed": true, "module_stderr": "Shared connection to my-test.host.nu closed.\r\n", "module_std...

你的Playbook内容:

---
- hosts: my-test
  remote_user: myuser
  become: true
  become_method: sudo
  tasks:
    #Extend /opt to 1GB
    - name: Extend /opt 2048m.
      lvol:
        vg: rootvg
        lv: rootvg-opt
        size: 1024m

可能的原因及修复步骤

1. 先确认sudo权限配置

Ansible用become: true切换权限时,如果myuser需要输入sudo密码但Ansible没拿到,就会导致连接直接关闭。

  • 登录远程RHEL7主机,用visudo或者编辑/etc/sudoers.d/myuser文件,给myuser加上无密码sudo权限:
    myuser ALL=(ALL) NOPASSWD: ALL
    
    注意一定要用visudo编辑,避免语法错误导致sudo失效。

2. 检查逻辑卷参数的正确性

这里有两个容易踩坑的点:

  • 确认远程主机上确实存在rootvg卷组和rootvg-opt逻辑卷,执行以下命令验证:
    vgs rootvg
    lvs rootvg/rootvg-opt
    
  • 你的Playbook里写的size: 1024m是把LV设置为1GB总容量,如果是要扩容1GB,需要改成size: +1024m——Ansible 2.3的lvol模块需要用+号表示增量扩容,这个细节很容易出错!

3. 明确指定远程Python路径

虽然你说Python在/usr/bin/python,但可以在Playbook里明确声明,避免Ansible自动探测出错:

---
- hosts: my-test
  remote_user: myuser
  become: true
  become_method: sudo
  ansible_python_interpreter: /usr/bin/python  # 加上这一行
  tasks:
    #Extend /opt by 1GB
    - name: Extend /opt by 1024m.
      lvol:
        vg: rootvg
        lv: rootvg-opt
        size: +1024m

4. 开启调试模式抓细节

如果以上步骤都没解决,执行Playbook时加上-vvv参数,获取完整的错误日志,能帮你精准定位问题:

ansible-playbook your_playbook.yml -vvv

内容的提问来源于stack exchange,提问作者Kermit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:00:19