Linux通过NFS实现文件共享
在项目生产环境我们经常需要实现文件共享,传统的常见方案是通过NFS,实现服务器之间共享某一块磁盘,通过网络传输将分散的文件集中存储在一块指定的共享磁盘,实现基本的文件共享。实现这种方案,分服务端和客户端,将服务端的磁盘mount到客户端指定目录下,在客户端操作就像操作本地磁盘一样,nfs基本的安装如下:
模拟环境:
服务端/客户端 | 服务器IP | 版本信息 |
服务端 | 120.27.15.116 | centOS 7.2 |
客户端 | 39.108.85.46 | centOS 7.2 |
一、服务端安装NFS
step1、安装nfs和rpcbind程序:yum -y install nfs*
step2、检测nfs与rpcbind是否安装OK
rpm -qa |grep nfs
rpm -qa |grep rpcbind
step3、创建一个共享目录,并配置共享信息
mkdir /data01/nfs 这里假设共享目录为/data01/nfs
vi /etc/exports
step4、启动nfs,rpcbind
systemctl enable rpcbind
systemctl start rpcbind
systemctl enable nfs
systemctl start nfs
step5、查看是否共享成功
showmount -e localhost
二、客户端安装并挂载
step1、安装nfs程序:yum -y install nfs*
step2、启动nfs,rpcbind
systemctl enable rpcbind
systemctl start rpcbind
systemctl enable nfs
systemctl start nfs
step3、创建挂在目录:mkdir /data01/share
step4、检测远程共享服务器是否共享成功
step5、挂载,mount -t nfs -o nolock 服务端IP:共享目录绝对路径 本地挂载目录
mount -t nfs -o nolock 120.27.15.116:/data01/nfs /data01/share
step6、查看挂载结果:df -Th
可以看到,远程那块磁盘已经挂载OK。
三、测试
在/data01/share下新增一个文件,并写入相关内容,然后到服务器端查看
去服务端查看:
四、卸载
卸载直接执行如下操作即可:umount 120.27.15.116:/data01/nfs
五、所遇到的问题
1、如果是在阿里云上,可能要在安全组开放相关的端口,在私有环境下,同样需要处理防火墙,开放相关端口。可以通过rpcinfo -p 查看具体用到的端口。
iptables -A INPUT -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -p udp --dport 111 -j ACCEPT 其他端口类似处理
2、由于NFS启动会随机生成端口并向RPC注册,每次的端口都不固定,所以,可以设置固定端口,便于配置防火墙和安全组。例如:
posted on 2018-11-29 08:29 funnyboy0128 阅读(3731) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用