Linux服务器集群上搭建NFS(共享存储)详细步骤教程 -- 实践总结

假设现在有三台服务器(x86-64):A,B,C,准备将A服务器上某文件夹作为共享文件夹

详细步骤:

  1. 安装docker,修改docker 数据存放位置(/etc/docker/daemon.json文件中的data-root参数,如果没有该文件,则自己建一个就好了)(A,B,C服务器)
  2. 安装nfs-utils包(A,B,C 均要安装)
yum install nfs-utils
  1. 关闭防火墙并且禁止开机自启动防火墙(A, B, C 要全部关闭)
systemctl stop firewalld.service 
systemctl disable firewalld.service 
  1. 在A服务器上创建共享文件夹,并且赋予其权限 (A服务器)
mkdir  xxxx
chmod -R 755 xxx
  1. 修改/etc/exports文件,文件最后添加如下内容(A服务器)
A服务器上共享路径 <网络段>(rw,sync,no_root_squash,no_subtree_check)

替换<网络段>为你的网络段或者特定机器的IP地址(可以直接写 * ,这样表示所有的机器)

  1. 重新加载配置文件(A服务器)
exportfs -arv
  1. 启动nfs(A服务器)
    如果报错找不到或者不存在,可能是服务器的名字有一点出入,去/lib/systemd/system/ 这个路径下找对应的服务器的名字,替换下边的命令后执行就好了
systemctl enable rpcbind.service
systemctl enable nfs-server.service
systemctl start rpcbind.service
systemctl start nfs-server.service
  1. B, C 服务器创建用于挂载的文件夹(假设你现在已经在B, C上安装了nfs-utils)
mkdir xxx
chmod -R 755 xxx
  1. 搭建共享(B,C服务器)
sudo mount <服务器A的IP地址>:A服务器上共享路径 待挂载服务器B / C文件路径
  1. 修改 /etc/fstab 文件,让配置永远生效(B, C 服务器)
<服务器A的IP地址>:A服务器上共享路径 待挂载服务器B,C文件路径(那个服务器就写那个的) auto,noatime,nolock,bg,nfsvers=3,intr,tcp,actimeo=1800 0 0
  1. nfs启动(B,C服务器)
    如果报错找不到或者不存在,可能是服务器的名字有一点出入,去/lib/systemd/system/ 这个路径下找对应的服务器的名字,替换下边的命令后执行就好了
systemctl enable rpcbind.service
systemctl enable nfs-server.service
systemctl start rpcbind.service
systemctl start nfs-server.service
  1. 检查挂载(B,C服务器)
df -h

看一下,挂载的文件夹是否存在,如果存在就表示已经搭建成功了!

到此nfs共享存储搭建完成!

常见问题汇总解决:

  1. 如果你搭建好了nfs,并且df -h 已经可以看到挂载,但是你的文件放进去就是不共享,那么这个时候只需要重新登录一下该服务器就好了
  2. 如果报 (…No route to host…)那就是防火墙没有关,给关掉就好了(命令见以上步骤)

【文章编写不易,如需转发请联系作者!】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值