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   重启服务
相关推荐
小诸葛的博客1 小时前
详解Linux中的定时任务管理工具crond
linux·运维·chrome
一默19911 小时前
CentOS 7.9升级OpenSSH到9.9p2
linux·运维·centos
keep intensify1 小时前
Linux常用指令
linux·服务器·php
BranH2 小时前
Linux系统中命令设定临时IP
linux·运维·服务器
极小狐2 小时前
极狐GitLab 项目功能和权限解读
运维·git·安全·gitlab·极狐gitlab
宁酱醇2 小时前
GitLab_密钥生成(SSH-key)
运维·ssh·gitlab
秋风起,再归来~2 小时前
【Linux庖丁解牛】—进程优先级!
linux·运维·服务器
Lalolander3 小时前
设备制造行业如何避免项目管理混乱?
运维·制造·工程项目管理·四算一控·epc·环保设备工程·设备制造
LucianaiB3 小时前
【金仓数据库征文】_AI 赋能数据库运维:金仓KES的智能化未来
运维·数据库·人工智能·金仓数据库 2025 征文·数据库平替用金仓
prinrf('千寻)3 小时前
nacos设置权重进行负载均衡不生效
运维·负载均衡