NFS共享存储服务

  • NFS共享存储服务

NFS共享存储服务

NFS (Network File System)网络文件系统
依赖于RPC (远端过程调用)
需安装nfs-utils、 rpcbind软件包
系统服务: nfs、 rpcbind
共享配置文件: /etc/exports

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

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

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

在文件服务器使用NFS发布共享资源
 1.安装nfs-utils、 rpcbind 软件包
 rpm -q rpcbind nfs-util s
 yum -y install nfs-utils rpcbind2.设置共享目录
 mkdir -p /opt/ wwwroot
 chmod 777 / opt/ wwwrootvim /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地址、网段地址,允许使用“*”、"?"通 配符。
 “rw” 表示允许读写,"ro”表示为只读。
 sync:表示同步写入到内存与硬盘中。
 no_ root_ squash :表示当客户机以root身份访问时赋予本地root权限 (默认是root_ squash)
 root_squash:表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户。其它常用选项
 all_ squash :所有访问用户都映射为匿名用户或用户组。
 async :将数据先保存在内存缓冲区中,必要时才写入磁盘。
 subtree check (默认) :若输出目录是一一个子目录,则nfs服务器将检查其父目录的权限。
 nosubtreecheck:即使输出目录是一个子目录,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 nfsnetstat -anpt | grep rpcbind
 #查看rpcbind端口是否开启,rpcbind默认 使用tcp端口111