Linux网络——NFS共享服务原理与配置

一、NFS概述

NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。所以需要安装 nfs-utils、rpcbind 软件包来提供 NFS共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。

1、NFS优点与缺点

对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。

2、NFS服务实现所需条件

NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。
所以需要安装 nfs-utils、rpcbind 软件包来提供 NFS共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。

二、NFS服务

1、NFS 的配置文件为/etc/exports(服务端进行配置)

共享目录位置 客户机地址(权限选项)

2、服务器使用 NFS 发布共享资源

(1)安装 nfs-utils、rpcbind 软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind

(2) 设置共享目录

nfs 使用什么协议 nfs协议实现_服务器


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VvxH5ow5-1655994328547)(C:\Users\YU\AppData\Roaming\Typora\typora-user-images\image-20220623222046185.png)]

(3)启动 NFS 服务程序

手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs

systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs

(4)查看本机发布的 NFS 共享目录
exportfs -rv #发布共享
showmount -e

3、在客户机中访问 NFS 共享资源

(1)安装 nfs-utils、rpcbind 软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
systemctl start rpcbind
systemctl enable rpcbind

(2)查看NFS服务器端共享的目录
showmount -e 192.168.80.10
mkdir /myshare 手动挂载 NFS 共享目录
mount 192.168.80.10:/opt/wwwroot /myshare
mount #确认挂载结果,也可以使用df -Th

(3)手动挂载NFS共享目录
mkdir /kgc
mount 192.168.184.10:/root/ljm /kgc
df -Th

(4)设置自动挂载
vim /etc/fstab

192.168.80.10:/opt/wwwroot /myshare nfs defaults,_netdev 0 0

_netdev :表示挂载设备需要网络

(5)查看自动挂载是否设置成功
umount /kgc
df
mount -a
df

(6)强制解挂(当服务器突然断掉,而客户端还在查看共享目录时)
如果服务器端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行 df -h 命令卡死的现象。这个时候直接使用umount 命令是无法直接卸载的,需要加上 -lf 选项才能卸载。

umount -lf /myshare

df -h 命令卡死的现象。这个时候直接使用umount 命令是无法直接卸载的,需要加上 -lf 选项才能卸载。

umount -lf /myshare