NFS是一种分布式文件系统,本质是文件系统,允许网络中不同操作系统的计算机间共享文件。NFS在文件传送或者信息传送过程中依赖于RPC。使用NFS时,用户端只需使用mount命令就可把远程文件系统挂接在自己的文件系统之下。
一、服务器的配置(通过yum源安装):
1、安装并创建需要共享的目录
1 | yum install -y nfs-utils rpcbind |
2、修改文件(showmount 查看所有已挂载的nfs共享目录)
-
nfs.service服务是nfs服务启停控制单元,位于/usr/lib/stemd/system/nfs.service
-
rpc.nfsd是基本的nfs守护进程,主要功能是控制客户端是否可以登录服务器。
-
exportfs 如果修改了/etc/exports文件后不需要重新激活NFS,只要重新扫描一次/etc/exports文件
-
配置/etc/exports,在该文件中,每一行代表一个共享目录,并且描述了改目录如何被共享。
- <共享目录> [客户端1 选项] [客户端2 选项]
- /nfsshare *(rw,all_squash,sync,anonuid=1001)
- 共享目录:nfs系统中需要共享给客户端使用的目录
- 客户端:网络中可以访问这个nfs共享目录的计算机。
- 指定方式:
- 主机:192.168.1.1
- 指定子网中的所有主机:192.168.1.0/24
- 指定域名的主机:www.baidu.com
- 指定域中的所有主机:*.baidu.com
- 所有主机:*
- <共享目录> [客户端1 选项] [客户端2 选项]
注:当我们需要设置成all_squash的时候需要指定它的anonuid和anongid
比如:
它表示共享/nfsshare目录,192.168.206.0网段的所有主机都可以访问,具有可读写,并且所有的用户在访问时都映射成服务器上uid为1001,gid为1001的用户
3、开启服务,并放行防火墙
1 | systemctl enable nfs |
4、检查
1 | showmount -e |
1 | rpcinfo -p |
二、客户端配置
1、安装并创建本地挂载文件夹
2、修改/etc/fstab文件使其永久挂载
3、进行挂载
1 | mount -a |
4、查看挂载情况
1 | df -Th |
5、测试
进入到test目录(客户端的挂载文件夹)中,创建文件,但此时报错,因为all_squash和roor_squash是默认设置,会将远程访问的用户映射为nobody用户,而test是root用户,所以可将共享文件权限设为:no_root_squash,也可以将nfsshare更改为nobody用户。
客户端:
服务器端