NFS共享存储服务

Posted Richard_Chiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NFS共享存储服务相关的知识,希望对你有一定的参考价值。

NFS共享存储服务

壹、NFS的概述

1、NFS(Network File System)网络文件系统

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

2、NFS原理图

贰、NFS服务

NFS 的配置文件为:/etc/exports

格式为:

1、文件服务器使用 NFS 发布共享资源

(1)安装 nfs-utils、rpcbind 软件包

rpm -q rpcbind nfs-utils 
yum -y install nfs-utils rpcbind

(2)设置共享目录

mkdir -p /opt/wwwroot
chmod 777 /opt/wwwroot

vim /etc/exports
/opt/wwwroot 192.168.80.0/24 (rw,sync,no_root_squash)
/var/ftp/pub 192.168.4.11(ro) 192.168.4.110(rw)
/share *(rw,sync)
#客户机地址可以是主机名、IP地址、网段地址,允许使用"*"、"?"通配符。

修改配置文件

NFS的常用选项
权限选项 介绍
rw 表示允许读写
ro 表示为只读
sync 表示同步写入到内存与硬盘中
async 将数据先保存在内存缓冲区中,必要时才写入磁盘
no_root_squash 表示当客户机以root身份访问时赋子本地root权限(默认是root_squash)
root_squash 表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户
all_squash 所有访问用户都映射为匿名用户或用户组
subtree_check(默认) 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限
no_subtree_check 即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率
anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID

(3)启动NFS服务程序

  • 手动加载NES共享服务时,应该先启动rpcbind,再启动nfs
  • rpcbind默认使用TCP端口111
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs

查看端口号:netstat -anpt | grep rpcbind #查看rpcbind端口是否开启

(4)查看本机发布的 NFS共享目录


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

(1)安装nfs-utils、rpcbind 软件包,并开启服务

(2)查看NFS服务器端共享的目录

(3)手动挂载NFS共享目录

(4)验证结果


3、设置自动挂载与故障模拟强制解挂

设置自动挂载

模拟故障

强制解挂(当服务器突然断掉,而客户端还在查看共享目录时)


以上是关于NFS共享存储服务的主要内容,如果未能解决你的问题,请参考以下文章

NFS共享存储服务

NFS共享存储

NFS共享存储服务的部署

NFS共享存储服务

NFS共享存储服务

NFS共享存储服务