` NFS | 听云轩

NFS

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
        • 所有主机:*
          AmsRxS.png

注:当我们需要设置成all_squash的时候需要指定它的anonuid和anongid

比如:
AmsHP0.png

它表示共享/nfsshare目录,192.168.206.0网段的所有主机都可以访问,具有可读写,并且所有的用户在访问时都映射成服务器上uid为1001,gid为1001的用户

3、开启服务,并放行防火墙

1
2
3
4
5
6
7
8
systemctl enable nfs
systemctl restart nfs
systemctl enable rpcbind
systemctl restart rpcbind
systemctl status nfs

firewall-cmd --add-service=nfs --permanent
firewall-cmd --reload

4、检查

1
showmount -e

AmyMJP.png

1
rpcinfo -p

Amylz8.png

二、客户端配置
1、安装并创建本地挂载文件夹

2、修改/etc/fstab文件使其永久挂载
AmydJ0.png

3、进行挂载

1
mount -a

4、查看挂载情况

1
df -Th

Amy6eJ.png

5、测试
进入到test目录(客户端的挂载文件夹)中,创建文件,但此时报错,因为all_squash和roor_squash是默认设置,会将远程访问的用户映射为nobody用户,而test是root用户,所以可将共享文件权限设为:no_root_squash,也可以将nfsshare更改为nobody用户。

客户端:
AmyXfP.png

服务器端
Am69mQ.png

------ 本文结束 ------
您的支持将鼓励我继续创作