使用Ansible,我无法安装nfs4。
我在服务器上配置了nfs4导出,并且可以使用bash shell挂载nfs4和nfs。
我还可以使nfs正常运行,而不仅仅是nfs4。
所以我想知道如何将服务器上的/ pool1 / volume1之类的共享装载到客户端上的相同样式路径中- / pool1 / volume1
尝试切换到可以正常工作的标准nfs,我可以将nfs4安装在bash shell中,但不能使用ansible
这有效-
- 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
但这不是
- 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
如果我从外壳程序使用此命令,则在将路径安装到测试中时效果很好。 须藤安装-t nfs4 10.0.11.11:///test 尽管不太正确,因为像/ pool1 / volume1和/ pool2 / volume2这样的ID不会出现在/ test下
我在服务器上的导出文件是这个
/ *(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/失败,服务器给出原因:没有这样的文件或目录
答案 0 :(得分:0)
mkdir /pool1/volume1 # if not exists. Or create an ansible task to create the directory
- 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。
答案 1 :(得分:0)
我不确定如何准确地解决它,但是我决定选择建议的工作流程,将我的导出内容绑定在/ export文件夹下,并使用
/export *(ro,fsid=0)
...作为根共享。然后是这些
/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)