NFS共享存储服务
作者:互联网
NES共享存储服务
NES是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法, NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
NES服务的实现依赖于RPC (Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。所以需要安装nfs-utils, rpcbind软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。
NES的配置文件为/etc/exports
格式为:
共享的目录位置 客户机地址(权限选项)
在文件服务器使用NES发布共享资源
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)
- 客户机地址可以是主机名、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 : 指定NES服务器/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 I grep rpcbind #查看rpcbind端口是否开启, rpcbind服务默认使用tcp端口111
4.查看本机发布的NES共享目录
showmount -e
exportfx -rv #发布共享
在客户机中访问NFS共享资源
1.安装nfs-utils, rpcbind软件包
rpm -q rpcbind nfs-utils yum -y install nfs-utils rpcbind systemctl start rpcbind systemctl enable rpcbind
#查看NES服务器端共享了哪些目录 showmount -e 192.168.80.10
2.手动挂载NFS共享目录
mkdir /myshare mount 192.168.80.10:/opt/wwwroot /myshare
mount #确认挂载结果,也可以使用df-Th
3.设置自动挂载
vim /etc/fstab 192.168.80.10:/opt/wwwroot /myshare nfs defaults,_netdev 0 0 _netdev : 表示挂载设备需要网络
4.强制卸载NES
如果服务器端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行df -h命令卡死的现象。这个时候直接使用umount命令是无法直接卸载的,需要加上 -lf选项才能卸载。
umount -lf /myshare
标签:存储,rpcbind,nfs,NFS,共享,root,NES 来源: https://www.cnblogs.com/Rui-Lin/p/14965729.html