shell脚本一键部署lvs+keepalived
环境
两个调度器dr1、dr2,两台真实机rs1、rs2。两台真实机安装httpd,并编辑主页内容用于验证
vip="192.168.132.250"
dr1="192.168.132.120"
dr2="192.168.132.121"
rs1="192.168.132.131"
rs2="192.168.132.134"
配置
#/bin/bash
vip="192.168.132.250"
dr1="192.168.132.120"
dr2="192.168.132.121"
rs1="192.168.132.131"
rs2="192.168.132.134" #dr1配置keepalived
yum install -y keepalived
cat > /etc/keepalived/keepalived.conf <<EOF
global_defs {
} vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id
priority
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
$vip/
}
} virtual_server $vip {
delay_loop
lb_algo rr
lb_kind DR
protocol TCP real_server $rs1 {
weight
TCP_CHECK {
connect_timeout
nb_get_retry
delay_before_retry
}
}
real_server $rs2 {
weight
TCP_CHECK {
connect_timeout
nb_get_retry
delay_before_retry
}
}
}
EOF
systemctl restart keepalived yum install -y ipvsadm sshpass
sed -i 35c"StrictHostKeyChecking no" /etc/ssh/ssh_config
setenforce
systemctl stop firewalld #dr1复制keepalived文件到dr2
sshpass -p root ssh $dr2 "yum install -y keepalived"
sshpass -p root scp /etc/keepalived/keepalived.conf $dr2:/etc/keepalived/keepalived.conf #dr2配置keepalived
dr2_cmd="
setenforce ;
systemctl stop firewalld;
sed -i 's/MASTER/BACKUP/g' /etc/keepalived/keepalived.conf;
sed -i 's/100/90/g' /etc/keepalived/keepalived.conf;
systemctl restart keepalived;
"
sshpass -p root ssh $dr2 "$dr2_cmd" #rs1,rs2配置lvs
cmd="
setenforce ;
firewall-cmd --add-port=/tcp;
ifconfig lo: $vip broadcast $vip netmask 255.255.255.255 up;
route add -host $vip dev lo:;
echo "" > /proc/sys/net/ipv4/conf/lo/arp_ignore;
echo "" > /proc/sys/net/ipv4/conf/lo/arp_announce;
echo "" > /proc/sys/net/ipv4/conf/all/arp_ignore;
echo "" > /proc/sys/net/ipv4/conf/all/arp_announce;
service httpd restart
"
sshpass -p root ssh $rs1 "$cmd"
sshpass -p root ssh $rs2 "$cmd"
shell脚本一键部署lvs+keepalived的更多相关文章
- Shell脚本一键部署——源码编译安装MySQL及自动补全工具
Shell脚本一键部署--源码编译安装MySQL及自动补全工具 编译安装MySQL 1.软件包 Mysql安装包 将安装包拖至/opt目录下,编辑一个脚本文件,将以下内容复制进去,然后source或者 ...
- shell脚本一键部署nginx
一键部署nginx 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ...
- shell脚本一键部署——Redis(直接复制执行)亲测100% 有效
首先所需软件包拖进目录,然后编辑一个脚本,复制一下脚本,source执行一下即可 #!/bin/bash echo -e "\033[31m =====正在验证当前为仅主机还是NAT模式== ...
- Centos 6.4上面用Shell脚本一键安装vsftpd
Centos 6.4上面用Shell脚本一键安装vsftpd install.sh #!/bin/bash if [ `uname -m` == "x86_64" ];then m ...
- Centos 6.4上面用Shell脚本一键安装mysql 5.6.15
Centos 6.4上面用Shell脚本一键安装mysql 5.6.15 #!/bin/bash if [ `uname -m` == "x86_64" ];then machi ...
- shell脚本一键同步集群时间
shell脚本一键同步集群时间 弋嘤捕大 椿澄辄 ψ壤 茇徜燕 ㄢ交涔沔 阚龇棚绍 テ趼蜱棣 灵打了个寒颤也没有去甩脱愣是拖着 喇吉辔 秋北酏崖 琮淄脸酷 茇呶剑 莲夤罱 陕遇骸淫 ...
- shell脚本自动化部署服务
shell脚本自动化部署 !/bin/bash #export PATH=$PATH:/export/maven/bin run_flag_dir="/data0/shell/deploy_ ...
- 安装完Ubuntu后通过shell脚本一键安装软件
安装完Ubuntu后通过shell脚本一键安装软件 以下代码中#是单行注释 :<<! ! 是多行注释. 运行的时候需要把多行注释去掉. 比如把以下代码保存为install.sh, 那么在终 ...
- shell脚本自动化部署
由于公司技术部团队较小,没有专门的运维团队,所以运维工作技术部承包了. 一.纯人工部署是这样的: 1. 本地打包:一般 maven clean package 2. 借助xftp上传到服务器对应目录 ...
随机推荐
- MySQL之修改默认引擎和字符集
一.数据库引擎 1.1 查看数据库引擎 mysql> show engines; +--------------------+---------+------------------------ ...
- three.js实现球体地球城市模拟迁徙
概况如下:1.SphereGeometry实现自转的地球:2.THREE.ImageUtils.loadTexture加载地图贴图材质:3.THREE.Math.degToRad,Math.sin,M ...
- 第8章 浏览器对象模型BOM 8.1 window对象
ECMAScript是javascript的核心,但如果要在web中使用javascript,那么BOM(浏览器对象模型)则无疑是真正的核心.BOM提供了很多对象,用于访问浏览器的功能,在浏览器之间共 ...
- JPA多条件复杂SQL动态分页查询
概述 ORM映射为我们带来便利的同时,也失去了较大灵活性,如果SQL较复杂,要进行动态查询,那必定是一件头疼的事情(也可能是lz还没发现好的方法),记录下自己用的三种复杂查询方式. 环境 spring ...
- 牛客暑假多校第一场 J Different Integers
题意:给你一个数组, q次询问, 每次询问都会有1个[l, r] 求 区间[1,l] 和 [r, n] 中 数字的种类是多少. 解法1, 莫队暴力: 代码: #include<bits/stdc ...
- HDU - 3966 树链刨分
题目传送门 操作就是询问某个点的值, 然后就是对一条路径上的值全部修改. 最基本的树刨题目了. 树刨的思想: 1. 对于每个点找到他的重儿子. void dfs1(int o, int u){ sz[ ...
- hdu 5903 Square Distance(dp)
Problem Description A string is called a square string if it can be obtained by concatenating two co ...
- 工程点点app爬虫和sign算法破解
这世界真的什么人都有,哎,继续分析. 通过对工程点点的逆向和抓包分析,发现工程点点需要x-sign和token验证. this.b.a(aVar.b("Accept", " ...
- NOIP 2009 最优贸易 题解
一道最短路的题,找一个买入和卖出相差最高的点即可,我们先以1为起点跑spfa,d1[x]不再表示距离而表示能够经过权值最小的节点的权值即 if(d1[y]>min(d1[x],price[y]) ...
- Java复习笔记(二):数据类型以及逻辑结构
一.数据类型 1.数据类型又分为基本数据类型和引用数据类型,而他们的区别在于,引用数据类型需要开辟内存空间来进行分配,什么意思呢?先来看看他们有哪些. 整数型:byte,short,int,long ...