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:/服务器目录 客户端挂载目录