目录
一.介绍
网络文件系统(NFS)是一种允许网络中的计算机通过网络共享资源的文件系统协议。
NFS最早由Sun Microsystems公司开发,它使得网络上的不同机器能够像访问本地文件一样访问远程系统上的文件。这种能力极大地增强了资源共享的灵活性和效率,是多用户和多操作系统环境中资源共享的重要工具。具体介绍如下:
工作原理
- RPC的作用:NFS不单独使用一个固定的端口进行数据传输,而是通过RPC(远程过程调用)服务来管理所需的端口。RPC不仅帮助NFS服务器向外界公布其使用的端口,还确保客户端能够正确地连接到这些端口上。
- 通讯流程:当NFS服务器启动时,它会向RPC服务注册其所使用的端口。随后,当客户端需要访问NFS服务器时,它会先联系RPC服务获取必要的端口信息,然后通过这些端口与NFS服务器建立连接并传输数据。
优缺点
- 优点:NFS可以大幅度节省本地存储空间,因为文件可以被存放在服务器上并通过网络访问。同时,NFS易于部署和维护,支持多种平台间的文件共享。
- 缺点:NFS的主要缺点包括存在单点故障的风险,即如果NFS服务器宕机,所有依赖它的客户端都将无法访问文件。另外,NFS在高并发情况下性能可能受限,并且安全性相对较低,因为它通常不验证用户身份,且数据以明文形式传输。
部署方式
- 安装软件包:部署NFS之前,需要在服务器和客户端都安装必要的软件包,如nfs-utils和rpcbind。
- 配置挂载:配置文件/etc/exports用于定义哪些目录可以被哪些客户端访问以及访问权限。配置完成后,可以使用exportfs命令重新加载配置文件,使改动生效。
- 手动自动挂载:客户端可以通过手动挂载或设置自动挂载的方式来访问NFS服务器上的共享目录。自动挂载特别适用于不规则访问需求的场合,可以有效管理挂载资源的生命周期,避免不必要的资源占用。
总的来说,网络文件系统(NFS)是一个强大的工具,用于网络上的文件共享。虽然有其局限性,如安全性和性能问题,但适当配置和管理下,NFS能大幅提升资源共享的效率和灵活性。
二.环境
- 系统:ubuntu-20.04.6-live-server-amd64
- 虚拟机软件: VMware17
三.搭建
服务端搭建
1.服务端ip:
ip a
192.168.40.133
2.apt工具
apt(Advanced Package Tool)是Ubuntu和其他基于Debian的Linux发行版中的软件包管理工具。它允许用户轻松地搜索、安装、更新和卸载软件包。apt还可以解决软件包之间的依赖关系,并确保系统保持更新和安全
3.apt换源
ubuntu 默认安装源是在国外,修改成国内源,效率更高
vi /etc/apt/sources.list
######## Ubuntu20.04LTS 清华镜像源 ###############
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
4.apt 更新
修改完后更新软件包
apt update
5.安装nfs-kernel-server
apt install nfs-kernel-server -y
6.创建共享目录
创建一个目录用于nfs服务器将文件共享给客户端:
mkdir /zezezi
7.修改配置文件
vi /etc/exports
/nfsroot *(rw,sync,no_root_squash)
/zezezi:指定/zezezi为nfs服务器的共享目录
*:允许所有的网段访问,也可以使用具体的IP
rw:挂接此目录的客户端对该共享目录具有读写权限
sync:资料同步写入内存和硬盘
no_root_squash:root用户具有对根目录的完全管理访问权限
no_subtree_check:不检查父目录的权限
8.重启nfs服务器
service nfs-kernel-server restart
9.检查nfs的安装是否有效
showmount -e localhost
如下图出现目录即为配置成功:
二.nfs客户机访问配置
1.客户端ip:
ip a
192.168.40.134
2.安装nfs-common
执行下面命令安装
apt install nfs-common -y
3.客户端挂载共享目录
mount -t nfs 192.168.40.133:/zezezi /mnt -o nolock
解析:
-t:挂载的文件系统类型
-o nolock:不要文件锁
192.168.xxx.xxx:/zezezi:nfs服务器ip:服务器共享目录
nfsroot:客户端已存在的目录
4.检查挂载