NFS简介

NFS(Network File System 网络文件服务),是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。

NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。(远端过程调用:自己没有这种功能,调用别人的功能) NFS 也是 NAS 存储 设备必然支持的一种协议,以完成远程到本地的映射过程。

在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。

NFS的特点:

  • 采用TCP/IP传输网络文件
  • 安全性低
  • 简单易操作
  • 适合局域网环境

NFS原理

在这里插入图片描述
NFS优势:

节省本地存储空间,将常用的数据如:/home 目录,存放在NFS服务器上且可以通过网络访问,将减少本地磁盘的使用率。

NFS软件介绍

软件包 (包括服务器端和客户端):

  • nfs-utils (nfs端口号 2049/tcp)
  • rpcbind (RPC端口号 111/tcp)

相关软件包(可不安装):tcp_wappers

NFS服务主要进程:

  • rpc.nfsd 最主要的NFS进程,管理客户端是否可登录
  • rpc.mountd 挂载和卸载NFS文件系统,包括权限管理
  • rpc.lockd 非必要,管理文件锁,避免同时写出错
  • rpc.statd 非必要,检查文件一致性,可修复文件

配置文件

配置文件位置:/etc/exports

配置文件格式:
/dir 主机1(参数1,参数2) 主机2(参数1,参数2)…
#分享的目录(绝对路径) 共享给谁(允许哪些主机访问)


#示例:

/share *
#表示将/share目录共享给任何主机 ,代表任意(注意此时未给权限)
(内网中可以用
)

/share 192.168.72.0/24
#表示将/share目录共享给192.168.72.0网段内的任意主机
在这里插入图片描述
exportfs 命令可用于管理 nfs

exportfs -v : 查看本机所有nfs共享目录,及其详细信息
exportfs -r : 重新读取配置文件,重新加载配置

showmount -e : 查看本机发布的NFS共享目录
showmount -e 192.168.72.10 : 查看服务器192.168.72.10提供的共享目录

NFS共享存储服务的操作步骤

实验环境:

服务端:192.168.72.10

客户端:192.168.72.129

1、服务端设置:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
2、客户端设置:
在这里插入图片描述

总结

  1. 启动服务后,可以使用 “ss -ntuap | grep 111” 命令查看端口是否已开启,以便确认服务是否正常启动了。

  2. 使用mount命令只是临时挂载,如果想要将NFS共享目录永久挂载到本地,需要修改配置文件/etc/fstab。挂载参数为:defaults,_netdev。

在这里插入图片描述

  1. 但如果在本机配置文件/etc/fstab中写入了永久挂载,之后服务端取消了对本机的NFS共享,那么本机重启时会出现 “CRTL-D” 报错,此时需要进入但用户模式,编辑/etc/fstab,将NFS共享目录的挂载信息删除。
  2. 强制卸载 NFS:umount -lf 挂载设备/挂载点
  • 如果服务器端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行 df -h 命令卡死的现象。这个时候直接使用umount 命令是无法直接卸载的,需要加上 -lf 选项才能卸载。
Logo

更多推荐