rsync nfs sersync httpd
环境:

角色            外网IP(NAT)     内网IP(LAN)       主机名
Rsync服务端 eth0:10.0.1.51 eth1:172.16.1.51 backup
NFS&Sers服务端 eth0:10.0.1.41 eth1:172.16.1.41 nfs
JUMP SERVER eth0:10.0.1.71 eth1:172.16.1.71 m01
Rsy&NFS客户端 eth0:10.0.1.7 eth1:172.16.1.7 web01
Rsy&NFS客户端 eth0:10.0.1.8 eth1:172.16.1.8 web02
cat /etc/ansible/hosts
[backup]
172.16.1.51
[nfs]
172.16.1.41
[web]
172.16.1.7
172.16.1.8
[all:children]
backup
nfs
web

1.基础环境部署

)firewalld selinux
)ssh密钥生成以及公钥推送
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa -C root
ssh-copy-id -i ~/.ssh/id_rsa root@172.16.1.7
ssh-copy-id -i ~/.ssh/id_rsa root@172.16.1.8
ssh-copy-id -i ~/.ssh/id_rsa root@172.16.1.41
ssh-copy-id -i ~/.ssh/id_rsa root@172.16.1.51
)epel源部署
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache
)安装软件包rsync,nfs-utils
ansible all -m yum -a "name=rsync,nfs-utils state=installed"
ansible all -m service -a "name=rpcbind state=started enabled=yes"
ansible all -m service -a "name=nfs state=started enabled=yes"
)创建用户,组
ansible all -m group -a "name=www gid=666"
ansible all -m user -a "name=www uid=666 group=666 create_home=no shell=/sbin/nologin"
)创建目录,并修改所属和权限
ansible all -m file -a "path=/data owner=www group=www state=directory"
ansible all -m file -a "path=/backup owner=www group=www state=directory"
ansible all -m file -a "path=/server/scripts state=directory"
)创建rsync客户端密码文件
ansible all -m copy -a "content=1 dest=/etc/rsync.pass mode=600"
ansible backup -m copy -a "content='rsync_backup:1' dest=/etc/rsync.passwd mode=600"
)推送脚本
mkdir -p /server/scripts
vim /server/scripts/rsync_backup.sh
vim /server/scripts/rsync_check.sh
ansible all -m copy -a "src=/server/scripts/rsync_backup.sh dest=/server/scripts/rsync_backup.sh"
ansible backup -m copy -a "src=/server/scripts/rsync_check.sh dest=/server/scripts/rsync_check.sh"
)计划任务
ansible all -m cron -a "name='Rsync backup' minute=0 hour=1 job='/bin/sh /server/scripts/rsync_backup.sh &> /dev/null'"
ansible backup -m cron -a "name='Rsync check' minute=0 hour=5 job='/bin/sh /server/scripts/rsync_check.sh &> /dev/null'"

2.rsync服务端

)安装
在基础配置已实现
)配置
mkdir -p /server/conf
vim /server/conf/rsyncd.conf
ansible backup -m copy -a "src=/server/conf/rsyncd.conf dest=/etc/rsyncd.conf"
)启动
ansible all -m service -a "name=rsyncd state=started enabled=yes"
ansible backup -m yum -a "name=mailx state=installed"
//验证
ansible all -m script -a "/server/scripts/rsync_backup.sh"
ansible backup -m script -a "/server/scripts/rsync_check.sh"

3.nfs服务端

)安装
)配置
方法1:建议使用
echo '/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)' > /server/conf/exports
ansible nfs -m copy -a 'src=/server/conf/exports dest=/etc/'
方法2:
ansible nfs -m copy -a 'content="/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)" dest=/etc/exports'
)启动
在基础环境已经启动过了,这里重载下配置信息
ansible nfs -m shell -a "exportfs -arv"

web服务器

)安装
ansible web -m yum -a "name=httpd state=installed"
)配置
)启动
ansible web -m service -a "name=httpd state=started"
)挂载NFS共享存储
ansible web -m mount -a "src=172.16.1.41:/data path=/var/www/html state=mounted fstype=nfs"

4.serysnc

)安装
#sersync需要依赖inotify和rsync,所以需要安装对应软件
ansible nfs -m yum -a "name=inotify-tools state=installed"
#安装sersync
ssh root@172.16.1.41
mkdir /server/tools -p
cd /server/tools/
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/sersync/sersync2.5.4_64bit_binary_stable_final.tar.gz
tar xf sersync2..4_64bit_binary_stable_final.tar.gz
mv GNU-Linux-x86/ /usr/local/sersync
cd /usr/local/sersync/
)配置
vim confxml.xml
...
<fileSystem xfs="true"/> #监控对象 false改成true
<inotify> #监控信息
<delete start="true"/>
<createFolder start="true"/>
<createFile start="true"/>
<closeWrite start="true"/>
<moveFrom start="true"/>
<moveTo start="true"/>
<attrib start="true"/>
<modify start="true"/>
<localpath watch="/data">
<remote ip="172.16.1.51" name="data"/> #发送给rsync服务端的data模块
<rsync>
<commonParams params="-az"/> #命令选项
<auth start="true" users="rsync_backup" passwordfile="/etc/rsync.pass"/> #rsync的认证信息
...
)启动
ln -s /usr/local/sersync/sersync2 /usr/bin/
sersync2 -dro /usr/local/sersync/confxml.xml

Ansible部署rsync、nfs及sersync的更多相关文章

  1. rsync+nfs+sersync实战案例

    回顾: 1.rsync 统一备份各个服务器的配置文件或重要文件 系统配置文件 日志文件 系统日志文件 messages.secure.cron 服务日志文件 access_log.access.log ...

  2. CentOS7.5 -- Ansible部署与应用

    第1章 Ansible概述 Ansible是一个配置管理系统configuration management system python 语言是运维人员必须会的语言 ansible 是一个基于pyth ...

  3. rsync nfs web01总结

    目录 rsync nfs web01总结 要求 部署rsync服务端(172.16.1.41) 部署rsync客户端(172.16.1.31.172.16.1.7) 部署web代码 NFS服务端部署 ...

  4. rsync nfs 实时同步,结合实战

    目录 rsync nfs 实时同步,实战 一.部署rsync服务端(backup) 二.部署rsync客户端(nfs,web01) 三.部署web代码(web01) 四.NFS服务端部署(nfs) 五 ...

  5. SSH与ansible 部署方法与核心模块简介

    SSH与ansible 部署方法 部署环境 管理服务器 172.16.1.61 NFS服务器 172.16.1.31 备份服务器 172.16.1.41 1检查SSH服务是否运行并开启服务 netst ...

  6. 部署LAMP+NFS实现双Web服务器负载均衡

    一.需求分析 1.前端需支持更大的访问量,单台Web服务器已无法满足需求了,则需扩容Web服务器: 2.虽然动态内容可交由后端的PHP服务器执行,但静态页面还需要Web服务器自己解析,那是否意味着多台 ...

  7. 001.Ansible部署RHCS存储集群

    一 前期准备 1.1 前置条件 至少有三个不同的主机运行monitor (MON)节点: 至少三个直接存储(非外部SAN硬件)的OSD节点主: 至少两个不同的manager (MGR)节点: 如果使用 ...

  8. 使用Ansible部署etcd 3.2高可用集群

    之前写过一篇手动搭建etcd 3.1集群的文章<etcd 3.1 高可用集群搭建>,最近要初始化一套新的环境,考虑用ansible自动化部署整套环境, 先从部署etcd 3.2集群开始. ...

  9. ansible部署,规划

    部署管理服务器 第一步:先检查有没有ssh服务 [root@iZm5eeyc1al5vzh8bo57zyZ ~]# rpm -qf /etc/init.d/sshd openssh-server-5. ...

随机推荐

  1. python里的反射(自学习)

    在做程序开发中,我们常常会遇到这样的需求:需要执行对象里的某个方法,或需要调用对象中的某个变量,但是由于种种原因我们无法确定这个方法或变量是否存在,这是我们需要用一个特殊的方法或机制要访问和操作这个未 ...

  2. cf 187B.AlgoRace

    floyd...太神奇了(不会floyd(大雾)) 貌似floyd的外层k是保证最短路从起点逐渐向外扩展(而不是乱搞233) 所以在处理f[i][j]=min(f[i][j],f[i][k]+f[k] ...

  3. java web实现在线编辑word,并将word导出(二)

    前一篇文章介绍了后台将前台html转为word文档的一种方式,但却有一个问题是没法讲图片放置在生成的word报告中.我在网上找了很多方法,甚至将图片转换成base64编码的方式也不成功.效果如下: 由 ...

  4. 【分类问题中模型的性能度量(一)】错误率、精度、查准率、查全率、F1详细讲解

    文章目录 1.错误率与精度 2.查准率.查全率与F1 2.1 查准率.查全率 2.2 P-R曲线(P.R到F1的思维过渡) 2.3 F1度量 2.4 扩展 性能度量是用来衡量模型泛化能力的评价标准,错 ...

  5. comparable接口 和 comparator接口的特点与区别

    1. Comparator 和 Comparable 相同的地方 他们都是java的一个接口, 并且是用来对自定义的class比较大小的. 什么是自定义class: 如 public class Pe ...

  6. 高次同余方程 $BSGS$

    第一篇\(Blog\)... 还是决定把\(luogu\)上的那篇搬过来了. BSGS,又名北上广深 它可以用来求\(a^x \equiv b (mod \ n)\)这个同余方程的一个解,其中\(a, ...

  7. vue-cli3.x 搭建项目目

    安装文档 https://cli.vuejs.org/zh/guide/ 安装条件 npm 更至最新 node >=8.9 可以用npm -v 查看npm的版本号 1.关于旧版本 Vue CLI ...

  8. mysql第四篇--SQL逻辑查询语句执行顺序

    mysql第四篇--SQL逻辑查询语句执行顺序 一.SQL语句定义顺序 SELECT DISTINCT <select_list> FROM <left_table> < ...

  9. HDU - 1068 Girls and Boys(二分匹配---最大独立集)

    题意:给出每个学生的标号及与其有缘分成为情侣的人的标号,求一个最大集合,集合中任意两个人都没有缘分成为情侣. 分析: 1.若两人有缘分,则可以连一条边,本题是求一个最大集合,集合中任意两点都不相连,即 ...

  10. windows FTP上传

    TCHAR tcFileName[MAX_PATH * 4] = {L"visio2010永久安装密钥.txt"}; TCHAR tcName[MAX_PATH * 4] = {0 ...