NFS服务
NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。通过使用NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。对于大多数负载均衡群集来说,使用 NFS 协议来共享数据存储是比较常见的做法,NFS 也是 NAS 存储设备必然支持的一种协议
NFS发布共享资源
NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持
部署NFS服务
NFS 的配置文件为/etc/exports,文件内容默认为空(无任何共享)。在 exports 文件中设置共享资源时,记录格式为“共享目录位置 客户机地址(权限选项)”
安装服务软件包
yum -y install nfs-utils rpcbind
设置共享目录
将/opt目录共享给192.168.78.0/24 网段的使用(权限是rw读写,sync同步写入,no_root_squash 当客户机以 root 身份访问时赋予本地 root 权限)
当需要将同一个目录共享给不同的客户机,且分配不同的权限时,只要以空格分隔指定多个“客户机(权限选项)”即可
#编辑配置文件
vi /etc/exports
#内容如下
/opt 192.168.78.0/24(rw,sync,no_root_squash)
启动服务
systemctl start nfs rpcbind //启动服务
systemctl enable nfs rpcbind //服务开机自启动
查看本机的共享文件夹地址
showmount -e
#内容如下
Export list for 192.168.78.129:
/opt 192.168.78.0/24
客户端
安装并启动 rpcbind
若要正常访问 NFS 共享资源,客户机中也需要安装 rpcbind 软件包,并启动 rpcbind系统服务。另外,为了使用 showmount 查询工具,建议将 nfs-utils 软件包也一并装上
yum -y install nfs-utils rpcbind
挂载共享文件夹
#创建挂载目录
mkdir /nfsgx
#将共享文件夹挂载
mount 192.168.78.129:/opt /nfsgx/
测试
#客户端
cd /nfsgx/ //进入挂载共享目录
vi test.txt //创建文件
#内容如下
hello
#服务端
ls /opt //查看共享目录下内容
test.txt //客户端创建的文件
cat /opt/test.txt //查看客户端创建的文件
hello
自动挂载共享文件夹
挂载参数建议添加_netdev(设备需要网络;若添加 soft、intr 参数可以实现软挂载,允许在网络中断时放弃挂载。这样客户机就可以在每次开机后自动挂载 NFS 共享资源了
#编辑自动挂载配置文件
vi /etc/fstab
#内容如下(添加最后一条信息)
#
# /etc/fstab
# Created by anaconda on Wed Apr 17 16:38:37 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=4e6f9e8d-fdb4-4dc2-9d58-d4708ad447c0 /boot xfs defaults 0 0
/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
192.168.78.129:/opt /nfsgx nfs defaults,_netdev,soft 0 0