自动化脚本-配置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 ...
随机推荐
- 【剑指Offer】04、重建二叉树
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7, ...
- Java链表常见操作【剑指Offer】03:从尾到头打印链表
题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList. 题解一:递归 /* 在最后一次递归方法返回以后,每一层的递归方法都会做一个arrayList.add(listNode.val ...
- sqli-labs less-17 --> less-20
Less-17 (报错盲注) 参考资料1:https://www.cnblogs.com/AmoBlogs/p/8673748.html
- WPF Dispatcher.BeginInvoke子线程更新UI
在开发WPF应用时出现:”调用线程无法访问此对象,因为另一个线程拥有该对象.“ 是因为UI线程是WPF应用的主线程,若尝试子线程更新UI线程应使用Dispatcher.BeginInvoke()或者I ...
- 服务&软件&基础设施的区别
IT基础设施: 软件 硬件 数据库相关DBM 网络相关 networking(网络通信) 以上4个会出现的比较多 application people 上面的东西都能提供IT服务 一半的互联网公司都会 ...
- C++——继承与派生
1.类的继承与派生 保持已有类的特性而构造新类的过程成为继承: 在已有类的基础上新增自己的特性而产生新类的过程称为派生: 被继承的已有类为基类:派生出的新类成为派生类.继承和派生其实是一回事. 继承 ...
- Java基本语法--程序流程控制
流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块.流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:顺序结构.分支结构.循环结构.本篇博客主要是对 ...
- Ubuntu 安装交叉编译器出错问题
安装教程网上有很多,可参考:Ubuntu14.04(64位)下gcc-linaro-arm-linux-gnueabihf交叉编译环境搭建 但是我的问题一直是路径搭好了,就是找不到文件:反复查找,花了 ...
- 巨杉TechDay回顾 | 技术人的夏天 · 就是这么燃!
在All in Cloud的云计算时代,业务和应用正在不断“云化”,在此过程中云原生(Cloud Native)理念应运而生.作为云化改造的重要部分,云数据库因其天生的弹性扩展能力以及灵活.易用等特点 ...
- xshell连接本地虚拟机中的centos
1. 一开始Xshell连接不上(设置为DHCP 动态IP)虚拟机上的centos8 参考这篇博文,将centos上的DHCP改为static 静态IP xshell连接本地虚拟机中的centos 2 ...