1、什么是NFS
● 定义:
NFS是一种在计算机系统之间共享文件和目录的协议,最初由Sun Microsystems开发,现在已经成为广泛使用的网络文件系统之一。
● 核心功能:
通过网络(特别是TCP/IP网络)实现文件共享,使得不同机器、不同操作系统之间的数据共享变得容易。
2、NFS的组成与工作原理
● 组成部分:
NFS系统包括服务器端和客户端。服务器端维护着文件系统的共享,并提供文件访问服务;客户端则使用该服务来访问服务器端共享的文件。
● 工作原理:
客户端通过网络连接到NFS服务器。
客户端发起文件访问请求(如读取、写入文件)。
服务器接收到请求后,根据请求内容执行相应的操作(如从文件系统中读取数据、写入数据到文件系统等)。服务器将操作结果返回给客户端。
3、NFS的特点
● 透明性:
用户可以像操作本地文件一样操作网络上的文件,访问网络文件和访问本地文件之间的区别变得模糊。
● 跨平台性:
NFS基于互联网标准协议,可以在不同的操作系统和设备之间共享文件和资源,如Linux、Unix、FreeBSD等。
● 高效性:
NFS具有快速的数据访问速度和文件传输效率,支持异步I/O和数据缓存等技术以提高性能。
● 易用性:
NFS的操作非常简单,客户端只需要挂载服务器上的共享目录即可使用。
4、NFS的应用场景
NFS广泛应用于企业内部网络、云计算环境以及分布式系统和集群环境中,用于实现文件共享和协作。
在Linux和Unix系统之间共享文件时,NFS是一个常用的选择。
对于需要集中管理文件和资源、提高工作效率和资源利用率的场景,NFS也是一个很好的解决方案。
5、NFS的配置与使用
NFS的配置通常涉及设置服务器端的共享目录和客户端的挂载点。
在配置过程中,需要确保RPC(远程过程调用协议)服务正常运行,因为NFS是基于RPC来实现网络文件系统共享的。
客户端通过挂载命令将NFS服务器上的共享目录挂载到本地文件系统中,之后就可以像访问本地文件一样访问这些共享文件了。
6、NFS网络环境搭建
● 打开ubuntu,终端执行如下命令(dpkg -s nfs-kernel-server)查看是否安装了nfs服务器,显示ok表示安装了,直接跳过下一步就可以了。
● 执行安装命令,安装nfs服务器 sudo apt-get install nfs-kernel-server
● 使用sudo vi /etc/exports ,打开nfs服务器配置文件,在文末添加如下配置,保存退出。(- *(rw,sync,no_subtree_check,no_root_squash):表示允许所有客户端以读写权限(rw)访问共享目录,同步写入(sync),不检查子树(no_subtree_check),不对root用户进行权限限制(no_root_squash)。/opt/6818/rootfs/ 为NFS服务器目录 路径根据自己的路径设置就行,本文中在下面的步骤会创建路径)
/opt/6818/rootfs/ *(rw,sync,no_subtree_check,no_root_squash)
● 创建nfs工作目录,sudo mkdir -p /opt/6818/rootfs ,执行sudo chmod -R 777 /opt/*,将工作目录设置为最高权限。
● 重启nfs服务,使配置生效。sudo service nfs-kernel-server restart
● 本地测试是否配置成功(图片中的编辑内容这一步可以不做,本地测试的原理就是如果在本地挂在NFS服务器目录可以挂载并查看到里面文件就证明NFS服务器配置成功了)
● 下面就要测试是否可以挂载并获取到创建的文件了ls
(sudo mount -t nfs localhost:/opt/6818/rootfs /mnt)
● 如果想取消挂载可以sudo umount /mnt