NFS文件共享

  • ➤NFS概述
  • ➤1、NFS优点与缺点
  • ➤2、NFS服务实现所需条件
  • ➤NFS服务配置
  • ➤服务器使用 NFS 发布共享资源
  • ➤1.安装 nfs-utils、rpcbind 软件包
  • ➤2. 设置共享目录:vim /etc/exports
  • ➤3. 启动 NFS 服务程序
  • ➤查看本机发布的 NFS 共享目录
  • ➤在客户机中访问 NFS 共享资源
  • ➤1.安装 nfs-utils、rpcbind 软件包
  • ➤2.查看 NFS 服务器端共享了哪些目录

➤NFS概述

NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。

➤1、NFS优点与缺点

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

➤2、NFS服务实现所需条件

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

➤NFS服务配置

NFS 的配置文件为/etc/exports(服务端进行配置)
格式为:
共享的目录位置 客户机地址(权限选项)
例 /test888 192.168.78.0/24(rw,sync,no_root_squash) #将/text888目录共享给192.168.78.0网段的所有用户

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

➤1.安装 nfs-utils、rpcbind 软件包

rpm -q rpcbind nfs-utils

yum -y install nfs-utils rpcbind

从nfs获取文件 nfs 文件_网络

➤2. 设置共享目录:vim /etc/exports

mkdir /text888 #创建共享目录

chmod 777 /text888 #修改共享目录权限

vim /etc/exports

/text888 192.168.184.0/24(rw,sync,no_root_squash)

从nfs获取文件 nfs 文件_从nfs获取文件_02

客户机地址可以是主机名、IP 地址、网段地址,允许使用“*”、 “?”通配符。
“rw” 表示允许读写,“ro” 表示为只读。
sync :表示同步写入到内存与硬盘中。
no_root_squash : 表示当客户机以root身份访问时赋予本地root权限(默认是root_squash)。
root_squash :表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户。

其它常用选项

all_squash :所有访问用户都映射为匿名用户或用户组。
async :将数据先保存在内存缓冲区中,必要时才写入磁盘。
subtree_check(默认):若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。

➤3. 启动 NFS 服务程序

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

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

从nfs获取文件 nfs 文件_共享目录_03

➤查看本机发布的 NFS 共享目录

exportfs -rv #发布共享

showmount -e

从nfs获取文件 nfs 文件_运维_04

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

➤1.安装 nfs-utils、rpcbind 软件包

rpm -q rpcbind nfs-utils

yum -y install nfs-utils rpcbind

systemctl start rpcbind

systemctl enable rpcbind

从nfs获取文件 nfs 文件_网络_05

➤2.查看 NFS 服务器端共享了哪些目录

showmount -e 192.168.78.22

从nfs获取文件 nfs 文件_运维_06


mkdir /text777 #客户端创建挂载目录

mount 192.168.78.22:/test888 /text777 挂载目录

df -Th #确认挂载结果

从nfs获取文件 nfs 文件_网络_07


测试是否连同:

客户端创建一个文件

从nfs获取文件 nfs 文件_运维_08

服务器检查创建的文件

从nfs获取文件 nfs 文件_运维_09

设置自动挂载

vim /etc/fstab

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

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

从nfs获取文件 nfs 文件_从nfs获取文件_10

注意:强制卸载 NFS
如果服务器端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行 df -h 命令卡死的现象。这个时候直接使用umount 命令是无法直接卸载的,需要加上 -lf 选项才能卸载。
umount -lf /text777