redhat9 NFS基本配置和autofs自动挂载

NFS基本服务

NFS: Net File System ,网络服务系统,也是用于文件共享,分为客户端和服务端,主要用于linux系统之间或linux和unix之间的文件共享。

注意

请注意,本实验需要准备两个虚拟机,且基本配置都有的情况下进行(如仓库配置)

如果中间出现类似文件夹权限问题 可执行chmod 777 /testdir类似命令

自动挂载主要常操作都是在客户机上面进行,请操作者分好服务器和客户机,服务器上面主要基于共享文件配置权限和nfs的exportfs 设置

对于⽀持 NFSv3 连接的服务器,rpcbind服务必须处于运⾏状态。要验证 rpcbind是否处于活动状态,请使⽤以下命令:
systemctl status rpcbind
如果停⽌该服务,启动并启⽤该服务:
systemctl enable --now rpcbind
要启动 NFS 服务器,并使其在引导时⾃动启动,请使⽤以下命令:
systemctl enable now nfs server

注意关闭防火墙和SELinux服务和开启添加服务

nfs基本信息和安装

安装包:nfs-utils
服务脚本:nfs-server
共享配置文件:/etc/exports

安装完程序后,执行操作:
systemctl start nfs-server
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload
(两边都进行)

nfs配置

配置文件:vim /etc/exports
写入配置:
共享目录 共享给谁(共享参数) 共享权限
/testdir * (ro)
注解 :/testdir 代表共享目录 ,“ * ”代表共享给所有主机,ro代表只读权限

在服务器里面创建文件共享目录
mkdir /rhel9test并赋予其777权限
/etc/exports
⽂件的格式要求⾮常精确,特别是在空格字符的使⽤⽅⾯。需要将导出
的⽂件系统与主机、不同主机间使⽤空格分隔。但是,除了注释⾏外,⽂件中不应该包括其他
空格。
例如,下⾯两⾏并不具有相同的意义:
/home bob.example.com(rw)
/home bob.example.com (rw)
第⼀⾏仅允许来⾃bob.example.com的⽤⼾读写 /home ⽬录。第⼆⾏允许来⾃ bob.example.com
的⽤⼾以只读⽅式挂载⽬录(默认),⽽其他⽤⼾可以将其挂载为读/写。

参数和权限如下:

文件权限

对于共享文件的权限,通常有以下几种设置方式:
1.读权限(r):允许用户读取共享文件的内容。
2.写权限(w):允许用户修改共享文件的内容。
3.执行权限(x):允许用户在共享文件上执行程序。

条目导出权限

ro 导出的⽂件系统是只读的。远程主机⽆法更改⽂件系统中共享的数据。要允许主机更改⽂件系统(即读写),指定 rw 选项
rw:允许客户端对共享目录读写。
sync:强制同步写入磁盘。
wdelay:延迟写入,等待更多数据一起写入磁盘。
no_subtree_check:关闭对子目录的权限检查。
insecure:关闭对客户端端口的限制。
fsid=0:设置该共享目录的文件系统标识符为0,以避免NFS客户端在挂载该目录时出现错误。如果需要修改这些选项或添加其他选项,可以在/etc/exportfs文件中相应的导出条目后添加选项即可
若没有指定,即为rw,async,no_subtree_check,其中:
rw 表示导出的文件系统是可读写的。
async 表示客户端与服务器通信时使用异步I/O方式。
no_subtree_check 表示不检查客户端访问的路径是否在导出的文件系统中。
如果需要指定其他选项,可以在导出条目中添加对应的选项参数。例如,可以使用以下命令将本地的 /data 目录导出给客户端192.168.1.100,并限制只读权限:# echo “/data 192.168.1.100(ro)” >> /etc/exports

exportfs 工具

配置文件更改后生效要执行命令:exportfs -rv
在这里插入图片描述
exportfs是NFS的一个命令行工具,用于将本地文件系统(或目录)导出给NFS客户端。exportfs命令会读取/etc/exports文件中的配置,并将需要导出的文件系统添加到NFS服务器的导出列表中。具体来说,exportfs命令有以下几个常用选项:
-a:将所有在/etc/exports中定义的文件系统导出给NFS客户端。
-r:重新导出已经在导出列表中的文件系统。
-v:输出详细的导出信息。
-u:取消指定的导出。
-o:指定导出选项,例如rw表示可读写,ro表示只读。
需要注意的是,exportfs命令必须以root权限执行才能生效。

测试

在客户端,执行showmount -e 192.168.169.139,列出共享内容
在这里插入图片描述

mount 192.168.169.139:/rhel9test /redhat9,挂载共享文件(此处的mnt文件可以随意指定一个空目录) 我的此时ip地址是192.168.169.139
在这里插入图片描述

也可以执行 df -h看到挂载情况

showmount命令 查看网络文件能否挂载
如果没有此命令,需要安装nfs-utils
-e:不指名IP默认查本地,等效于后加localhost或者127.0.0.1
-e:后加IP地址是查看指定IP地址有没有网络文件系统提供挂载使用mount命令挂载的时候,是接服务器的IP地址,加上服务器的共享文件,最后是客户机的文件夹

nfs+autofs

在客户端下面执行
mkdir /redhat9 创建本地目录

简介

配置autofs⾃动挂载在⼀般NFS⽂件系统的使⽤过程中,如果客⼾端要使⽤服务端所提供的⽂件系统,可以在 /etc/rc.d/rc.local 中设置开机时⾃动挂载/etc/rc.d/rc.local ⽂件中写⼊的命令,在每次启动系统⽤⼾登录之前都会执⾏⼀次);也可以在登录系统后⼿动利⽤mount来挂载。由于⽹络的问题,NFS服务器与客⼾端的连接不会⼀直存在,当我们挂载了NFS服务器之后,任何⼀⽅脱机都可能造成另外⼀⽅等待超时。为了解决这样的问题,就出现了下⾯的想法:
当客⼾端在有使⽤NFS⽂件系统的需求时才让系统⾃动挂载。
当NFS⽂件系统使⽤完毕后,让NFS⾃动卸载。
于是就产⽣了autofs这个服务。
autofs这个服务是在客⼾端的上⾯,它会持续的检测某个指定的⽬录,并预先设置当使⽤到该⽬录的某个⼦⽬录时,将会取得来⾃服务器端的NFS⽂件系统资源,并进⾏⾃动挂载的操作。

设置编辑环境

autofs服务开启后会自动在根下建立 redhat9 目录
nfs的自动挂载默认就支持
指定自动挂载点,vim /etc/auto.master
其分别代表的是 本地端目录 具体挂载配置文件
在这里插入图片描述
vim /etc/auto.nfs
其分别代表含义
本地端子目录 挂载参数(权限) 服务器:服务器对应目录
此root是我随意其的一个文件名,不是cd命令之后那个root,他是redhat9下面的一个子文件也可以写成data之类的,不需要手动创建
在这里插入图片描述
此处的-rw,应当去掉,因为他的权限是根据服务器而定的,作为客户机,其权限是服务器赋予的,加上本地自己书写的权限与否并不影响结果,反而有害无益,毕竟写得多将来出错的概率也大。

重启服务

systemctl restart autofs
我们执行cd /redhat9,cd root之后
df -h 效果
在这里插入图片描述
假设我们在服务器下面的rhle9test下面创建aa 和aaaa两个文件
在这里插入图片描述
则在客户机的目录下面也有
在这里插入图片描述
如若没有,可执行systemctl restart autofs命令重启服务然后再如此操作

  • 30
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值