NFS服务器的搭建
NFS
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
Linux对Linux的文件传输服务
NFS服务端:192.168.6.8
NFS客户端:192.168.6.1
优点:主要用于盘阵技术
缺点:可持续性服务,一旦挂载一直处与连接状态
一.安装启动NFS服务(服务器和客户端)
- 查看是否安装NFS相关组件(rpm –qa | grep nfs)
- 启动rpcbind和NFS服务(注:rpcbind一定要优先于nfs启动)
没有时: yum -y install nfs* rpcbind
Service rpcbind restart
Service nfs restart
二. 配置NFS文件(/etc/exports)(服务器)
- vim /etc/exports
/共享目录绝对路径/ 允许访问主机地址(权限)->服务权限
(注:不仅需要考虑服务的权限还需要考虑文件目录的权限)
例:/home/danny/ 192.168.6.1(rw)
/home/danny/ 192.168.6.0/24(rw)
- 2. 刷新共享配置
exportfs -rv(refresh)
三. 测试
- 在NFS服务器上创建共享文件目录
Mkdir /home/danny/
- 在客户端创建服务器共享目录挂载点
Mkdir /home/
- 将服务器共享目录挂载到客户端挂载点(客户端)
Mount 192.168.6.8:/home/danny/ /home
(注:有时客户端不能在共享文件夹进行一些创建、删除或执行的时候除了服务端没有设置权限外,还可能是共享文件夹的系统权限没设置,可通过chmod o+rwx来设置)
- 考虑是否设置开机自动挂载
- 卸载
扩展:autofs 可自动挂载卸载NFS,且只需要在客户端配置
注释:在客户端访问修改/home下的文件就相当于访问修改服务器端下的/home/danny下的文件
(注:不仅需要考虑服务的权限还需要考虑文件系统的权限,客户端在该共享目录创建文件时需要在服务端上修改文件系统权限 chmod o+w /home/danny)
补充:
授权范围:
主机:192.168.18.252
网段:192.168.18.0/24
所有:*
域名:baidu.com
补充:域名授权需要有解析服务器,如果没有,该条无效
autofs自动挂载解挂nfs
service:
1、编辑配置文件
#vim /etc/exports
/test/1 192.168.18.252(rw)
/ test /2 192.168.18.252(rw)
/ test /3 192.168.18.252(rw)
2、刷新配置文件
#exportfs -rv
client:
1、配置autofs主文件(没有就安装autofs)
#vim /etc/auto.master
/share /etc/auto.misc (在客户端创建挂载目录/share…..)
2、配置规则文件
#vim /etc/auto.misc
1 -fstype=nfs,rw 192.168.18.251:/ test /1
2 -fstype=nfs,rw 192.168.18.251:/ test /2
3 -fstype=nfs,rw 192.168.18.251:/ test /3
3、启动服务
#service autofs restart
启动服务时:客户端即可进入相应的目录,系统自动挂载用户进入的目录(例:客户端进入/share目录后,如果输入命令cd 1 ,系统将自动挂载服务端的/test/1到客户端的/share/1。)
停止服务时: 目录自动卸载
更新:Centos7部署nfs(少许变化)
服务端(外网) 192.168.1.1
客户端(内网,无法连接外网) 192.168.1.2
服务端操作
注意共享目录权限:
chmod o+w /data/server
#下载NFS需要的离线安装包,会保存到/root/nfs目录下 yum -y install nfs-utils --downloadonly --downloaddir /root/nfs #因为centos7自带了rpcbind,所以不用安装rpc服务 #检查rpc服务是否启动 ss -tnulp | grep 111 #查看nfs是否安装 rpm -qa nfs-utils #添加共享配置,编辑/etc/exports /data/server 192.168.1.2(rw,async) #做开机启动:(必须先启动rpcbind服务) systemctl enable rpcbind.service systemctl enable nfs-server.service #启动rpcbind和nfs服务 systemctl start rpcbind.service systemctl start nfs-server.service #检查 NFS 服务器是否挂载我们想共享的目录 rpcinfo -p #使配置生效 exportfs -r 查看是否成功 exportfs
客户端操作
# 在nfs离线安装包的目录下安装所有包 rpm -Uvh *.rpm --nodeps --force #先为rpcbind做开机启动: systemctl enable rpcbind.service #然后启动rpcbind服务: systemctl start rpcbind.service 注意:客户端不需要启动nfs服务 #检查NFS服务器端是否有目录共享 showmount -e 192.168.1.1 在从机上使用 mount 挂载服务器端的目录/data/server到客户端某个目录下: cd /data/ && mkdir /nfs mount -t nfs 192.168.1.1:/data/server /data/nfs
ok
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了