一,获取所需配置的主机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模式)的更多相关文章

  1. CentOS下LVS DR模式负载均衡配置详解

    一安装LVS准备: 1.准备4台Centos 6.2 x86_64 注:本实验关闭 SELinux和IPtables防火墙. 管理IP地址 角色 备注 192.168.1.101 LVS主调度器(Ma ...

  2. 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 ...

  3. Keepalived+LVS DR模式高可用架构实践

    Keepalived最初是为LVS设计,专门监控各服务器节点的状态(LVS不带健康检查功能,所以使用keepalived进行健康检查),后来加入了VRRP(虚拟路由热备协议(Virtual Route ...

  4. lvs dr 模式请求过程

    一. lvs dr 模式请求过程 1.整个请求过程如下: client在发起请求之前,会发一个arp广播的包,在网络中找"谁是vip",由于所有的服务器,lvs和rs都有vip,为 ...

  5. LVS DR模式 负载均衡服务搭建

    LVS 负载均衡 最近在研究服务器负载均衡,阅读了网上的一些资料,发现主要的软件负载均衡方案有nginx(针对HTTP服务的负载均衡),LVS(针对IP层,MAC层的负载均衡).LVS模式工作在网络层 ...

  6. 一个公网地址部署LVS/DR模式

    http://blog.chinaunix.net/uid-7411781-id-3436142.html 一个公网地址部署LVS/DR模式   网上看了很多关于LVS的文章,在选取2种模式LVS/D ...

  7. 负载均衡LVS(DR模式)安装实战

    1.编译安装ipvsadm 首先从LVS官网下载tarball,解压后make && make install即可. 要注意的是LVS的依赖有:popt-static.libnl.ke ...

  8. LVS DR模式搭建、keepalived+lvs

    1.LVS DR模式搭建 条件: 即三台机器,在同一内网. 编辑脚本文件:/usr/local/sbin/lvs_dr.sh #! /bin/bashecho 1 > /proc/sys/net ...

  9. LVS DR模式搭建 keepalived lvs

    LVS DR模式搭建• 三台机器 • 分发器,也叫调度器(简写为dir)172.16.161.130 • rs1 172.16.161.131 • rs2 172.16.161.132 • vip 1 ...

随机推荐

  1. APFS 宗卷 • APFS(加密)磁盘格式怎么去掉?Mac磁盘加密怎么解除?

    相信很多朋友都因为APFS 宗卷 • APFS(加密)磁盘格式而困扰,这种磁盘加密,导致很多破解版软件都不能安装.那么磁盘加密怎么解除?小编翻阅了一些教程,为您带来APFS 宗卷 • APFS(加密) ...

  2. Chrome 浏览器相关

    ********* 问题 ********* localhost 通常会使用加密技术来保护您的信息.Google Chrome 此次尝试连接到 localhost 时,此网站发回了异常的错误凭据.这可 ...

  3. python笔记06

    python笔记06 数据类型 上个笔记内容补充 补充 列表 reverse,反转. v1 = [1,2,3111,32,13] print(v1) v1.reverse() print(v1) v1 ...

  4. Codeforces Round #350 (Div. 2)(670C)

    今天对着算法进阶指南,学了一下离散化.大概对桶排这样的算法优化比较好吧. 离散化:就是把无穷大的集合中若干个元素映射为有限集合以便于统计的方法.例如在很多时候,问题范围定义为整数集合Z,但涉及的元素只 ...

  5. LaTeX技巧011:LaTtex中如何产生直立体希腊字母?

     %\usepackage{upgreek}\upmu \uppi

  6. Codeforces Round #623 (Div. 2) D.Recommendations 并查集

    ABC实在是没什么好说的,但是D题真的太妙了,详细的说一下吧 首先思路是对于a相等的分类,假设有n个,则肯定要把n-1个都增加,因为a都是相等的,所以肯定是增加t小的分类,也就是说每次都能处理一个分类 ...

  7. LED Keychain-A Tool To Drive Specific Market Segments

    LED keychain are an excellent tool to drive specific market segments. They can focus on a small grou ...

  8. @RendSection{"scripts",require:false}的作用

    MVC视图中,Javascripts代码被放于下面的Razor代码中(@section Scripts{}). 好处:在视图进行JavaScript编程时,是一个很好的实践,在共享视图(_Layout ...

  9. C++——动态内存分配2-创建对象数组

    //创建对象数组 #include<iostream> using namespace std; class Point { public:        Point()       {  ...

  10. yolo系列阅读笔记(v1-v3)

    yolov1 模型输出的概率建模 图片首先被分割为S*S的网格(grid cell).如果一个bbox的中心落在一个网格里,则该网格负责检测该物体.(对于pascal数据集,S定为7) 每个网格预测B ...