admin 发表于 2015-10-19 21:49

阿里云linux服务器集群下如何搭建内容服务器(NFS)

       上上一次说到阿里云linux下Nginx整合Tomcat实现负载均衡集群 。 提到了内容服务器,也就是说我们在做集群时部署项目、不可能一个机器一个机器的去部署,几台还可以,如果上百台或者更多就瞎了、所以说集群时做内容服务器是必须的,所有的代码都存放在内容服务器上,内容服务器提供文件共享,集群机通过cifs方式映射为web目录,这样便于统一管理和即时同步。


这里我们选择2台机器做测试(假设是内网)。
机器猫一:192.168.1.180(内容服务器)机器猫二:192.168.1.190 (客户端)

一、安装服务器端软件:nfs-utils和portmap
nfs-utils: 提供rpc.nfsd 及 rpc.mountd这两个NFS DAEMONS的套件
portmap: NFS其实可以被看作是一个RPC SERVER PROGRAM,而要启动一个RPC SERVER PROGRAM,都要做好PORT的对应工作,而且这样的任务就是由PORTMAP来完成的。通俗的说PortMap就是用来做PORT的mapping的。

1、安装前首先检查一下机器是否安装以上2个软件、执行一下命令。
rpm -qa|grep nfs
rpm -qa|grep rpcbind


系统默认已安装了nfs-utils portmap 两个软件包。

2、如果当前系统中没有安装NFS所需的软件包,需要手工进行安装。

NF服务器端命令:
yuminstallnfs-utilsportmap
chkconfig rpcbind on #chkconfig:更新和查询各运行级别的系统服务
chkconfig nfs on
service rpcbind start (由于在6系列里面,portmap已经改名了 ,6系列需要使用 service rpcbind start启动)
service nfs start

3、停止NFS服务器要停止NFS运行时,需要先停止nfs服务再停止portmap服务,对于系统中有其他服务(如NIS)需要使用时,不需要停止portmap服务
# service nfs stop# service rpcbind stop
二、建立连接
1、 在机器猫一中 vi /etc/exports 加入 (允许190客户端服务连接)
/web 192.168.1.190(insecure,rw,sync) # web目录即为内容服务器共享目录

2、在机器猫二中
# mount NFS服务器IP:共享目录 本地挂载点目录
# mount 192.168.1.190:/web//mnt/web/

三、分别重启 180和190的 portmap 和nfs 服务

# service portmap restart(service rpcbind restart)# service nfs restart
# exportfs在180服务器 输入命令 df -h
如果出现(由于是自己服务器IP截图 故出现 不一致的现象)


说明配置成功。这样如果你更新180就不必更新190服务器的内容了、同理如果多服务器配置同上。

admin 发表于 2018-2-10 13:40

一、NFS服务器的设定

NFS服务器的设定可以通过/etc/exports这个文件进行,设定格式如下:

分享目录      主机名称或者IP(参数1,参数2)

/arm2410s   10.22.22.*(rw,sync,no_root_squash)

可以设定的参数主要有以下这些:

rw:可读写的权限;
ro:只读的权限;
no_root_squash:登入到NFS主机的用户如果是root,该用户即拥有root权限;
root_squash:登入NFS主机的用户如果是root,该用户权限将被限定为匿名使用者nobody;
all_squash:不管登陆NFS主机的用户是何权限都会被重新设定为匿名使用者nobody。
anonuid:将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中。
anongid:同anonuid,但是变成group ID就是了!
sync:资料同步写入存储器中。
async:资料会先暂时存放在内存中,不会直接写入硬盘。
insecure:允许从这台机器过来的非授权访问。
例如可以编辑/etc/exports为:
/tmp     *(rw,no_root_squash)
/home/public 192.168.0.*(rw)   *(ro)
/home/test  192.168.0.100(rw)
/home/linux  *.the9.com(rw,all_squash,anonuid=40,anongid=40)
设定好后可以使用以下命令启动NFS:
/etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默认启动的)
/etc/rc.d/init.d/nfs start
exportfs命令
如果我们在启动了NFS之后又修改了/etc/exports,是不是还要重新启动nfs呢?这个时候我们就可以用exportfs命令来使改动立刻生效,该命令格式如下:
exportfs [-aruv]
-a :全部mount或者unmount /etc/exports中的内容
-r :重新mount /etc/exports中分享出来的目录
-u :umount 目录
-v :在 export 的时候,将详细的信息输出到屏幕上。
具体例子:
# exportfs -rv(全部重新export一次!)
exporting 192.168.0.100:/home/test
exporting 192.168.0.*:/home/public
exporting *.the9.com:/home/linux
exporting *:/home/public
exporting *:/tmp
reexporting 192.168.0.100:/home/test to kernel
具体例子:
#exportfs -au (全部都卸载了)
# vi /etc/exports

/home/soft 192.168.2.11(rw)
# nfs start
-bash: nfs: command not found
# ./nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]

二、NFS客户端的操作:
1、showmout命令对于NFS的操作和查错有很大的帮助,所以我们先来看一下showmount的用法
showmout
-a :这个参数是一般在NFS SERVER上使用,是用来显示已经mount上本机nfs目录的cline机器。
-e :显示指定的NFS SERVER上export出来的目录。
例如:
showmount -e 192.168.0.30
Export list for localhost:
/tmp *
/home/linux *.linux.org
/home/public (everyone)
/home/test 192.168.0.100
2、mount nfs目录的方法:
mount -t nfs hostname(orIP):/directory /mount/point
具体例子:
Linux: mount -t nfs 192.168.0.1:/tmp /mnt/nfs
# showmount -e 192.168.0.169
Export list for 192.168.0.169:
/home/opt/RHEL4U5 192.168.0.0/255.255.252.0
You have new mail in /var/spool/mail/root

mount -t nfs 192.168.0.169:/home/opt/RHEL4U5 /mnt/soft

admin 发表于 2018-2-10 13:54

如果是外网 防火墙,服务端IP要开启这四个端口
TCP/UDP 111 – RPC 4.0 portmapper

TCP/UDP 2049 – NFSD (nfs server)


tcp111 2049 端口
udp 1114046 端口

admin 发表于 2018-2-10 13:55

参考命令:netstat -an |grep 192.168.1.90
页: [1]
查看完整版本: 阿里云linux服务器集群下如何搭建内容服务器(NFS)