Linux下Nfs服务以及Autofs

1.NFS的共享流程

1.客户端首先找到NFS服务器上的rpc-bind服务,这个服务会高速客户到底有没有NFS共享,如果有的话rpc-bind会带客户去寻找mountd服务
2.mountd服务告诉客户到底能不能使用NFS共享,如果可以就直接带客户去找NFS服务
rpc-bind------->mountd-------->nfs 

所以客户端要共享磁盘中的数据的时候,此时服务端的三个服务都必须开启

rpc-bind
mountd
nfs

2.什么是NFS

NFS是Network File System的缩写,即网络文件系统,一种使用于分散式文件系统的协定,由Sun公司开发
是FreeBSD支持的文件系统中的一种,它允许网络中的计算机通过TCP/IP共享资源
功能是通过网络让不同的机器,不同的操作系统能够彼此分享数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据
是在类Unix系统间实现磁盘文件共享的一种方法
NFS的基本原则是 允许不同的客户端及服务端通过一组RPC分享相同的文件系统
它是独立于操作系统,允许不同硬件及操作系统的系统共同进行文件的分享
RPC服务,主要是NFS共享时候负责通知客户端,服务器的NFS端口号是什么的,是一个中间服务。

3.NFS的优点

节省本地储存空间,将常用的数据存在放一台NFS服务器上,且可以通过网路访问,那么本地终端将可以减少自身储存空间的使用
用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被使用
一些存储设备如软驱,CDROM和Zip(高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用
可以减少整个网络中可移动介质设备的数量

4.实验环境搭建
开启desktop和server虚拟机
分别配置网络,yum源,更改主机名,desktop 172.25.254.115做客户端,server172.25.254.215做服务端
在server上搭建NFS服务器
搭建nfs服务器,使nfs服务器的目录可以挂载在客户端本地,并且可以在本地修改

 yum install -y nfs-utils 安装nfs服务

在这里插入图片描述

systemctl start nfs-server

在这里插入图片描述

在火墙中加入nfs服务

在这里插入图片描述
别忘记添加rpc-bind和mountd服务否则还是不能使用nfs服务
在这里插入图片描述
nfs服务器自动挂载和自动卸载
以下所有操作都在客户端进行

yum install antofs -y 安装可以实现自动挂载文件系统的服务

在这里插入图片描述

systemctl start autofs 开启服务
systemctl enable autofs 设置开机启动

在这里插入图片描述

从开启了autofs这个服务后,系统就有/net这个目录

在这里插入图片描述

ls发现什么都没有
cd 172.25.254.215进入服务器
ls 能够看到172.25.254.215共享的/westos_nfs目录

在这里插入图片描述

cd westos_nfs 
df 发现已经自动挂载

在这里插入图片描述

cd 出去,df依然挂载,没有自动卸载,原因:因为配置文件中写的默认停留时间是300s

在这里插入图片描述

vim /etc/sysconfig/autofs修改停留时间为3s

在这里插入图片描述

重启autofs服务
再次cd进入/net/172.25.254.215/westos_nfs 
然后cd 出,等待3秒,发现自动卸载了

在这里插入图片描述
如何改变自动挂载的目录,不想在/net下自动挂载
在客户端115上,想将服务端共享的目录/westos_nfs自动挂载到/mnt/yty目录下,如何实现?

cd /mnt/yty 可见是不存在的

在这里插入图片描述

vim /etc/auto.master 编辑自动挂载的主策略文件

在这里插入图片描述
/mnt为目的挂载目录的上一级目录,/etc/auto.nfs为子策略文件

编辑子策略文件 /etc/auto.nfs

在这里插入图片描述
yty为最终挂载目录,172.25.254.215:/westos_nfs为挂载源地址

systemctl restart autofs 重启服务

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

退出3秒后,自动卸载

在这里插入图片描述

cd /mnt/yty 再次挂载
mount 查看挂载类型

在这里插入图片描述
可以看出是读写挂载,vers=4,如何设置自动挂载类型?

vim /etc/auto.nfs

在这里插入图片描述
重启服务

cd /mnt/yty 可以看到已经改变挂载类型ro只读挂载和vers=3

在这里插入图片描述

配置nfs服务器
在服务端215
在server中创建一个/westos_nfs目录作为共享目录,在/westos_nfs中创建文件
在这里插入图片描述
在这里插入图片描述
编辑nfs的配置文件,/etc/exports,/westos_nfs *(sync) 表示将/westos_nfs这个目录共享给所有客户
在这里插入图片描述

exportfs -rv 表示刷新查看共享目录

在这里插入图片描述
重启nfs-server服务
在客户端115

yum install nfs-utils -y 安装可以使用nfs的软件
showmount -e 172.25.254.215查看远程共享的文件

在这里插入图片描述
可以看到/westos_nfs

mount /172.25.254.215:/westos_nfs /mnt 挂载到本地

在这里插入图片描述
尝试去建立一个file4,发现不能建立,因为是只读
在这里插入图片描述

umount /mnt 卸载

在服务端215

vim /etc/exports 修改成为读写方式共享

在这里插入图片描述

exportfs -rv 刷新

在这里插入图片描述
在115客户端
这时候已经是读写分享了,卸载再挂载,再次touch file4 发现报错变了,变成了权限不允许
在这里插入图片描述
这时候是服务允许了,但是文件系统不允许,在服务端215给一个777的权限/westos_nfs,这时候再次touch file4 就成功建立了
在这里插入图片描述

ll 发现客户端root用户上传默认是以nfsnobody 匿名用户上传

在这里插入图片描述
回到215服务端

vim /etc/exports

在这里插入图片描述

anonuid=1001,anongid=1001,意思为,指定客户端的用户身份(uid,gid)为服务端已经存在的用户身份,身份是服务端的身份,和客户端无关。
exportfs -rv 刷新

在客户端115

卸载,再次挂载,创建文件file5
发现file5的所属用户是1001,所属组也是1001

在这里插入图片描述
在客户端显示的是1001,但是在服务端,显示的是westos,因为1001用户是服务端的westos用户
在这里插入图片描述
在215服务端

vim /etc/exports

在这里插入图片描述

exportsfs -rv 刷新

在客户端

卸载,挂载,然后建立file6,发现所属用户和用户组都是root

在这里插入图片描述

no_root_squash这个参数表示,当客户端使用超级用户挂载时,不转换身份,身份仍是超级用户

在服务端

vim /etc/exports

在这里插入图片描述

exportfs -rv 刷新

在客户端

卸载,挂载,创建file7

在这里插入图片描述

发现file7的所属用户和组又成了1001,all_squash表示,转变所有客户端的用户身份为服务器用户(指定的用户,此处为1001)

在115客户端

 用vim /etc/master主策略文件和vim /etc/auto.nfs子策略文件将215上的/westos_nfs重新自动挂载到/mnt/yty目录下
 umount /mnt 
 su - student 
 挂载,创建file8

发现用student用户创建的文件file8也属于服务端的1001
在这里插入图片描述
在服务端查看

ll /westos_nfs file9属于westos用户

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值