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   funnyboy0128  阅读(3731)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示