Linux系统中的NFS文件系统

一、什么是NFS网络文件系统?

1、什么是NFS?

NFS 就是 Network FileSystem 的缩写,最早之前是由sun 这家公司所发展出来的。 它最大的功能就是可以透过网络,让不同的机器、不同的操作系统、可以彼此分享个别的文件。可以简单的将他看做是一个文件服务器!这个 NFS 服务器可以让你的 PC 来将网络远程的 NFS 服务器分享的目录,挂载到本地端的机器当中, 在本地端的机器看起来,那个远程主机的目录就好像是自己的一个磁盘分区槽一样 (partition)!NFS在文件传送或信息传送过程中依赖于RPC协议。

2、什么是RPC?

RPC(Remote Procedure Call)——远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。NFS 服务器在启动的时候就得要向 RPC 注册,所以 NFS 服务器也是一种 RPC server!

二、Linux环境下,NFS服务器的配置

服务器(170):

1、下载软件并且启动服务
yum install nfs-utils
systemctl start nfs
2、配置与NFS服务器相关的防火墙策略
firewall-cmd --list-all							##查看防火墙策略
firewall-cmd --permanent --add-service=nfs		##将nfs服务加入火墙白名单
firewall-cmd --permanent --add-service=rpc-bind	##客户端访问时随即分配端口
firewall-cmd --permanent --add-service=mountd	##火墙允许远程挂载
firewall-cmd --reload							##火墙重新加载策略

在这里插入图片描述
在这里插入图片描述

3、设定nfs共享方式
vim /etc/exports

/redhatlinux *(ro,sync)		##共享目录 所有挂载点同步更新、只读挂载

在这里插入图片描述

4、刷新文件及重启,使设定共享方式生效。
exportfs -rv

在这里插入图片描述

5、测试

客户端(120):

 mount 172.25.254.170:/redhatlinux /mnt/nfs

在这里插入图片描述
这里因为我们服务器的共享方式设定为只读,因此没有写权限,不能完成创建文件的操作

三、客户端auto触发式挂载

默认自动挂载:

1、下载服务软件启动服务
yum install autofs.x86_64 -y	##下载软件
systemctl start autofs		##启动服务

在这里插入图片描述

2、测试
cd /net/172.25.254.170/redhatlinux	##默认挂载目录,默认300秒不操作,自动卸载
ls

在这里插入图片描述
进入路径后,会自动挂载,默认退出目录后300秒,自动卸载

更改默认卸载目录时间:

1、更改配置文件及重启服务
vim /etc/sysconfig/autofs		##7.0版本,7.0以上为/etc/autofs

TIMEOUT=3			##默认卸载时间更改为三秒

systemctl restart autofs.service

在这里插入图片描述

2、测试

在这里插入图片描述
分析:进入目录后,自动挂载,退出目录三秒后查询,已经卸载了。这样会节约服务端和客户端的系统资源

更改默认挂载目录

我们可以看到默认的挂载目录可能不太方便我们的工作,而这个目录是可以更改的

1、更改子配置文件auto.master
vim /etc/auto.master
添加:
/opt    /etc/auto.redhat		##/opt为最终挂载点的所有父级目录,/etc/auto.redhat为手动创建的子配置文件

在这里插入图片描述

2、创建子配置文件auto.redhat
vim /etc/auto.redhat			
redhat 172.25.254.170:/redhatlinux	##redhat为最终的挂载点的最后一级目录

在这里插入图片描述

3、重启服务
systemctl restart autofs
4、测试
cd /opt/redhat
ls

在这里插入图片描述

四、nfs的有关参数

1、对某个用户特殊权限

服务器(170):

vim /etc/exports
/redhatlinux *(ro,sync)	172.25.254.120(rw,sync)		##设置所有人只读挂载,170读写挂载
exportfs -rv		##使设定生效

在这里插入图片描述
测试:

cd /opt/redhat
ls
touch file2
ls

在这里插入图片描述
需要注意的是,这里服务器的本地文件系统的权限需要777,否则客户端即使读写挂载也不能创建或者删除文件

2、设置创建文件保持文件所有者,所有组。

服务器:

vim /etc/exports
/redhatlinux *(ro,sync) 172.25.254.120(rw,sync,no_root_squash)
exportfs -rv

在这里插入图片描述
测试:
客户端:

cd /opt/redhat
touch file3
ll
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值