NFS(网络文件系统)

NFS是一个分布式网络文件系统协议,它允许网络中的服务器之间通过TCP/IP网络共享目录和文件。NFS 使用客户端/服务器模型,客户端系统可以透明地访问服务器上的资源就像访问本地资源一样。

实验环境

服务器

主机名

IP地址

操作系统

服务端

node01

192.168.123.1

Centos7.9

客户端

node02

192.168.123.2

Centos7.9

实验步骤

在node01上安装NFS工具

yum -y install nfs-utils

在node01上设置开机启动NFS服务

systemctl start nfs-server && systemctl enable nfs-server && systemctl status nfs-server

在node01上创建NFS共享目录/mnt/NFS

mkdir -p /mnt/NFS

在node01上的配置文件/etc/exports中写入目录以及配置相应权限

echo "/mnt/NFS 192.168.123.0/24(rw,no_root_squash,no_all_squash)" >> /etc/exports

参数

说明

rw

允许客户端对挂载的目录进行读写操作。

sync

同步模式,当一个文件写操作被执行,这个操作会一直挂起直到数据确实被写入磁盘,不加参数默认sync。

async

异步模式,会允许操作在数据完全写入磁盘之前就返回,这会提高性能,但增加了数据损坏的风险。

no_subtree_check

这是一个优化选项,阻止NFS进行子树检查。在早期的NFS版本中,子树检查确保你不能请求一个文件,除非它确实是在被导出的目录下。这往往会导致不必要的延迟。通过使用no_subtree_check选项,这种检查可以被禁用。

root_squash

这会使从客户端挂载的文件系统中的root用户映射到一个匿名用户。这是出于安全考虑,以防止客户端的root用户对服务器上的文件进行任意操作。

no_root_squash

这将禁用root_squash功能,允许客户端的root用户像服务器上的root用户一样拥有完全权限。

all_squash

将所有客户端用户和组映射到匿名用户和组。

更新NFS配置信息(可以不重启NFS服务)

exportfs -arv

检查共享目录配置是否正确

showmount -e

在node02上安装NFS工具

yum -y install nfs-utils

在node02上检查共享目录是否能获取

showmount -e 192.168.123.1

在node02上创建NFS挂载目录/mnt/NFS

mkdir -p /mnt/NFS

在node02上把服务端NFS共享目录挂载到本地目录/mnt/NFS

mount -t nfs 192.168.123.1:/mnt/NFS/ /mnt/NFS/

在node02上配置开机自动挂载NFS共享目录

vim /etc/fstab
192.168.123.1:/mnt/NFS  /mnt/NFS  nfs  defaults  0 0

在node02上验证开机自动挂载是否正常

mount -a