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

image.png==该图是NFS的原理图。==

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

NFS的配置文件为/etc/exports

格式为:
共享的目录位置客户机地址(权限选项)
在文件服务器使用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)

==OSS:对象存储设备==

==NFS:文件存储设备==

客户机地址可以是主机名、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服务器也不检查其父目录的权限,这样可以提高效率。
anonuid=xxx :指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx :指定NFS服务器/etc/passwd文件中匿名用户的GID

3.启动NFS服务程序
手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs

netstat -anpt | grep rpcbind 查看rpcbind端口是否开启,rpcbind默认 使用tcp端口111
4.查看本机发布的NFS共享目录
exportfs -rv 发布共享
showmount -e

NFS相关实验

1.创建两个目录.PNG==我们先创建两个目录。==
2.查看这两个软件包是否都安装了.PNG==查看这两个软件包是否都进行了安装。==
3.进入exports里面进行编辑.PNG==这里rw 表示允许读写,sync:表示同步写入到内存与硬盘中。==
4.启动这两个软件.PNG==我们对这两个软件进行启动。==

查看rpcbind端口是否开启.PNG==查看rpcbind端口是否开启。==
5.关闭防火墙以及开机自启.PNG==关闭防火墙。==
6.发布共享.PNG==这里是发布共享的操作。==
7.在另一台虚拟机上面启动rpcbind这个软件.PNG==在另一台虚拟机上面启动rpcbind这个软件。==
8.指定ip地址以及新建一个目录,并且把ip地址挂载到新建的目录下面.PNG==指定ip地址(这里的ip地址是宿主机的ip地址。以及新建一个目录,并且把ip地址挂载到新建的目录下面。==
9.到之前创建的目录里面,并且进行改写内容到lsp.1txt这个文件里面,并且查看这个文件是否有改写的内容.PNG==到之前创建的目录里面,并且进行改写内容到lsp.1txt这个文件里面,并且查看这个文件是否有改写的内容。==
10.这里是表示表示当客户机以root身份访问时赋子本地root权限默认是root_ squash 。.PNG==这里是表示表示当客户机以root身份访问时赋子本地root权限默认是root_ squash。==

11.然后进行重新发布.PNG==然后进行重新发布。==
12.在另一台客户机上面,先查看能不能接收到宿主机的信息,然后创建一个目录data3,以及把宿主机的ip挂载到新创建的目录中,然后进入新创建的目录,发现可以查询到宿主机的文件.PNG==在另一台客户机上面,先查看能不能接收到宿主机的信息,然后创建一个目录data3,以及把宿主机的ip挂载到新创建的目录中,然后进入新创建的目录,发现可以查询到宿主机的文件。==
设置自动挂载.png==这里是设置自动挂载。==