centos7 挂载nfs共享文件夹

 

1. nfs服务端安装nfs-utils和rpcbind

yum install nfs-utils rpcbind

2. 启动 nfs & rpcbind

systemctl start nfs
systemctl start rpcbind

#设置开机自动启动
systemctl enable rpcbind.service
systemctl enable nfs-server.service

3.创建要共享的文件夹,并设置权限(假设共享文件夹所在机器 IP 为:172.30.0.16)

mkdir -p /data/share
chmod -R 777 /data/share

#添加文件访问权限到这个文件中 /etc/exports 并使其生效

#允许 172.30.*.* 的 IP 段访问此文件夹
/data/share 172.30.*.*(rw,no_root_squash,no_all_squash,sync)
 
[root@nginx-01 ~] # vim /etc/exports
/home/tomcat/img/  192.168.207.128(insecure,rw, sync ,anonuid=500,anongid=500)

#重新加载/etc/exports的配置:
[root@nginx-01 ~] # exportfs -r
#此文件的配置格式为:<输出目录> [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)]
rw   read-write,可读写;
sync:文件同时写入硬盘和内存;
async:文件暂存于内存,而不是直接写入内存;
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;
anongid:匿名用户的GID值。
 

4.列出nfs服务端共享的目录:

#本地查看
[root@VM_server ~]# showmount -e localhost
Export list for localhost:
/data/share 172.30.*.*

#远程查看
[root@oracle210 ~]# showmount -e 172.30.0.16
Export list for 172.30.0.16:
/data/share 172.30.*.*

5.挂载目录

mount -t nfs 172.30.0.16:/data/share /mnt/share

6.查看挂载的目录

df -h

7.卸载挂载的目录

umount /mnt/share

8.编辑/etc/fstab,开机自动挂载

vim /etc/fstab
# 在结尾添加如下一行
172.30.0.16:/data/share /mnt/share nfs4 defaults 0 0

 

 

遇到问题:mount.nfs: access denied by server while mounting 172.30.0.16:/data/share

#原因一: NFS版本问题
 
解决方法:修改配置文件/etc/sysconfig/nfs,设置:RPCNFSDARGS="-N 4"
vim /etc/sysconfig/nfs
RPCNFSDARGS="-N 4"
#NFS分为三个版本,即NFS-2 NFS-3 NFS-4,该配置文件默认关闭了这三个的NFS版本,我们只需要打开NFS-4即可。

重启nfs

systemctl restart nfs

 
#可能原因二: nfs服务器上的/etc/hosts中设置了客户端机器IP对应域名,去掉即可。
 
 
#可能原因三: 查看客户端挂载的目录是否具备读写权限,添加相应权限即可。
 
 
#可能原因四: 使用了非法端口,也就是使用了大于1024的端口。
这个错误,可以通过查看日志确认:
 
[root@local~ /]# cat /var/log/messages | grep mount
Jan 2 12:49:04 localhost mountd[1644]: refused mount request from 172.30.0.100 for /home/nfsshare/ (/home/nfsshare): illegal port 1689
解决办法:
修改配置文件/etc/exports,加入 insecure 选项,重启nfs服务,再尝试挂载。
/home/nfsshare/  *(insecure,rw,async,no_root_squash)
 

 

 

遇到问题2:mount: wrong fs type, bad option, bad superblock on

 
[root@al-2-147-tikv01 ~]# mount -t nfs 172.30.0.16:/data/share /mnt/share
mount: wrong fs type, bad option, bad superblock on 172.30.0.16:/data/share,
       missing codepage or helper program, or other error
       (for several filesystems (e.g. nfs, cifs) you might
       need a /sbin/mount.<type> helper program)

       In some cases useful info is found in syslog - try
       dmesg | tail or so.


原因:没有安装 mount.nfs(没有/sbin/mount.<type>文件)

解决方法:安装nfs-utils即可
yum install nfs-utils

安装之后,/sbin/下面多了两个mount文件,分别是mount.nfs和mount.nfs4:

 

 
 
 
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值