NFS搭建及使用
NFS介绍
NFS(Network File System),网络文件系统,它可以让不同主机能够通过 TCP/IP 网络共享资源。它从宏观主体上简化来看,就是两部分:服务端和客户端。
服务端,可以认为它就是来存东西的,这个东西对外是共享的。
客户端,可以认为它是访问服务端上的东西的,可以对服务端共享出来的东西进行读/写。当然读还是写,这些权限在服务端是可以控制的。
举个例子的话,可以想象一下仓库和员工,仓库可以认为是服务端,员工是客户端,员工只要有访问仓库的权限,那就可以看仓库有什么东西,从仓库拿东西或者往仓库放东西。
NFS没有用户认证机制,且数据在网络上传送的时候是明文传送,一般只能在局域网或内网环境中使用
NFS组成
- rpcbind : 负责NFS的数据传输,远程过程调用 tcp/udp协议,端口111
- nfs-utils :控制共享哪些文件,权限管理
- RPC(Remote Procedure Call Protocol),远程过程调用协议。是一种通过网络从远程计算机程序上请求服务,不需要了解底层网络技术的协议。
NFS部署(Ubuntu系统)
环境信息
| 主机名 | IP | 作用 |
|---|---|---|
| master01 | 10.3.0.28 | nfs服务端 |
| node01 | 10.3.0.13 | nfs客户端 |
服务端部署
- 下载服务端
apt update -y
apt install -y nfs-kernel-server
- 检查nfs启动状态
root@master-01:~# systemctl status nfs-kernel-server
● nfs-server.service - NFS server and services
Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2025-03-31 16:04:54 CST; 16s ago
Main PID: 244866 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 4915)
Memory: 0B
CGroup: /system.slice/nfs-server.service
Mar 31 16:04:53 master-01 systemd[1]: Starting NFS server and services...
Mar 31 16:04:54 master-01 systemd[1]: Started NFS server and services.
- 创建共享目录
mkdir -p /data/nfs/test01
- 修改nfs配置文件
echo /data/nfs/test01 10.3.0.0/24(rw,sync,no_root_squash,no_subtree_check) >> /etc/exports
-
nfs配置文件中的参数说明
- fsid:伪文件系统id,共享的多个目录,该值不能重复。格式:一个小整数或者32位的uuid
- ro:该主机对该共享目录有只读权限
- rw:该主机对该共享目录有读写权限
- sync:资料同步写入到内存与硬盘中
- async:资料会先暂存于内存中,而非直接写入硬盘
- all_squash:将发起请求的所有用户都映射为anonymous用户
- no_all_squash:不将发起请求的所有用户都映射为anonymous用户
- root_squash:如果客户端是root用户访问,则到了nfs服务端会被压缩(默认的)匿名用户
- no_subtree_check:当使用no_subtree_check选项时,NFS服务器将不会检查客户端请求的子目录是否在共享目录的子树范围内。
-
重新导出共享目录
exportfs -ra
- 重启nfs
systemctl restart nfs-kernel-server
客户端部署
下载客户端
apt update -y
apt install -y nfs-common
创建共享目录
mkdir -p /data/nfs/test
挂载服务端
mount -t nfs 10.3.0.28:/data/nfs/test01 /data/nfs/test
永久挂载磁盘
echo 10.3.0.28:/data/nfs/test01 /data/nfs/test nfs defaults 0 0 >> /etc/fstab
df -h检查
root@node01:~# df -h | grep /data/nfs/test
10.3.0.28:/data/nfs/test01 197G 111G 79G 59% /data/nfs/test
测试文件写入
#nfs客户端执行
root@node-1:~# echo nfs_test >> /data/nfs/test/1.txt
#nfs服务端执行
root@master-01:~# cat /data/nfs/test01/1.txt
nfs_test
补充
查看远端挂载的存储
showmount -e ip地址
root@master-01:~# showmount -e 10.3.0.28
Export list for 10.3.0.28:
/data/nfs/test01 10.3.0.0/24
NFS部署(centos系统)
等遇到了再补充吧,目前手里没这个系统
本文来自博客园,作者:huangSir-devops,转载请注明原文链接:https://www.cnblogs.com/huangSir-devops/p/18802386,微信Vac666666,欢迎交流

浙公网安备 33010602011771号