Linux rsync同步集群web端

  软件环境:CentOS 6.5? 操作系统:CentOS 6.5 源服务器:192.168.0.250 目标服务器:192.168.0.248 目的:保证集群web(源服务器)挂掉后,另外一台机器接着提供web(目标服务器)服务

第一部分:在目标服务器192.168.0.248上操作

在目标服务器安装Rsync服务端

1、关闭SELINUX
#vi /etc/selinux/config SELINUX=disabled #setenforce 0 #立即生效
2、开启防火墙tcp 873端口(或者关闭防火墙)
#vi /etc/sysconfig/iptables 编辑防火墙配置文件 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT #/etc/init.d/iptables restart? #最后重启防火墙使配置生效
3、安装Rsync服务端软件
#yum install rsync xinetd
4、编辑配置文件,设置开机启动
#vi /etc/xinetd.d/rsync rsync disable = no 修改为no 保存退出 #/etc/init.d/xinetd start 启动服务
5、创建rsyncd.conf配置文件
#vi /etc/rsyncd.conf #创建配置文件?添加以下代码 log file = /var/log/rsyncd.log #日志文件位置启动rsync后自动产生这个文件无需提前创建 pid file = /var/run/rsyncd.pid? #pid文件的存放位置 lock file = /var/run/rsync.lock? #支持max connections参数的锁文件 secrets file = /etc/rsync.pass? #用户认证配置文件里面保存用户名称和密码 motd file = /etc/rsyncd.Motd? #rsync启动时欢迎信息页面文件位置 uid = root #设置rsync运行权限为root gid = root #设置rsync运行权限为root port=873? #默认端口 use chroot = no #默认为true修改为no增加对目录文件软连接的备份 read only = no? #设置rsync服务端文件为读写权限 list = no #不显示rsync服务端资源列表 max connections = 200 #最大连接数 timeout = 600? #设置超时时间 auth users = admin #执行数据同步的用户名可以设置多个用英文状态下逗号隔开 hosts allow = 192.168.0.250? #允许进行数据同步的客户端IP地址可以设置多个用英文状态下逗号隔开   [vcfs] #自定义名称 path = ?/usr/local/bin/vcfs/ #rsync服务端数据目录路径 comment = backvcfs #模块名称  
6、创建用户认证文件
#vi /etc/rsync.pass 配置文件添加以下内容 admin:123456 #格式用户名:密码可以设置多个每行一个用户名:密码
7、设置文件权限
#chmod 600 /etc/rsyncd.conf? #设置文件所有者读取、写入权限 #chmod 600 /etc/rsync.pass? #设置文件所有者读取、写入权限
8、启动rsync
#/etc/init.d/xinetd start? #启动 #service xinetd stop?? #停止 #service xinetd restart? #重新启动

二.第二部分在源服务器192.168.0.250上操作

安装Rsync客户端

1、关闭SELINUX
#vi /etc/selinux/config? #编辑防火墙配置文件,重启生效 SELINUX=disabled #setenforce 0?? #立即生效
2、开启防火墙tcp 873端口
#vi /etc/sysconfig/iptables? #编辑防火墙配置文件 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT #/etc/init.d/iptables restart #最后重启防火墙使配置生效
3、安装配置Rsync客户端端软件
#whereis rsync? ?#查看系统是否已安装rsync,出现下面的提示说明已经安装 rsync: /usr/bin/rsync /usr/share/man/man1/rsync.1.gz #yum install? xinetd? #只安装xinetd即可CentOS中是以xinetd来管理rsync服务的 #yum install rsync xinetd #如果默认没有rsync运行此命令进行安装rsync和xinetd #vi /etc/xinetd.d/rsync #编辑配置文件设置开机启动 rsync disable = no #修改为no #/etc/init.d/xinetd start #启动CentOS中是以xinetd来管理rsync服务的
4、创建认证密码文件
#vi /etc/passwd.txt? #编辑文件?添加以下内容 123456 #密码 #chmod 600 /etc/passwd.txt? #设置文件权限只设置文件所有者具有读取、写入权限即可
5、测试源服务器192.168.0.250到目标服务器192.168.0.248之间的数据同步
(以推送的方式,从源头推送到同步的机器) #rsync -avH --port=873 --progress --delete? /usr/local/bin/vcfs/ admin@192.168.0.248::vcfs --password-file=/etc/passwd.txt  

三.测试

  1. 在源250机器上web端增加(删除)osd,mon,mds。 运行同步命令。然后登入248上web端查看是否成功。
  2. 添加用户测试。
  3. 在源上增加各种网络服务,例如cifs nfs iscsi。
 

四.添加crontab任务实时同步更新

在源服务器上操作192.168.0.250 增加rsync_vcfs.sh 添加如下内容: [root@node3 ~]# cat rsync_vcfs.sh #!/bin/bash /usr/bin/rsync -avH --port=873 --progress --delete? /usr/local/bin/vcfs/ admin@192.168.0.244::vcfs --password-file=/etc/passwd.txt 保存退出后。 增加crontab任务如下: [root@node3 ~]# crontab –e * * * * * /bin/bash /root/rsync_vcfs.sh 1>/dev/null 保存后。重启crond服务 service? crond? restart

五.最后测试

1.在源250机器上web端增加(删除)osd,mon,mds。 运行同步命令。然后登入248上刷新web端查看是否成功。实现实时刷新。 2.添加用户测试。 3.在源上增加各种网络服务,例如cifs? nfs? iscsi。然后再目标服务器248上面查看。

六.总结

针对整个Linux文件系统,rsync都能同步的,只要指定同步的文件路径,需要在配置文件中增加相应的模块,指定同步目录。修改同步脚本以及crontab任务。本例中,同步集群web端目录/usr/local/bin/vcfs ~

posted on 2016-11-15 14:22  歪歪121  阅读(144)  评论(0)    收藏  举报