概念
NFS是一种基于TCP/IP 传输的网络文件系统协议。NFS网络文件系统服务可以将远程Linux系统上的文件共享资源挂载到本地主机的目录上,客户机可以像访问本地目录一样访问远程服务器中的共享资源
- nfs端口:2049 RPC端口:111
- 特点:
采用TCP/IP传输网络文件
安全性低
简单易操作
适合局域网环境
1、部署
1.1、部署环境
- NFS服务器:Debian 10 (10.172.16.109)
- NFS客户端:Debian 10 (10.172.16.108)
- 【注意:本次实验均采用root用户安装】
1.2、NFS服务端安装
# 安装 NFS服务器端
apt-get install -y nfs-kernel-server
# 验证
dpkg -l | grep nfs # 查看是否安装成功
dpkg -l | grep rpcbind # 安装nfs时,默认会安装NFS服务依赖:rpcbind
1.3、创建共享目录并赋予权限
# 创建共享目录
mkdir /data/nfs
# 赋予可读写执行权限
chmod 777 /data/nfs/
# 验证
ls -ldZ /data/nfs/
1.4、nfs配置
1.4.1、修改nfs配置文件
vim /etc/exports
-- 在最末尾加上
/data/nfs 10.172.16.0/24(rw,sync,no_root_squash)
# 仅允许本身网段访问该共享
1.4.2、NFS常用参数(参考无须修改)
rw # 读写权限
sync # 只读权限
root_squash # 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
no_root_squash # 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
all_squash # 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户
sync # 同时将数据写入到内存与硬盘中,保证不丢失数据。 同步,效率低,但可以保证数据的一致性;
async # 优先将数据保存到内存,必要时才写入磁盘,效率高,但有丢失数据的风险。 异步
/data/nfs *(rw,sync,no_root_squash) # * 表示允许任何网段 IP 的系统访问该 NFS 目录
1.5、重启服务
# 重启服务
systemctl restart nfs-kernel-server.service
# 验证
systemctl status nfs-kernel-server.service
2、客服端验证
2.1、客服端软件安装
# 安装 NFS客户端
apt-get install nfs-common
2.2、创建挂载NFS服务器的目录到本地的文件夹
mkdir /nfs
2.3、挂载
# 查看可以挂载的文件,若不能查看,则检查防火墙,服务端服务是否正常
showmount -e 10.172.16.109
- Export list for 10.172.16.109:
- /data/nfs 10.172.16.0/24
# 方式一、命令挂载
mount -t nfs 10.172.16.109:/data/nfs /nfs -o nolock
df -h
……
10.172.16.109:/data/nfs 99G 14G 81G 15% /nfs
# 方式二、永久挂载
vim /etc/fstab
# 末尾添加内容如下
10.172.16.109:/data/nfs /nfs nfs defaults 0 0
# 验证
df -h
……
10.172.16.109:/data/nfs 99G 14G 81G 15% /nfs