LVS+Keepalived实现负载均衡高可用
使用脚本实现LVS负载均衡
环境:
3台主机
DS:192.168.100.1
RS1:192.168.100.11
RS2:192.168.100.12
VIP:192.168.100.100
安装ipvsadm
./configure --prefix=/usr/local/ipvsadm
make && make install
DS脚本如下:
#!/bin/bash
# description: start LVS of DirectorServer
VIP=192.168.100.100
RIP1=192.168.100.11
RIP2=192.168.100.12
./etc/rc.d/init.d/functions
logger LVS is $1
case "$1" in
start)
/sbin/ipvsadm --set 30 5 60
/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev eth0:0
/sbin/ipvsadm -A -t $VIP:80 -s wrr -p 3
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g -w 1
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g -w 1
touch /var/lock/subsys/ipvsadm >/dev/null 2>&1
echo "LVS is started!"
;;
stop)
/sbin/ipvsadm -C
/sbin/ipvsadm -Z
ifconfig eth0:0 down
ifconfig eth0:1 down
route del $VIP
route del $VIP
rm -rf /var/lock/subsys/ipvsadm >/dev/null 2>&1
echo "LVS is stoped"
;;
status)
if [ ! -e /var/lock/subsys/ipvsadm ];then
echo "ipvsadm has stoped"
else
echo "ipvsadm has started"
fi
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
esac
exit 0
RS脚本如下:
#!/bin/bash
# description: Config realserver lo and apply noarp
VIP=192.168.100.100
. /etc/rc.d/init.d/functions
case "$1" in
start)
ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
/sbin/route add -host $VIP dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null 2>&1
echo "RealServer Start OK"
;;
stop)
ifconfig lo:0 down
route del $VIP >/dev/null 2>&1
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "RealServer Stoped"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
LVS+Keepalived实现负载均衡高可用
环境:
DS1:192.168.100.1
DS2:192.168.100.2
RS1:192.168.100.11
RS2:192.168.100.12
VIP:192.168.100.100
之前已经安装ipvsadm这里不再阐述
安装keepalived
./configure --prefix=/usr/local/keepalived --with-kernel-dir=/usr/src/kernels/2.6.xxxxx
make && make install
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
cp /usr/local/keepalived/sbin/keepalived /sbin
配置keepalived.conf
DS1:
global_defs {
notification_email {
root@localhost
}
notification_email_from root@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.100.100
}
}
virtual_server 192.168.100.100 80 {
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
persistence_timeout 50
protocol TCP
real_server 192.168.100.11 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.100.12 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
DS2:
global_defs {
notification_email {
root@localhost
}
notification_email_from root@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.100.100
}
}
virtual_server 192.168.100.100 80 {
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
persistence_timeout 50
protocol TCP
real_server 192.168.100.11 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.100.12 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
两台DS都启动keepalived
/etc/init.d/keepalived start
两台RS也需要都运行上文的脚本
ipvsadm -ln 查看LVS状态
ipvsadm -lnc 查看LVS链接状态
可通过一个测试页面进行测试,代码如下(每两秒刷新一次,不缓存数据):
通过不同的客户端访问,页面会轮流出现node1和node2
<html>
<head>
<title>test</title>
<meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache"/>
<meta http-equiv="Refresh" content="2"/>
</head>
<body>this is node1或2</body>
</html>
转载于:https://blog.51cto.com/ivanhope/1175691
LVS+Keepalived实现负载均衡高可用相关推荐
- LVS原理详解及部署之五:LVS+keepalived实现负载均衡高可用
本文我们主要讲解的是LVS通过keepalived来实现负载均衡和高可用,而不是我们第三篇文章介绍的通过手动的方式来进行配置.通过脚本的方式来显示RS节点的健康检查和LVS的故障切换.此文会通过一个实 ...
- Lvs+keepAlived实现负载均衡高可用集群(DR实现)
第1章 LVS 简介 1.1 LVS介绍 LVS是Linux Virtual Server的简写,意为Linux虚拟服务器,是虚拟的服务器集群系统,可在UNIX/LINUX平台下实现负载均衡集群功能. ...
- LVS+Keepalived-DR模式负载均衡高可用集群
LVS+Keepalived DR模式负载均衡+高可用集群架构图 工作原理: Keepalived采用VRRP热备份协议实现Linux服务器的多机热备功能. VRRP,虚拟路由冗余协议,是针对路由器的 ...
- Nginx+KeepAlived实现负载均衡高可用原理
作者:田超凡 原创博文,严禁复制转载,仿冒必究 nginx负载均衡高可用 什么是负载均衡高可用 nginx作为负载均衡器,所有请求都到了nginx,可见nginx处于非常重点的位置,如果nginx服务 ...
- LVS+Keepalive 实现负载均衡高可用集群
一.LVS 介绍 目前LVS已经被集成到Linux内核模块中.LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器,该项目在Linux内核中实现了基于IP的数据请求负载均 ...
- Ansible(四)ansible roles实现(apache+haproxy+keepalived)负载均衡+高可用
1.ansible roles简介 <1> roles 用于层次性.结构化地组织playbook. <2> roles 能够根据层次型结构自动装载变量文件.tasks以及han ...
- saltstack实现haproxy+keepalived负载均衡+高可用(二)
一键部署haproxy+keepalived实现负载均衡+高可用 实验环境: !!!! 特别注意: www.westos.org为test1的minion名字 test1: 172.25.1.1 ...
- linux系统下对网站实施负载均衡+高可用集群需要考虑的几点
随着linux系统的成熟和广泛普及,linux运维技术越来越受到企业的关注和追捧.在一些中小企业,尤其是牵涉到电子商务和电子广告类的网站,通常会要求作负载均衡和高可用的Linux集群方案. 那么如何实 ...
- keepalive+nginx实现负载均衡高可用_超详细的LVS+keepalived+nginx实现高性能高可用负载均衡集群教程...
概述 前面已经介绍了前两部分内容,下面主要介绍在nginx服务器方面的配置和测试整个集群是否可用. 在realserver端配置VIP 1.两台nginx服务器都要执行下面脚本: #vi /etc/r ...
最新文章
- display会影响canvas吗_多动症会影响智商吗?
- 设置共享,实现Linux和Windows之间的共享
- mailmessage html编码,C#MailMessage顯示HTML標記的AlternateViews
- ubuntu12.04 e680 usbnet
- Highcharts 散点图介绍
- Github链接地址
- oracle转mysql总结经验,oracle转mysql总结(转)
- PHP微信公众平台源码 支持多账号 仿pigcms 小猪微信 已经修改完毕 完整可用
- C语言霍夫曼编码压缩,数据结构大作业——哈夫曼编码压缩BMP格式文件
- C#登录窗口(访问数据库)的制作,类文件的制作及使用
- 用python解析html
- CNN for Sentence Classification-textcnn阅读笔记
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_11、SpringBoot2.x目录文件结构讲解...
- 决策树CART介绍*
- 1.0 Linux 网络相关概念和修改IP地址的方法
- 工业物联网案例:城市供水管网渗漏监测预警系统
- 赛普拉斯CYpress,初接触之一电磁感应触摸按键demo
- vmware 下ubuntu共享主机文件
- 西南大学考研计算机808真题和复试
- 【从线性回归到 卷积神经网络CNN 循环神经网络RNN Pytorch 学习笔记 目录整合 源码解读 B站刘二大人 绪论(0/10)】
热门文章
- sql declare用法_SQL语句的优化分析
- 机器学习实战——KNN及部分函数注解
- mysql自动备份工具 linux_自动备份MYSQL方法 (Linux)
- 河北机电职业技术学院计算机分数线,河北机电职业技术学院历年分数线 2021河北机电职业技术学院录取分数线...
- java dayofweek_Java日期时间API系列22-----Jdk8中java.time包中的新的日期时间API类,Month月份和DayOfWeek星期的计算。...
- ResNeX论文概述
- java 判断是否是昨天_java判断日期是否是今天
- php 开发商城 注意,开发PHP商城要注意的一些常见安全问题
- linux命令 bind,Linux bind命令
- ortools解决tsp_ortools系列:后话