CentOS 6下挂载NFS共享的方法

挂载前请确保客户机已安装nfs-utils软件包,否则是无法成功挂载的(我是不会告诉你我在这个坑里蹲了四个多小时才爬出来的)。

[root@localhost ~]# yum install -y nfs-utils

挂载使用如下命令格式:

mount nfs服务器ip:共享文件夹的路径 要挂载在本地的路径

例如:

[root@localhost ~]# mount 192.168.1.20:/tmp/test1 /mnt/test1

笔者看到网上有的教程推荐使用类似如下命令来进行挂载:

[root@localhost ~]# mount -t nfs 10.0.2.69:/home /mnt

但经过实测,CentOS 6.5可以不使用-t参数来指定文件系统类型,程序会自动识别。

除了命令行挂载之外,也可以将其加入到/etc/fstab文件中实现开机自动挂载。

之后重启系统即可自动挂载,若想立即生效可以使用如下命令 :

[root@localhost ~]# mount -a

卸载nfs使用此命令格式:

umount nfs共享的挂载点

例如:

[root@localhost ~]# umount /mnt/test1

最后再介绍一种比较特殊的情况,那就是当nfs服务器无响应的时候,在客户端执行df命令或showmount命令时会导致进程假死,而使用umount命令卸载nfs存储则会抛出错误。

此问题的解决方法参考此篇文章:

https://www.ibadboy.net/archives/730.html

CentOS 6下的NFS文件共享服务搭建教程

介绍:
nfs是网络文件系统。类似于samba,但不支持身份认证,只能通过ip地址来鉴别客户端。
起初只可用于linux/unix系统,后来windows也可以使用nfs了。
安装软件:

[root@localhost ~]# yum install nfs-utils

配置服务:
nfs默认的配置文件为/etc/exports,若不存在此文件请手动创建。
编辑配置文件

[root@localhost ~]# vim /etc/exports

向其中添加文件共享,一条一行,格式:
要共享的文件夹 允许访问的主机(访问权限) 允许访问的主机2(访问权限)……….允许访问的主机N(访问权限)…..
允许访问的主机可以用IP来指定也可以用网段、主机名(NetBIOS需正常解析),支持通配符,需要注意的是——通配符只能用在主机名上,不可用于ip。
例如:

关于访问权限的详细解释如下(此处摘录自《鸟哥的Linux私房菜——服务器架设篇(第三版)》):

编辑完配置文件后启动服务即可,在正式启动nfs服务前还需要把rpcbind这个服务给启动了(已启动则略过),否则nfs无法启动。rpcbind服务主要是负责在nfs共享时候告诉客户端服务器的nfs端口号的。

[root@localhost ~]# service rpcbind start
[root@localhost ~]# service nfs start

修改共享配置文件后既可以通过重启服务使配置生效也可以通过如下命令使配置立即生效:

[root@localhost ~]# exportfs -arv

查看当前NFS共享的目录。

[root@localhost ~]# showmount -e     //若仅查看已被客户端挂载的目录则使用-d参数替换-e参数。

目录及文件的权限管理:
nfs服务器设置目录及文件的用户权限在实际生产环境中没有多大意义,因为客户机和服务器上的用户虽然用户名是相同的,但UID可能不同,而NFS是通过UID来区别用户的,那就会产生问题啦!而且,就算在服务器上对NFS共享中的某一个目录设置了所有者,那客户端上其实只要把随便一个用户的UID改成和目录所有者的UID相同,就可以具有所有者的权限啦,所以说,为NFS共享中的目录及文件设置权限是完全没有意义的事情。
客户端挂载及卸载nfs:
参考此篇文章。

CentOS 6下挂载NFS共享的方法

linux卸载无响应的nfs文件系统

问题表现:

如果正在使用的nfs文件系统服务器突然宕掉了,那在客户端执行df命令就会卡死掉,使用umount命令卸载此文件系统会提示设备正忙(device is busy)。

解决方法:

使用umount命令加-l参数卸载失去响应的nfs文件系统。
若不清楚nfs文件系统的挂载位置可以使用nfsstat -m命令查看