自动化脚本-配置LVS(DR模式)
一,获取所需配置的主机IP
cat get_ip.sh
#!/bin/bash
#将获得到的IP地址写进IP.txt
>ip.txt
#将原有的hosts信息清除
>/root/.ssh/known_hosts #如果没有公钥,退出建立
if [ ! -f ~/.ssh/id_rsa.pub ];then
echo "请使用ssh-kengen建立密钥!!!"
exit
fi
yum -y install expect for i in {..}
do
{
ip=192.168..$i
#ping一次,超时1s
ping -c1 -W1 $ip &>/dev/null
if [ $? -eq ];then
#ping成功则记录到ip.txt中
echo $ip >> ip.txt
#使用expect执行下列内容,spawn负责传递公钥给ip,传递yes和密码给可能出现的询问,遇到"#"退出expect
/usr/bin/expect <<-EOF
set timeout
spawn ssh-copy-id -i $ip
expect {
"*yes/no" { send "yes\r"; exp_continue }
"*password:" { send "uplooking\r" }
} expect "#"
send "exit\r"
expect eof
EOF
fi
}&
done wait
echo "finish..."
二,配置RS
vim lvs_dr_realserver_init.sh
#!/bin/bash
#LVS_DR_Realserver初始化
#设置分隔符为回车
IFS=$'\n'
#避免sed修改文件时导致该文件的软连接失效
alias sed='sed -c --follow-symlinks'
ntpserver=172.16.8.100
gw=192.168.122.1
vip=192.168.122.100 for line in `cat real_serverip.txt`
#文件格式如下real_serverip.txt
#old_ip hostname newip
#192.168.122.62 web10 192.168.122.10
#192.168.122.72 web20 192.168.122.20
#192.168.122.82 web30 192.168.122.30
#...
do
{
ip=`echo $line |awk '{print $1}'`
hostname=`echo $line |awk '{print $2}'`
newip=`echo $line |awk '{print $3}'`
}
#''强引用,变量失效;""变量正常调用
ssh root@$ip 'chkconfig NetworkManager off'
ssh root@$ip 'iptables -F; service iptables save'
#sed c 取代
ssh root@$ip "sed -r -i "/^SELINUX/cSELINUX=disabled" /etc/selinux/config"
ssh root@$ip "sed -r -i "/^HOSTNAME/cHOSTNAME=$hostname" /etc/sysconfig/network"
ssh root@$ip "sed -r -i "/^BOOTPROTO/cBOOTPROTO=none" /etc/sysconfig/network-scripts/ifcfg-eth0"
#sed 3a 第三行后边新增
ssh root@$ip "sed -r -i "/3aIPADDR=$newip" /etc/sysconfig/network-scripts/ifcfg-eth0"
ssh root@$ip "sed -r -i "/3aGATEWAY=$gw" /etc/sysconfig/network-scripts/ifcfg-eth0"
#ssh root@$ip "wget ftp://172.16.8.100/rhel6.repo -0 /etc/yum.repos.d/rhel6.repo"
ssh root@$ip "yum -y install lftp tree httpd"
ssh root@$ip "chkconfig httpd on"
ssh root@$ip "echo $hostname > /var/www/html/index.html"
ssh root@$ip "ntpdate -b $ntpserver"
ssh root@$ip "echo 'echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore' >> /etc/rc.local"
ssh root@$ip "echo 'echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce' >> /etc/rc.local"
ssh root@$ip "echo 'echo 'ip addr add dev lo' $vip/32 >> /etc/rc.local"
ssh root@$ip "reboot"
}&
done wait
echo "所有主机初始化完成"
二,调度器初始化
vim lvs_dr_director_init.sh
#!/bin/bash
#LVS_DR_Director初始化
#设置分隔符为回车
IFS=$'\n'
#避免sed修改文件时导致该文件的软连接失效
alias sed='sed -c --follow-symlinks'
ntpserver=172.16.8.100
gw=192.168.122.1 for line in `cat ip.txt`
#文件格式如下ip.txt
#old_ip hostname newip
#192.168.122.52 director1 192.168.122.2
#192.168.122.52 director2 192.168.122.3
#...
do
{
ip=`echo $line |awk '{print $1}'`
hostname=`echo $line |awk '{print $2}'`
newip=`echo $line |awk '{print $3}'`
#''强引用,变量失效;""变量正常调用
ssh root@$ip 'chkconfig NetworkManager off'
ssh root@$ip 'iptables -F; service iptables save'
#sed c 取代
ssh root@$ip "sed -r -i "/^SELINUX/cSELINUX=disabled" /etc/selinux/config"
ssh root@$ip "sed -r -i "/^HOSTNAME/cHOSTNAME=$hostname" /etc/sysconfig/network"
ssh root@$ip "sed -r -i "/^BOOTPROTO/cBOOTPROTO=none" /etc/sysconfig/network-scripts/ifcfg-eth0"
#sed 3a 第三行后边新增
ssh root@$ip "sed -r -i "/3aIPADDR=$newip" /etc/sysconfig/network-scripts/ifcfg-eth0"
ssh root@$ip "sed -r -i "/3aGATEWAY=$gw" /etc/sysconfig/network-scripts/ifcfg-eth0"
#ssh root@$ip "wget ftp://172.16.8.100/rhel6.repo -0 /etc/yum.repos.d/rhel6.repo"
ssh root@$ip "yum -y install ipvsadm keepalived"
ssh root@$ip "ntpdate -b $ntpserver"
ssh root@$ip "reboot"
}&
done wait
echo "所有主机初始化完成"
三、配置调度器
自动化脚本-配置LVS(DR模式)的更多相关文章
- CentOS下LVS DR模式负载均衡配置详解
一安装LVS准备: 1.准备4台Centos 6.2 x86_64 注:本实验关闭 SELinux和IPtables防火墙. 管理IP地址 角色 备注 192.168.1.101 LVS主调度器(Ma ...
- centos LB负载均衡集群 三种模式区别 LVS/NAT 配置 LVS/DR 配置 LVS/DR + keepalived配置 nginx ip_hash 实现长连接 LVS是四层LB 注意down掉网卡的方法 nginx效率没有LVS高 ipvsadm命令集 测试LVS方法 第三十三节课
centos LB负载均衡集群 三种模式区别 LVS/NAT 配置 LVS/DR 配置 LVS/DR + keepalived配置 nginx ip_hash 实现长连接 LVS是四层LB ...
- Keepalived+LVS DR模式高可用架构实践
Keepalived最初是为LVS设计,专门监控各服务器节点的状态(LVS不带健康检查功能,所以使用keepalived进行健康检查),后来加入了VRRP(虚拟路由热备协议(Virtual Route ...
- lvs dr 模式请求过程
一. lvs dr 模式请求过程 1.整个请求过程如下: client在发起请求之前,会发一个arp广播的包,在网络中找"谁是vip",由于所有的服务器,lvs和rs都有vip,为 ...
- LVS DR模式 负载均衡服务搭建
LVS 负载均衡 最近在研究服务器负载均衡,阅读了网上的一些资料,发现主要的软件负载均衡方案有nginx(针对HTTP服务的负载均衡),LVS(针对IP层,MAC层的负载均衡).LVS模式工作在网络层 ...
- 一个公网地址部署LVS/DR模式
http://blog.chinaunix.net/uid-7411781-id-3436142.html 一个公网地址部署LVS/DR模式 网上看了很多关于LVS的文章,在选取2种模式LVS/D ...
- 负载均衡LVS(DR模式)安装实战
1.编译安装ipvsadm 首先从LVS官网下载tarball,解压后make && make install即可. 要注意的是LVS的依赖有:popt-static.libnl.ke ...
- LVS DR模式搭建、keepalived+lvs
1.LVS DR模式搭建 条件: 即三台机器,在同一内网. 编辑脚本文件:/usr/local/sbin/lvs_dr.sh #! /bin/bashecho 1 > /proc/sys/net ...
- LVS DR模式搭建 keepalived lvs
LVS DR模式搭建• 三台机器 • 分发器,也叫调度器(简写为dir)172.16.161.130 • rs1 172.16.161.131 • rs2 172.16.161.132 • vip 1 ...
随机推荐
- 根据指定id取出数组中指定对象
// 需求:根据Id取出数组中指定的对象 let arr = [ { id: 1, rotationAngle: 330, target: '目标1' }, { id: 2, rotationAngl ...
- 【并发那些事】线程有序化神器CompletionService
前言 话说有一天,产品经理突然找到正在摸鱼的你. 产品:『我们要加一个聚合搜索功能,当用户在我们网站查询一件商品时,我们分别从 A.B.C 三个网站上查询这个信息,然后再把得到的结果返回给用户』 你: ...
- Meta(其他信息)
简介 元数据就是描述数据的数据 <meta> 元素表示那些不能由其它HTML元相关元素 (<base>, <link>, <script>, <s ...
- vjudge A^B Mod C 然后,10.6最。。。的 快速幂!!!
链接:https://vjudge.net/contest/331993#problem/D 给出3个正整数A B C,求A^B Mod C. 例如,3 5 8,3^5 Mod 8 = 3. Inpu ...
- swagger2使用
添加依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swag ...
- window10安装nginx及请求转发到tomcat服务器访问项目及开机自启
一.安装ngnix 1. 到nginx官网上下载相应的安装包,http://nginx.org/en/download.html: 下载进行解压,将解压后的文件放到自己心仪的目录下,我的解压文件放在 ...
- win10驱动签名禁用与启动
禁用:https://jingyan.baidu.com/article/624e74594dbc8d34e8ba5aa6.html?qq-pf-to=pcqq.c2c 启用或恢复:https://z ...
- Selenium3+python自动化007-等待时间
import time 一.强制等待 sleep(秒) 二.显示等待 使WebDriver等待指定元素条件成立时继续执行,否则在达到最大时长时抛出超时异常(TimeoutException) 1. 导 ...
- phpstorm实现分屏展示代码
第一种 选择你要分屏的页面 [Window]—>[Editor Tabs]—>[Split Vertically]or[Split Horizontally] 第二种 把鼠标箭头放到你想 ...
- [转]shallow heap & retained heap
所有包含Heap Profling功能的工具(MAT, Yourkit, JProfiler, TPTP等)都会使用到两个名词,一个是Shallow Size,另一个是 Retained Size. ...