linux搭建NFS服务和autofs自动挂载NFS

文章目录

1、nfs服务

1、nfs原理

  • 是一个NAS的存储,通过网络来进行文件的共享,表现出来的形式就是一个文件夹
  • 可以支持多个linux挂载这个设备

2、RPC和NFS通讯原理

  • NFS对应的端口并不是固定的,客户端要知道NFS服务器端的相关端口才能进行数据传输

  • RPC就是用来统一管理NFS的端口,并且统一的对外的端口是111

  • RPC会记录端口的信息,通过PRC实现服务端和客户端沟通信息

  • RPC主要功能就是指定每个NFS工作所对应的端口,并且通知客户端

3、RPC和NFS流程

  • 首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口,RPC就会记录下这些端口,并且RPC会开启111端口,等待客户端RPC的请求

  • 如果客户端有请求,那么服务器端的RPC就会将之前记录的NFS端口信息告知客户端。如此客户端就会获取NFS服务器端的端口信息,就会以实际端口进行数据的传输了

  • 就是2边都开启RPC,NFS,一个作为服务器,一个作为客户端,然后服务端的RPC会记录NFS注册的这些端口,如果客户端的RPC连接过来了,有请求,然后服务端将之前记录的NFS信息告知客户端,这样就客户端就知道了

4、NFS工作流程

  • 首先服务器端启动RPC服务,并开启111端口

  • 服务器端启动NFS服务,并向RPC注册端口信息

  • 客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口

  • 服务端的RPC(portmap)服务反馈NFS端口信息给客户端。

  • 客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。

5、服务端搭建

bash 复制代码
# 
yum -y install rpcbind nfs-utils

[root@test1 mnt]# ls
ftp  nfs
[root@test1 mnt]# tree nfs/
nfs/
└── nfs-flag

0 directories, 1 file

# 编写配置文件
[root@test1 mnt]# cat /etc/exports
/mnt/nfs 10.104.0.0/16(rw,no_root_squash)

# 可以通过这些来确定参数
[root@test1 mnt]# exportfs -v
/mnt/nfs      	10.104.0.0/16(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)

# 放行三个协议,selinux没有关系的
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=mountd
firewall-cmd --reload

6、客户端搭建

bash 复制代码
# showmount与这个服务展示
[root@test2 ~]# showmount -e 10.104.43.99
Export list for 10.104.43.99:
/mnt/nfs 10.104.0.0/16

# 挂载,永久挂载的话写入/etc/fstab中
[root@test2 ~]# mount -t nfs 10.104.43.99:/mnt/nfs /mnt
[root@test2 ~]# cd /mnt/
[root@test2 mnt]# ls
nfs-flag

7、autofs自动挂载

  • 主要在客户端完成,因为是自动将服务端挂载到客户端上面去的
bash 复制代码
yum -y install autofs

# 配置文件
# 定义子目录配置文件模版
[root@test2 ~]# cat /etc/auto.master.d/test.autofs   # 后缀为autofs
/share1 /etc/auto.test  # 用来加载/etc/auto.test这个文件,/share1会自动的创建
[root@test2 ~]# cat /etc/auto.test  # 前缀为auto
share2 10.104.43.99:/mnt/nfs   share2的路径在/share1/share2

[root@test2 ~]# systemctl enable autofs --now

# 默认是空的目录,但是还是可以进入
[root@test2 ~]# cd /share1/share2
[root@test2 share2]# ls
nfs-flag
[root@test2 share2]# 

[root@test2 share2]# df -hT /share1/share2
Filesystem            Type  Size  Used Avail Use% Mounted on
10.104.43.99:/mnt/nfs nfs4  150G  1.2G  149G   1% /share1/share2
相关推荐
迎仔19 分钟前
05-计算设备运维进阶:算力中心的设备医生
运维
石去皿27 分钟前
【嵌入式就业10】Linux内核深度解析:从启动流程到驱动框架的工业级实践
linux·运维·服务器
954L29 分钟前
CentOs7执行yum update出现链接404问题
linux·centos·yum·vault
Wpa.wk30 分钟前
接口自动化 - 多环境统一文件配置 +多响应统一转换处理
运维·服务器·测试工具·自动化·接口自动化·统一配置
Trouvaille ~31 分钟前
【Linux】应用层协议设计实战(二):Jsoncpp序列化与完整实现
linux·运维·服务器·网络·c++·json·应用层
是枚小菜鸡儿吖41 分钟前
从 0 到 1 生成自定义算子:CANN + AIGC 的自动化工作流
运维·自动化·aigc
EmbedLinX44 分钟前
嵌入式之协议解析
linux·网络·c++·笔记·学习
考琪1 小时前
Nginx打印变量到log方法
java·运维·nginx
vortex51 小时前
解密UUOC:Shell编程中“无用的cat使用”详解
linux·shell编程
tritone1 小时前
使用阿贝云免费云服务器学习Vagrant,是一次非常顺畅的体验。作为一名开发者
服务器·学习·vagrant