环境:

NFS4,CentOS 6

摘要说明:

NFS:NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

NFS主要步骤为:

第一步:选择一台服务器构建一个共享目录作为NFS服务端

第二步:利用NFS将其他需要集群的服务器(作为客户端)的相同目录挂载到NFS服务端;

本篇文章参考学习于https://www.server110.com/linux/201404/10169.html

步骤:

1.构建NFS服务端

a.安装NFS4

通过下面命令安装nfs:

yum install nfs-utils

b.配置NFS共享目录

编辑/etc/exports文件;在文件中添加要共享的目录及目录权限:

vi /etc/exports
/home/exp            192.168.0.10(rw,sync,fsid=0)  192.168.0.11(rw,sync,fsid=0)

 上述命令的意思就是将/home/exp共享给192.168.0.10和192.168.0.11这两台服务器进行挂载;

rw表示可读可写;

sync表示同步写内存和磁盘;

fsid=0表示将/home/exp这个导出文件夹包装成起始根目录。

c.配置开机启动和启动NFS

先设置nfs服务开机自动启动:

chkconfig rpcbind on
chkconfig nfs on

再启动nfs服务:

service rpcbind start
service nfs start

查看nfs服务是否启动:

rpcinfo -p
program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  59906  status
    100024    1   tcp  44235  status
 ......

 也可通过exportfs查看共享目录:

exportfs
/home/exp     	xxx.xxx.xxx.xxx

 2.客户端挂载

a.安装NFS4

先通过如服务端一样安装启动nfs服务;

通过下面命令看是否能够挂载服务端目录:

showmount -e xxx.xxx.xxx.xxx(服务端IP)

b.挂载目录

先创建需要挂载的目录:

mkdir /home/exp

再将该目录挂载到nfs服务端:

mount -t nfs4 xxx.xxx.xxx.xxx(nfs服務器IP):/    /home/exp

查看是否挂载成功:

df -h

c.配置客户端开机自动启动

通过修改/etc/fstab配置客户端自动开机:

vi /etc/fstab
xxx.xxx.xxx.xxx(nfs服務器IP):/   /home/exp  nfs4 ro,hard,intr,proto=tcp,port=2049,noauto 0 0

 但这时是有权限问题,需要修改服务端权限:

vi /etc/exports
/home/exp             192.168.0.10(rw,sync,fsid=0,anonuid=48,anongid=48)  192.168.0.11(rw,sync,fsid=0,anonuid=48,anongid=48)

anonuid=48:让所有匿名用户的操作都视为服务器上用户id为48的用户;

anongid=48:让所有匿名用户的操作都视为服务器上用户id为48的用户组;

注:该用户和用户组的id对用的用户要存在且必须拥有对该目录的读权限

重新读取exports配置:

exportfs -rv

再查看是否读取成功:

exportfs -v

3.总结

NFS(网络文件系统)构建共享目录通常可以用于服务器集群解决公共资源文件的读写;