NFS服务器

目录

一、简介

二、NFS工作原理

三、NFS的安装部署

1.NFS服务端的部署

2.NFS客户端部署

四、autofs自动挂载服务


一、简介

NFS简介:

NFS是Network File System的缩写,中文称为网络文件系统,它的主要功能是通过网络(一个局域网)让不同的主机系统之间可以共享文件或目录,NFS的客户端(一般为应用服务器,例如web)可以通过挂载(mount)的方式将NFS服务器共享的数据目录挂载到NFS客户端本地系统中,从客户端本地看,NFS服务器端共享目录就好像是客户端自己的磁盘分区或者目录一样,而实际上却是远端的NFS服务器的目录。

NFS服务器挂载结构图:


RPC简介:

  • RPC服务类似于NFS服务器端和NFS客户端中间的一个中介
  • 因为NFS支持的功能相当多,而不同的功能会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此,NFS的功能所对应的端口无法固定
  • 因为端口不固定,这样一来就会造成NFS客户端与NFS服务器端的通信障碍,因为NFS客户端必须要知道NFS服务器端的数据传输端口才能进行通信,才能交互数据
  • 要解决上面的困扰,就需要通过远程过程调用RPC服务来帮忙了,NFS的RPC服务最主要的功能就是记录每个NFS功能所对应的端口号,并且在NFS客户端发出请求时将该端口和功能对应的信息传递给请求数据的NFS客户端,从而确保客户端可以连接到正确的NFS端口上去,达到实现数据传输、交互数据目的

二、NFS工作原理


流程:
1.首先服务器端启动RPC服务,并开启111端口
2.服务器端启动NFS服务,并向RPC注册端口信息
3.客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
4.服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
5. 客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输

三、NFS的安装部署

1.NFS服务端的部署:

1.1 关闭防火墙

1.2 软件安装

1.3 创建共享文件目录,设置权限,编辑配置文件

cpp 复制代码
[root@localhost ~]# mkdir /data
[root@localhost ~]# chmod o+w /data
[root@localhost ~]# vim /etc/exports
/data   192.168.75.128(rw,all_squash,sync)

1.4 使配置生效,先启动rpc服务再启动nfs服务

在启动 NFS 之前,要先启动 RPC ,否则 NFS 会无法向 RPC 注册。另外, RPC 若重新启动,原来 注册的数据会消失不见,因此 RPC 重启后,它管理的所有服务都需要重新启动以重新向 RPC 注册。

2.NFS客户端部署

2.1 软件安装

2.2 查询有哪些共享目录可用

2.3 新建本地挂载目录,使用mount远程挂载服务器的目录到客户端的本地目录,并新建文件

2.4客户端使用开机自动挂载实现永久挂载

cpp 复制代码
[root@localhost ~]# vim /etc/fstab
192.168.75.128:/data    /xixi               nfs  defaults 0 0

[root@localhost ~]# mount -a
[root@localhost ~]# df -Th
文件系统              类型      容量  已用  可用 已用% 挂载点
devtmpfs              devtmpfs  4.0M     0  4.0M    0% /dev
tmpfs                 tmpfs     866M     0  866M    0% /dev/shm
tmpfs                 tmpfs     347M  7.2M  340M    3% /run
/dev/mapper/rhel-root xfs        17G  4.2G   13G   26% /
/dev/nvme0n1p2        xfs       960M  292M  669M   31% /boot
/dev/nvme0n1p1        vfat      599M  7.0M  592M    2% /boot/efi
tmpfs                 tmpfs     174M   96K  174M    1% /run/user/1000
/dev/sr0              iso9660   9.9G  9.9G     0  100% /mnt
tmpfs                 tmpfs     174M   36K  174M    1% /run/user/0
192.168.75.128:/data  nfs4       17G  4.2G   13G   26% /xixi

关于NFS配置权限设置,即/etc/exports文件配置格式中小括号()里的参数集:

四、autofs自动挂载服务

产生原因 :由于网络的问题,NFS服务器与客户端的连接不会一直存在,当我们挂载了NFS服务器之后,任何 一方脱机都可能造成另外一方等待超时,如果在资源挂载后长期不使用,也会造成服务器硬件资源 的浪费。

解决办法:当客户端在有使用NFS文件系统的需求时才让系统自动挂载。 当NFS文件系统使用完毕后(autofs默认自动卸载时间为300s即5分钟),让NFS自动卸载

配置文件路径:/etc/auto.master 文件内容格式: 挂载的父目录 子配置文件

  • 挂载父目录不需要事先存在,因为autofs为主动创建该目录
  • 自配置文件可以自定义 eg: /etc/auto.suibian
  • 内容格式如: /dirmaster /etc/auto.suibian

子配置文件:(自己创建的)内容格式:

  • 本地挂载子目录 服务器地址:目录
  • 例如: xixi 192.168.75.128:/data

服务端部署同上

客户端部署:

1.先查看有哪些共享目录可用

  1. 编辑自动挂载配置文件
cpp 复制代码
主配置文件:
[root@localhost ~]# vim /etc/auto.master    定位第七行输入

子配置文件(必须和上面创建的自配置文件一样)
/dirmaster   /etc/auto.suibian  
xixi  192.168.75.128:/data

3.启动服务并测试

cpp 复制代码
[root@localhost ~]# systemctl start autofs
[root@localhost ~]# df -Th     查看挂载信息
文件系统              类型      容量  已用  可用 已用% 挂载点
devtmpfs              devtmpfs  4.0M     0  4.0M    0% /dev
tmpfs                 tmpfs     866M     0  866M    0% /dev/shm
tmpfs                 tmpfs     347M  7.2M  340M    3% /run
/dev/mapper/rhel-root xfs        17G  4.2G   13G   26% /
/dev/nvme0n1p2        xfs       960M  292M  669M   31% /boot
/dev/nvme0n1p1        vfat      599M  7.0M  592M    2% /boot/efi
tmpfs                 tmpfs     174M   96K  174M    1% /run/user/1000
/dev/sr0              iso9660   9.9G  9.9G     0  100% /mnt
tmpfs                 tmpfs     174M   36K  174M    1% /run/user/0

[root@localhost ~]# cd /dirmaster/    进入本地目录,会自动新建
[root@localhost dirmaster]# ls
[root@localhost dirmaster]# cd xixi    进入本地挂载目录的下级目录,会出发自动挂载
[root@localhost xixi]# ls
1
[root@localhost xixi]# df -Th
文件系统              类型      容量  已用  可用 已用% 挂载点
devtmpfs              devtmpfs  4.0M     0  4.0M    0% /dev
tmpfs                 tmpfs     866M     0  866M    0% /dev/shm
tmpfs                 tmpfs     347M  7.2M  340M    3% /run
/dev/mapper/rhel-root xfs        17G  4.2G   13G   26% /
/dev/nvme0n1p2        xfs       960M  292M  669M   31% /boot
/dev/nvme0n1p1        vfat      599M  7.0M  592M    2% /boot/efi
tmpfs                 tmpfs     174M   96K  174M    1% /run/user/1000
/dev/sr0              iso9660   9.9G  9.9G     0  100% /mnt
tmpfs                 tmpfs     174M   36K  174M    1% /run/user/0
192.168.75.128:/data  nfs4       17G  4.2G   13G   26% /dirmaster/xixi

4.设置超时时间,当退出挂载目录3秒后会自动卸载服务

cpp 复制代码
[root@localhost ~]# vim /etc/autofs.conf
定位26行
timeout = 3 
[root@localhost ~]# systemctl restart autofs   重启服务
相关推荐
Drscq2 小时前
How to migrate a CentOS 8 to Rocky Linux 8.10
linux·运维·centos
修心光2 小时前
CentOS配置iptables规则并使其永久生效
linux·运维·centos
加载中loading...2 小时前
Linux线程安全(二)条件变量实现线程同步
linux·运维·服务器·c语言·1024程序员节
安科瑞刘鸿鹏2 小时前
校园建筑用电安全监测装置 电气火灾监测预防设备功能介绍
运维·服务器·网络·嵌入式硬件·安全·能源
课堂随想2 小时前
【libGL error】Autodl云服务器配置ACT的conda虚拟环境生成训练数据时,遇到了libGL相关错误,涉及swrast_dri.so
运维·服务器·conda
画江湖Test3 小时前
SDK如何测试
服务器·sdk
落落落sss5 小时前
es实现自动补全
大数据·服务器·elasticsearch·搜索引擎·全文检索
大熊程序猿5 小时前
ubuntu 安装k3s
linux·运维·ubuntu
luoqice5 小时前
CentOS 自启动某个应用
linux·运维·服务器
泠山5 小时前
ubuntu增加swap交换空间
linux·运维·ubuntu