NFS共享存储服务(详细图文讲解)

NFS共享存储服务(详细图文讲解)

一、概述

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

NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。

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

NFS 的配置文件为/etc/exports 格式为:共享的目录位置 客户机地址(权限选项)

(二)、NFS文件共享服务的搭建

服务器端 (虚拟机1 ip: 192.168.126.10)
客户端 (虚拟机2 ip: 192.168.126.20)

总体步骤流程:

  1. 服务器端安装相应的软件包: yum -y install rpcbind nfs-utils

  2. 服务器端关闭SElinux和防火墙:setenforce 0 ; systemctl stop firewalld

  3. 创建共享目录(也可以不创建,直接共享现存的目录),并且赋予权限:mkdir /gongxiang ; chmod 777 /gonginag

  4. 修改共享配置文件 /etc/exports

  5. 查看本机发布的 NFS 共享目录:exportfs -rv

  6. 启动 rpcbind服务和nfs服务: systemctl start rpcbind ; systemctl start nfs

  7. 客户端关闭Selinux和防火墙:setenforce 0 ; service iptables stop

  8. 客户端安装rpcbind,并且启动: yum -y install rpcbind ; service rpcbind start

  9. 创建挂载点,查看,并且挂载:mkdir /mygongxiang ; showmount -e 192.168.126.10; mount -t nfs 192.168…126.10:/gongxiang /mygongxiang

    10、验证试验结果

1、具体操作步骤

在服务器上操作:

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

在这里插入图片描述

2、服务器端关闭SElinux和防火墙:

`systemctl stop firewalld

setenforce 0 ;

3、 设置共享目录

mkdir -p /opt/gongxiang
chmod 777 /opt/gongxiang #新建共享目录,名字自取,并且设置权限为777

`4、修改共享配置文件 /etc/exports ,然后重新加载exports文件:exportfs -a

vim /etc/exports #编辑nfs配置文件
/opt/gongxiang 192.168.126.0/24(rw,sync,no_root_squash)
在这里插入图片描述

客户机地址可以是主机名、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服务器也不检查其父目录的权限,这样可以提高效率

5、启动 rpcbind服务和nfs服务:

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

systemctl start rpcbind ;

systemctl start nfs

systemctl enable rpcbind #可以直接设置成开机自启
systemctl enable nfs

6.查看本机发布的 NFS 共享目录
exportfs -rv #发布共享
showmount -e
在这里插入图片描述

7、客户端关闭SElinux和防火墙:

systemctl stop firewalldc

setenforce 0 ;

在客户端上操作:

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

安装 nfs-utils、rpcbind 软件包

rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
systemctl start rpcbind
systemctl enable rpcbind

查看 NFS 服务器端共享了哪些目录
showmount -e 192.168.126.10

在这里插入图片描述

9、挂载nfs共享目录

手动挂载 NFS 共享目录

mkdir /mygongxiang
mount 192.168.80.10:/opt/gongxiang /mygongxiang

mount #确认挂载结果,也可以使用df -Th

设置自动挂载

vim /etc/fstab
192.168.80.10:/opt/gongxiang		/mygongxiang	nfs defaults,_netdev	0  0

_netdev :表示挂载设备需要网络
在这里插入图片描述

10,最后验证一个共享结果

在这里插入图片描述

在这里插入图片描述

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

umount -lf /mygongxiang 

猜你喜欢

转载自blog.csdn.net/weixin_51573771/article/details/110956475