登录站点

用户名

密码

nfs实现服务器集群间web数据的同步“镜像”

1已有 5235 次阅读  2012-11-12 15:07
环境说明:
  三台web服务器组成集群环境,一master两slave,架构设计之初三台服务器采用rsync方式实现数据的同步镜像功能,后因特殊开发需求,需要三台web数据实现实时同步,当然我们可以通过rsync+inotify实现数据的实时备份,但这种方法实现起来有些复杂,为了响应快速布署的要求,我们可以采用nfs方式来实现。
实施目的及方法:
  为开发的便利暂时将webmaster  webslave1  webslave2之间的rsync推送实现WEB镜像方式更改为nfs方式。
实施过程:(生产环境操作如下)
根据生产环境的配置可以将webmaster  作为nfs服务端,webslave1  webslave2作为客户端。
nfs服务端作了以下配置:(在webmaster上作如下操作)
将cron任务中的rsync同步任务禁用
#*/1 * * * * /root/shell/rsync.sh 
1)添加exports文件,将/www/xinpin   /www/style共享给webslave1 webslave2;
# vi /etc/exports 
/www/xinpin  webslave1(rw,no_root_squash)
/www/xinpin   webslave2(rw,no_root_squash)
/www/style      webslave1(rw,no_root_squash)
/www/style      webslave2(rw,no_root_squash)
说明:起初设想真想将/www目录共享,但在操作过程中发现在更改/www目录名称时总是提示目录忙,无法更名,后分析得知在系统规化过程中将/dev/sda3分区挂载到了/www目录下,故此目录总是显示忙碌,无法更改。
2)在hosts文件中添加对slave1  slave2的解析记录
# vi /etc/hosts
#/www  through the NFS Shared temporary to slave1 and slave2
192.168.1.122   webslave1
192.168.1.123   webslave2
3)开启portmap   nfs 服务
# /etc/init.d/portmap start
# /etc/init.d/nfs start
4)验证配置是否正确
# showmount -e 
Export list for webmaster:
/www/style     webslave2,webslave1
/www/xinpin  webslave2,webslave1
nfs客户端作了以下配置:(webslave1与webslave2配置相同)以webslave1为例进行说明
1)更改hosts文件,添加master主机的解析记录
#/www  through the NFS Shared temporary from webmaster
192.168.1.121   webmaster
2)将原/www/xinpin   /www/style更名为xinpin_old  style_old
3)在/www下分别创建新的xinpin   style目录
4)开启portmap服务
5)扫描服务器端的共享目录
#showmount -e   webmaster
4)将webmaster主机上的/www/xinpin  /www/style挂载到本机的xinpin  style目录下
mount -t nfs webmaster:/www/xinpin  /www/xinpin
 mount -t nfs webmaster:/www/style  /www/style
5)分别进入/www/xinpin  /www/style 看一下内容是否也webmaster下目录相同
至此所有配置完成,在slave1  slave2上可以看到也master上完全相同的数据内容了,此时master上所作的任何修改都会实时同步到slave上。

注意:
使用nfs的方式挂载的目录的权限与rsync不同,rsync可以将master的文件的权限全部同步过去--即文件的属主属组也一样,但nfs对于文件的属主属组来讲,它是根据ID来同步的(ID相同用户名不一定相同),这一点要特别引起注意,如我在这次配置中就发现本来文件aa在master上属主、属组是xinpin但在slave上属主、属组去是aaron,后来发现xinpin的ID与aaron的ID相同。如果为了不影响网站的测试,建议将slave上用户名改成和master上一致。
分享 举报

发表评论 评论 (0 个评论)