Linux CentOS 8.1 NFS服务器的搭建配置

部署环境说明

实现微服务接口服务器的集群部署、上传文件保存到通过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服务所支持的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 里面的东西  

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值