通过NFS方式进行源码级别的共享进行多台机器间的部署。

处理场景是只在一台机器上(NFS server机器)进行源代码的编译,而其他需要部署的集群机器(NFS client机器)则通过server机器共享文件夹(通过nfs进行共享)的方式让其他集群同样可以看到最终编译好的文件,并可以直接make install到自己机器上(client机器上)。这样就做到了一台机器编译,其他机器只需要make install 就可以了,这样也做到了所有机器的部署。但是这里需要注意的是所有机器都必须yum所有需要用到的rpm包。否则可能在make install的时候出现找不到依赖包的问题。可以理解为每台机器需要同样的依赖环境,其他集群(client)可以参考 server机器安装的rpm包。
1、 首先在server机器中创建一个目录,用于存放源代码,比如ceph代码。这个目录也是后面用于共享给其他集群机器的目录。
在使用nfs方式需要在server(用于提供共享文件夹的机器)端和client(集群其他机器)端进行响应的配置:首先设置server端
1、 在server上安装两个rpm包,一个是nfs-utils 一个是rpcbind:yum install nfs-utils rpcbind
2、 设置开机启动项:
chkconfig nfs on
chkconfig rpcbind on
3、 安装好服务后,需要在server端启动这两个服务
service rpcbind start
service nfs start
4、 在server端提供共享文件夹的话需要对/etc/exports文件进行如下设置
在文件/etc/exports中添加:共享目录路径 用户(操作权限),
如这样:/home/zhangyi (rw,aync,no_root_squash,no_subtree_check)表示/home/zhangyi这个文件夹可以被任何一个机器(*)访问,且权限为rw,aync,no_root_squash,no_subtree_check
5、 让设置生效:exportfs –a
此时server端设置就完成了,需要设置client端。
1、 首先需要保证client端机器一样安装了server机器的rpm包。
2、 在client机器如同server一样需要安装yum install nfs-utils rpcbind。
3、 设置开机启动项:
chkconfig nfs on
chkconfig rpcbind on
4、 安装好服务后,需要在server端启动这两个服务
service rpcbind start
service nfs start
5、 此时client端已经可以提供nfs功能了,此时需要在client机器上创建mout挂在点,注意这里最好和server的目录创建一样,否则在进行make install的时候由于是依赖的server的路径可能造成路径不匹配的现象,所以这里最好创建和server一样的路径。比如/home/zhangyi.
6、 创建好后,则可以挂在这个目录了
7、 sudo mount –t nfs server_ip:/home/zhangyi /home/zhangyi
8、 这样就将server端的/home/zhangyi目录通过nfs挂在到了本地/home/zhangyi目录下。此时访问本地的/home/zhangyi就可以直接访问了,此时还可以直接在这里进行make install,将server端编译好的文件安装到本地。


华丽丽的分割线
如果client端是Mac book,提供共享的server端设置都是一样的,就是安装nfs,开始nfs服务,提供共享目录。
Mac book client端则尽享下面的操作。
1、首先看下是否可以看到server端共享的文件夹:
showmount -e serverip
如果能看到则说明可以。
2、mount server端的文件夹到本地某个目录:
sudo mount -t nfs serverIP:/var/www(服务器目录) /private/nfs(Mac上目录)
这里可能报错说权限不对,此时需要执行下面的操作。
$ sudo mount -t nfs -o resvport serverIP:/var/www(服务器目录) /private/nfs(Mac上目录)
或者:
$ sudo mount -t nfs -o resvport,rw serverIP:/var/www(服务器目录) /private/nfs(Mac上目录)
3、进入MAC目录/private/nfs就可以看到server端共享文件夹的文件了。

问题:可能遇到mount在MAC上的目录没有写权限。
1、确认server端mount的属性设置了读写:比如:
$cat /etc/exports
/opt/tmp/zhangyi/ *(rw,sync,no_root_squash)
all_squash 所有登录用户指定为nobody
no_all_squash 以当前登录的用户所设定的权限(默认设定)
root_squash root用户指定为nobody
no_root_squash 允许远程用户以root帐号登录(比较不安全)
sync:数据同步写入到内存与硬盘当中
async: 资料会先暂存于内存当中,而非直接写入硬盘。
2、为了少走弯路,直接在 server端修改共享的目录chmod 777 server 端共享目录。
如:sudo chmod -R 777 /opt/tmp/zhangyi/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值