在Linux上导出NFS共享---网络文件系统

目录

一、NFS介绍

[二、NFS 所需要的服务](#二、NFS 所需要的服务)

三、搭建NFS服务器共享文件到客户端

在虚拟机129上配置:

在虚拟机135上配置

测试

四、autofs自动挂载

1、安装软件启动

[2、编写 /etc/auto.master,在里面添加内容如下](#2、编写 /etc/auto.master,在里面添加内容如下)

[3、编写 /etc/auto.nfs,其内容如下](#3、编写 /etc/auto.nfs,其内容如下)

4、重启测试查看


一、NFS介绍

NFS是允许远程主机通过网络挂载文件系统,并像它们挂载在本地那样与这些⽂件系统进⾏交互。

NFS服务器参考/etc/exports配置文件

二、NFS 所需要的服务

|-------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| nfsd | 为共享 NFS ⽂件系统请求的 NFS 服务器内核模块。 |
| rpcbind | 接受本地 RPC 服务的端⼝保留。这些端⼝随后可⽤(或公布出去),这样相应的远程 RPC 服务可以访问它们。 rpcbind 服务响应对 RPC 服务的请求,并建⽴到请求的 RPC 服务的连接。这不能与 NFSv4 ⼀起使⽤。 |
| rpc.mountd | NFS 服务器使⽤这个进程来处理来⾃ NFSv3 客⼾端的 MOUNT 请求。它检查所请求的 NFS 共享是否⽬前由 NFS 服务器导出,并且允许客⼾端访问它。如果允许挂载请求, nfs- mountd 服务会回复 Success 状态,并将此 NFS 共享的⽂件句柄返回给 NFS 客⼾端。 |
| rpc.nfsd | 这个过程启⽤了要定义的服务器公告的显式 NFS 版本和协议。它与 Linux 内核⼀起使 ⽤,来满⾜ NFS 客⼾端的动态需求,例如,在每次连接 NFS 客⼾端时提供服务器线 程。这个进程对应于 nfs- server 服务。 |
| lockd | 这是⼀个在客⼾端和服务器中运⾏的内核线程。它实现⽹络锁管理器(NLM)协议,它允 许 NFSv3 客⼾端锁住服务器上的⽂件。每当运⾏ NFS 服务器以及挂载 NFS ⽂件系统时,它会⾃动启动。 |
| rpc.statd | 这个进程实现⽹络状态监控器(NSM)RPC 协议,该协议可在NFS 服务器没有正常关机⽽ 重启时通知 NFS 客⼾端。 rpc-statd 服务由 nfs- server 服务⾃动启动,不需要⽤⼾配置。这不能与 NFSv4 ⼀起使⽤。 |
| rpc.rquotad | 这个过程为远程⽤⼾提供⽤⼾配额信息。启动 nfs- server 时,⽤⼾也必须启动 quota- rpc 软件包提供的 rpc- rquotad 服务。 |
| rpc.idmapd | 此进程为 NFSv4 客⼾端和服务器提供上⾏调⽤,这些调⽤在线上 NFSv4 名称 ( *user* @* domain* 形式的字符串)和本地UID 和 GID 之间进⾏映射。要使 idmapd 与 NFSv4 正常⼯作,必须配置 /etc/idmapd.conf ⽂件。⾄少应指 定 Domain 参数,该参数定义 NFSv4 映射域。如果 NFSv4 映射域与 DNS 域名相 同,可以跳过这个参数。客⼾端和服务器必须同意 NFSv4 映射域才能使 ID 映射正常⼯ 作。只有 NFSv4 服务器使⽤ pc.idmapd ,它由 nfs- idmapd 服务启动。 NFSv4 客⼾端使⽤基于密钥环的 nfsidmap ⼯具,内核按需调⽤它来执⾏ ID 映射。 如果 nfsidmap 有问题,客⼾端将退回使⽤ rpc.idmapd 。 |

NFSv4的RPC服务:
挂载和锁定协议已合并到 NFSv4 协议中。该服务器还会监听已知的 TCP 端⼝ 2049。因此,
NFSv4 不需要与 rpcbind 、 lockd 和 rpc- statd 服务进⾏交互。NFS 服务器上
仍然需要 nfs- mountd 服务来设置导出,但不涉及任何线上操作。

三、搭建NFS服务器共享文件到客户端

开启两个虚拟机129,135,一个作为NFS服务器来共享文件,另一个通过挂载来接受其共享的文件

在虚拟机129上配置:

1、安装nfs,并启动服务
2

bash 复制代码
dnf install nfs-utils
systemctl start nfs-server

2、在本地服务器写共享文件

bash 复制代码
mkdir /nfs
vim /etc/exports #写共享的对象
cat /etc/exports
/nfs    192.168.5.135(rw)
exportfs -r #通过此命令来共享

可以使用showmount -e 192.168.5.135查看挂载共享的内容。

3、放行防火墙

bash 复制代码
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=mounted
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --reload

在虚拟机135上配置

1、安装nfs,并启动服务

bash 复制代码
dnf install nfs-utils
systemctl start nfs-server

2、写相互之间共享的文件目录,并放行防火墙

bash 复制代码
mkdir /haha
mount 192.168.5.129:/nfs /haha #将129的/nfs文件挂载共享到/haha
df -h /haha/ #通过该命令来查看其挂载点 

测试

在虚拟机129创建文件

在虚拟机135上创建文件,也可以看到虚拟机129创建的文件:

(在nfs服务器虚拟机129上查看客户机创建的文件:相互之间可以创建文件共享)

四、autofs自动挂载

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

其只需要在客户机上配置即(虚拟机135)

1、安装软件启动

bash 复制代码
yum install autofs -y
systemctl start autofs

2、编写 /etc/auto.master,在里面添加内容如下

3、编写 /etc/auto.nfs,其内容如下

bash 复制代码
nfs  192.168.5.129:/nfs

4、重启测试查看

在/haha目录下出现/nfs,就成功了

相关推荐
开心工作室_kaic2 小时前
大数据环境下用户数据隐私安全防护系统的设计与实现(论文+源码)_kaic
android·大数据·运维·服务器·开发语言·安全·课程设计
网安 云的小运营3 小时前
医疗器械如何进行网络安全评估?
网络·安全·web安全·医疗器械
司南OpenCompass6 小时前
深度探索:LLaMa-3网络安全能力全解析
网络·人工智能·深度学习·安全·web安全·llama
钡铼技术6 小时前
防水分线盒DB系列单通道预铸线缆智能仓储系统
网络·数据库·集线器·防水分线盒db系列·钡铼dbm12·分线盒
有谁看见我的剑了?6 小时前
配置 openeuler yum镜像源
linux·运维
两拆6 小时前
Ubuntu(20.04 LTS)更换镜像源
linux·运维·ubuntu
hac13226 小时前
将jar包部署在Docker容器中
运维·docker·容器
靑木3126 小时前
LVS+Keepalived群集
linux·运维·服务器·lvs
职场人参7 小时前
怎么将flac格式音频转为mp3?看了就能学会的四种方法介绍!
开发语言·网络·人工智能·计算机视觉·音视频
转身後 默落7 小时前
e6.利用 docker 快速部署自动化运维平台
运维·docker·自动化