NFS共享存储
文章目录
NFS 共享存储服务
NFS简介
NFS是一种**基于TCP/IP传输的网络文件系统协议。通过使用NPS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源**。
对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NES没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
NFS服务的实现依赖于RPC (Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。所以需要安装nfs-utils、rpcbind 软件包来提供 NES共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。
NFS的配置文件为letc/exports
格式为:
共享的目录位置 、0客户机地址(权限选项)
NFS原理
一、NFS简介
1./etc/exports 配置文件
格式
共享目录位置 客户机地址(权限选项)
权限选项 | 说明 |
---|---|
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 |
在文件服务器使用NFS 发布共享资源
1.安装nfs-utils、 rpcbind软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind(默认Linux7已安装)
2.设置共享目录
mkdir gaohaipeng
chmod 777 gaohaipeng
3.修改配置文件
vim /etc/exports
/root/gaohaipeng 192.168.206.0/24(rw,sync,no_root_squash)
客户机地址可以是主机名、IP地址、网段地址,允许使用"*"、"?"通配符。
3.启动 NFS 服务程序
#手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs
netstat -anpt l grep rpcbind #查看rpcbind端口是否开启,rpcbind默认使用tcp端
口111
4.发布NFS共享目录并查看
exportfs -rv
showmount -e
5.在客户机中查看NFS共享文件
在客户机中访问NFS共享资源
在客户机上安装服务
查看NFS服务器端共享的目录
手动挂载NFS共享目录
设置自动挂载
vim /etc/fstab
查看自动挂载是否成功
强制解挂载(当服务器突然断掉,客户端还在查看共享目录时)
强制解挂载恢复使用