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系统)

等遇到了再补充吧,目前手里没这个系统

posted @ 2025-03-31 16:34  huangSir-devops  阅读(155)  评论(0)    收藏  举报
作者:你的名字
出处:你的博客链接
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。