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 里面的东西

原文地址:https://www.cnblogs.com/huangdashu/p/13901713.html