Centos8搭建nfs共享服务器,注意第三步需要启动nfs
Centos8搭建nfs共享服务器,注意第三步需要启动nfs
https://blog.csdn.net/yiwangC/article/details/104753705
实现微服务接口服务器的集群部署、上传文件保存到通过NFS服务器共享磁盘,
微服务接口服务器1:192.168.3.3
微服务接口服务器2:192.168.3.4
微服务接口服务器3:192.168.3.5
NFS服务器:192.168.3.20
NFS部署步骤
1、检查NFS是否已安装
rpm -qa | grep nfs-utils
2、如果没有安装 执行如下命令安装
dnf install nfs-utils
3.启动nfs服务器 systemctl start nfs-server
查看当前nfs服务所支持的nfs的版本
cat /proc/fs/nfsd/versions
nfs4的大版本下nfs2已经不被支持了
4、NFS服务操作命令
.
查看NFS服务状态
.
.
systemctl status nfs-server
.
启动NFS服务
systemctl start nfs-server
.
.
停止NFS服务
systemctl stop nfs-server
.
5、配置共享文件目录
.
创建目录树
.mkdir -p /data/nfs
.
进入data目录
cd /data
.
更改data目录下的所有文件目录所有者为web
.
.
chown web.web *
.
6、编辑配置文件 及本地做挂载测试
.
编辑配置文件
.
.
vi /etc/exports
.
.
.
.
增加以下内容 其中192.168.3.20是本机IP
.
.
/data/nfs 192.168.3.*(rw,sync,all_squash,anonuid=1000,anongid=1001)
.
.
.
.
支持所有IP 可访问共享在磁盘
.
.
/data/nfs *(insecure,rw,async,no_root_squash)
.
.
.
说明: /etc/exports是nfs默认的配置文件
说明:各项权限的说明:
rw:可读写
ro: 只读
no_root_squash:对root用户不压制,如果客户端以root用户写入,在服务端都映射为服务端的root用户
root_squash: nfs服务:默认情况使用的是相反参数root_squash,
如果客户端是用户root操作,会被压制成nobody用户
all_squash: 不管客户端的使用nfs的用户是谁,都会压制成nobody用户
insecure: 允许从客户端过来的非授权访问
sync: 数据同步写入到内存和硬盘
async: 数据先写入内存,不直接写入到硬盘
anonuid: 指定uid的值,此uid必须存在于/etc/passwd中
anongid:指定gid的值
7、配置完成后,使nfs配置生效
说明:完成设置后,使用exportfs实用程序有选择地导出目录,而无需重新启动NFS服务
.
使用exportfs实用程序有选择地导出目录,而无需重新启动NFS服务
.
.
exportfs -rv
.
.
.
查看当前配置为nfs共享的目录及其状态
.
.
exportfs -v
.
8、挂载本地测试
.
将远程磁盘挂载到本地
.
.
mount 192.168.3.20:/data/nfs /mnt
.
.
.
.
查看磁盘情况
df -hT
9、如果Firewalld正在运行,请允许NFS服务,否则其它客户端无法访问:
.firewall-cmd --add-service=nfs --permanent
firewall-cmd --add-service={rpc-bind,mountd,nfs,nlockmgr,portmapper} --permanent
.firewall-cmd --reload
.
需要启用SELinux boolean:
.setsebool -P nfs_export_all_rw 1
.
开机启动NFS
.
开机启动NFS
.
.
systemctl enable nfs-server
.
10、客户端挂载
.
查询远程NFS 磁盘
.
.
showmount -e 192.168.3.20
.
.
.
.
挂载点为 /home/fileserver 目录不存在时需要创建
.
.
创建目录树
.
.
mkdir -p /home/fileserver
.
.
授权web
.
.
chown web.web /home/*
.
.
.
.
挂载磁盘
.
.
mount -t nfs 192.168.3.20:/data/nfs /home/fileserver
.
客户端和服务端的用户id保持一致 本文为web
查看本地web用户的id
grep web /etc/passwd
把客户端的nginx用户id修改为和服务端一致:
.
修改用户
.
.
usermod -u 1000 web
.
.
.
.
修改用户组
.
.
groupmod -g 1001 web
.
.
.
.
查看用户修改情况
.
.
grep web /etc/passwd
.
客户端机器启动后能自动加载nfs文件系统
.
.
.
把mount命令 添加到以下文件内容
.
.
vi /etc/rc.local
.
.
.
.
最后一行添加
.
.
mount -a
.
.
.
.
赋与可执行权限
.
.
chmod +x /etc/rc.local
.
.
.
.
修改vi /etc/fstab
.
.
vi /etc/rc.local
.
.
最后一行添加
.
.
192.168.3.20:/data/nfs /home/fileserver nfs defaults 0 0
.
.
.
.
执行文件测试
.
.
bash /etc/rc.local
.
注意:如果配置/etc/fstab NFS自动挂载不成功 尝试
rc.local文件增加 mount -a
mount -a 是自动挂载 /etc/fstab 里面的东西