首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的nfs4挂载不能和ansible一起工作?

为什么我的nfs4挂载不能和ansible一起工作?
EN

Stack Overflow用户
提问于 2019-07-15 19:45:00
回答 2查看 739关注 0票数 0

使用Ansible,我不能挂载nfs4。

我在服务器上配置了nfs4导出,并且可以使用bash shell挂载nfs4和nfs。

我也可以让nfs在ansible中工作,但不是nfs4。

因此,我想知道如何将服务器上的/pool1/volume1这样的共享挂载到客户端上的相同样式路径- /pool1/volume1

我尝试切换到标准的nfs,我可以在bash shell中挂载nfs4,但不能使用ansible挂载。

这是可行的-

代码语言:javascript
复制
  - name: mount softnas NFS volume
    become: yes
    mount:
      fstype: nfs
      path: "/pool1/volume1"
      opts: rsize=8192,wsize=8192,timeo=14,intr,_netdev
      src: "10.0.11.11:/pool1/volume1"
      state: mounted

但这不是

代码语言:javascript
复制
  - name: mount softnas NFS volume
    become: yes
    mount:
      fstype: nfs4
      path: "/pool1/volume1"
      opts: rsize=8192,wsize=8192,timeo=14,intr,_netdev
      src: "10.0.11.11:/pool1/volume1"
      state: mounted

如果我在shell中使用此命令,则可以很好地将路径挂载到test中。sudo mount -t nfs4 10.0.11.11:/ /test虽然不太正确,因为/pool1/volume1和/pool2/volume2之类的id不会出现在/test下

我在服务器上的导出文件是-

代码语言:javascript
复制
/ *(ro,fsid=0)
# These mounts are managed in ansible playbook softnas-ebs-disk-update-exports.yaml
# BEGIN ANSIBLE MANAGED BLOCK /pool1/volume1/
/pool1/volume1/ *(async,insecure,no_subtree_check,no_root_squash,rw,nohide)
# END ANSIBLE MANAGED BLOCK /pool1/volume1/
# BEGIN ANSIBLE MANAGED BLOCK /pool2/volume2/
/pool2/volume2/ *(async,insecure,no_subtree_check,no_root_squash,rw,nohide)
# END ANSIBLE MANAGED BLOCK /pool2/volume2/

当我尝试切换到nfs4时,我在ansible中得到这个错误

装载/pool1/volume1/时出错: mount.nfs4:装载10.0.11.11:/pool1/volume1/失败,服务器给出的原因:没有这样的文件或目录

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-19 10:25:56

我不确定我到底是如何修复它的,但我决定选择推荐的工作流程,即在/export文件夹下绑定我的导出,并使用

代码语言:javascript
复制
/export *(ro,fsid=0)

对根共享执行...as操作。然后这些-

代码语言:javascript
复制
/export/pool1/volume1 *(async,insecure,no_subtree_check,no_root_squash,rw,nohide)
/export/pool2/volume2 *(async,insecure,no_subtree_check,no_root_squash,rw,nohide)
票数 0
EN

Stack Overflow用户

发布于 2019-07-15 20:46:29

检查挂载点是否存在

代码语言:javascript
复制
mkdir /pool1/volume1 # if not exists. Or create an ansible task to create the directory

已更新以在共享为/时更改

代码语言:javascript
复制
  - name: mount softnas NFS volume
    become: yes
    mount:
      fstype: nfs4
      path: "/pool1/volume1"
      opts: rsize=8192,wsize=8192,timeo=14,intr,_netdev
      src: "10.0.11.11:/"
      state: mounted

如果您不想挂载/,那么在服务器中共享/pool1/volume1。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57039055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档