多台服务器同步rsync & nfs

ServerA ServerB ServerC
以A为主,同步到B 以A为主,同步到C

- 法1:rsync + crontab
- 法2:nfs挂载的方式


法1:rsync

ServerA
1.安装rsync:yum -y install rsync
2.ln -s /etc/rsyncd.conf
3.编写rsync的配置文件:vim rsyncd.conf

log file = /var/run/rsync.log
lock file = /var/run/rsync.lock
# ignore nonreadable = yes
# dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

[tomcat]
        path = /usr/local/tomcat/
#        comment = ftp export area
         ignore errors
         auth user = root
         secrets file = /etc/rsyncd.pass


[geoc]
        path = /usr/geoc/
#        comment = ftp export area
         ignore errors
         auth user = root
         secrets file = /etc/rsyncd.pass
[geoc_data_tjj]
        path = /data/geoc_data_tjj/
#        comment = ftp export area
         ignore errors
         auth user = root
         secrets file = /etc/rsyncd.pass

4.编写用户密码文件:echo “root:123” > /etc/rsyncd.pass
5.修改密码文件的权限(只能是600):chmod 600 /etc/rsyncd.pass
6.启动rsyncd服务
service rsyncd start
7.查看进程占用端口:netstat -tunlp

   (启动rsyncd服务后会显示873端口被rsyncd占用)

服务器B、C

同步
1、安装rsync
yum -y install rsync                
2、同步密码
echo "root:98" >/etc/rsyncd.pass      
3、改权限
chmod 600 /etc/rsyncd.pass
4、上传
上传or 拷贝主ServerA的  id_dsa.pub   ->  authorized_keys

locate  authorized_keys  
  cat  id_dsa.pub >>/home/xtcuser/.ssh/authorized_keys

vim  /etc/rsyncd.sh   

#!/bin/bash
/bin/rsync -auv  --password-file=/etc/rsyncd.pass root@10.6.130.98::tomcat /usr/local/tomcat/
/bin/rsync -auv  --password-file=/etc/rsyncd.pass root@10.6.130.98::geoc /usr/geoc/

crontab -e
*/1 * * * * sh /etc/rsyncd.sh

chmod +x /etc/rsyncd.sh
service  rsyncd start

法2:nfs

ServerA:
yum -y install nfs-utils
vim /etc/exports

/data/geoc_data *(rw,sync,no_root_squash)
/data/geoc_data_tjj *(rw,sync,no_root_squash)

systemctl restart nfs
(如果需要的话,装下rpcbind)

Server B、Server C分别挂载下ServerA的/etc/exports里的内容:

mount 172.16.100.130:/data/geoc_data /data/geoc_data
mount 172.16.100.130:/data/geoc_data_tjj  /data/geoc_data_tjj

开机自动挂载:

如果服务端或客户端的服务器重启之后需要手动挂载,我们可以加入到开机自动挂载

在客户端/etc/fstab里添加

172.16.100.130:/nfs      /nfsdir      nfs  defaults,_rnetdev  1  1

备注:
第1个1表示备份文件系统,第2个1表示从/分区的顺序开始fsck磁盘检测,0表示不检测。

_rnetdev 表示主机无法挂载直接跳过,避免无法挂载主机无法启动


当在服务器运行df -h 卡死的时候,很有可能是nfs的原因。

1、在客户端找到挂载的服务器的ip及挂载目录

cat  /etc/fstab

2、进入服务器查看/etc/export查看服务器都挂载了那些客户端或通过 showmount -e 服务端IP 来查看主上端挂载的目录。

3、重启nfs

service   nfs   restart

4、现在客户端就可以操作了,先卸载之前的挂载

umount   /opt/test

5、重新挂载

mount  -t  nfs   服务器IP:/服务器目录      客户端挂载目录 

猜你喜欢

转载自blog.csdn.net/ha_123_qq/article/details/81324277
今日推荐