文章目录
NFS介绍
NFS是一种基于TCP/IP传输的网络文件系统协议,通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源
NFS的弊端
对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
NFS的依赖
NFS服务的实现依赖于RPC (Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。所以需要安装nfs-utils、 rpcbind 软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC 支持。
NFS原理图
NFS配置安装
NFS服务的实现依赖于RPC (Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。所以需要安装nfs-utils、 rpcbind 软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。
NFS的配置文件在/etc/exports位置当中
格式为:共享目录的位置 客户机地址(权限选项)
第一步:安装nfs-utils、rpcbind软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
第二步:设置共享目录
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)
其他常用选项
all_squash:所有访问用户都映射为匿名用户或用户组。
async :将数据先保存在内存缓冲区中,必要时才写入磁盘。
subtree_ check (默认) :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
no_subtree_check:即使输出目录是一一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。
anonuid=xxx :指定NFS服 务器/etc/passwd文件中匿名用户的UID
anongid=xxx :指定NFS服务器/etc/passwd文件中匿名用户的GID
第三步NFS服务程序
systemctl start rpcbind
sys temct 1 start nfs
systemctl enable rpcbind
systemctl enable nfs
第四步:查看本机的NFS共享目录
exportfs- rv #发布共享
showmount -e
在客户机中访问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.80.10
手动挂载NFS共享目录
mkdir /myshare
mount 192.168.162.10:/opt/wwwroot /myshare
mount #确认挂载结果,也可以使用df -Th
再在服务器/opt/share目录进行查看,是否同步
强制卸载 NFS
umount -lf /myshare
如果服务器端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行 df -h 命令卡死的现象。这个时候直接使用umount 命令是无法直接卸载的,需要加上-lf
选项才能卸载。