Linux 实验-11 NFS实验

161 阅读3分钟

1、 NFS服务的简要介绍

NFS(Network File System)即网络文件系统,是一种分布式文件系统协议。它允许网络中的计算机通过网络共享文件和目录,使得用户和应用程序可以像访问本地文件系统一样访问远程计算机上的文件。例如,在一个企业的局域网中,有一台文件服务器存储了大量的文档、图片、视频等资料,通过 NFS 服务,其他计算机可以挂载这台服务器上的共享目录,方便地读取和写入这些文件。

1.1 工作原理

NFS 采用客户端 - 服务器(Client - Server)架构。服务器端负责管理和存储共享的文件和目录,并且通过 NFS 协议将这些文件系统资源提供给客户端。客户端计算机则通过挂载(mount)操作将远程服务器上的共享文件系统挂载到本地文件系统的某个挂载点上。当客户端访问这个挂载点时,NFS 客户端软件会将请求发送到服务器端,服务器端处理请求并将结果返回给客户端。 例如,当客户端要读取一个远程共享目录中的文件时,它会向服务器发送一个包含文件名、读取偏移量等信息的请求,服务器根据请求从存储设备中读取相应的数据,然后将数据返回给客户端。

1.2 主要特点

方便的文件共享:可以在不同的操作系统之间共享文件。例如,Linux 系统的服务器可以通过 NFS 将文件共享给运行 Windows 或 Mac OS 等其他操作系统的客户端(需要安装相应的 NFS 客户端软件)。这样就大大提高了文件共享的灵活性,方便企业内部不同系统的用户之间进行文件协作。

透明性:对于客户端来说,访问远程 NFS 共享文件就如同访问本地文件一样。用户不需要知道文件实际存储的位置是在本地还是远程,这使得应用程序在使用文件时也更加方便,不需要对本地和远程文件访问进行特殊的区分处理。

高性能:NFS 使用缓存机制来提高性能。客户端会缓存已经读取过的文件内容,当再次访问相同的文件内容时,可以直接从本地缓存中获取,减少了网络传输的次数。同时,服务器端也可以采用缓存策略来优化文件的读取和写入操作。

2、实现过程

2.1 配置服务器端

yum install -y nfs-utils rpcbind -- centos安装

apt install nfs-kernel-server -y -- ubuntu 安装

mkdir /share -- 创建共享文件夹

/etc/exports -- 服务器端的配置文件地址

我们以centos为例

{DBBCAE33-0A0F-4C71-AA7D-C1BCE6FE4A58}.png

[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# systemctl start nfs-server

进入配置文件中添加共享目录

[root@localhost ~]# vim /etc/exports

/share *

刷新文件,并查看共享情况

[root@localhost ~]# exportfs -v
[root@localhost ~]# exportfs -r
exportfs: No options for /share *: suggest *(sync) to avoid warning
[root@localhost ~]# exportfs -v
/share        	<world>(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)
[root@localhost ~]# 

2.2 在客户机上查看共享情况

[root@localhost ~]# showmount -e 192.168.107.190
Export list for 192.168.107.190:
/share *
[root@localhost ~]#