Lvs+Keepalived负载均衡方案

  之前做的负载均衡,有需要的可以看一下。

  这里列几个刚开始接触lvs时比较模糊的概念:

LVS: Linux 虚拟服务器(Linux Virtual Server)是一组用来在真实服务器间平衡 IP 负载的整合软件组件,在linux2.4以后,LVS已经是linux内核的一部分。

IPVS:IP虚拟服务器(IP Virtual Server)是运行在LVS下的提供负载平衡功能的一种技术。

ipvsadm:ipvs的一个客户端工具。

keepalived:是VRRP协议的完美实现,keepalived 采用了多进程的设计模式,一般我们可以看到VRRP子进程,healthchecker子进程,Keepalived里面对LVS的相关操作并不直接使用ipvsadm这样的客户端程序,而是直接使用IPVS提供的函数进程操作。

实战:业务场景:提供多组服务的负载均衡。

  举个栗子,应用服务器1、2、3提供相同的服务A,应用服务器4、5、6提供相同的服务B,通过两台LVS(一主一备)将客户端访问负载到这六台服务器上,其中服务A和服务B必须通过端口来区分开来。

这里给出的步骤是我每实践一步就记录下来的:

LVS服务器:

1)安装ipvsadm   (用于查看ipvs的分发情况)

yum install ipvsadm

2)安装keepalived

1,tar zxf keepalived-1.1.16.tar.gz

2,yum install gcc, openssl, openssl-devel,popt-devel

3,./configure --prefix=/usr --sysconf=/etc

4,make && make install

  5,修改防火墙 -A INPUT -i eth1 -p vrrp -s 10.92.21.57 -j ACCEPT   (打开healthchecker检查防火墙)

  6,修改防火墙 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT (打开服务防火墙端口)

3)配置keepalived.conf(说明:这里的VIP是10.92.1.141,服务1是分发到10.92.1.197和15的3306端口,服务2是分发到10.92.1.15的9083端口)

! Configuration File for keepalived

global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id lnmp_node1
}

vrrp_sync_group VG_1 {
group {
mysql
}
}

vrrp_instance mysql {
state MASTER
interface eth1
virtual_router_id 51
priority 150
advert_int 1
virtual_ipaddress {
10.92.1.141  #VIP
}
authentication {
auth_type PASS
auth_pass fsaf..7&f
}
notify_master /opt/to_master.sh #LVS抢到主时调用此脚本
notify_backup /opt/to_backup.sh #LVS转成备时调用此脚本
notify_fault /opt/to_fault.sh #LVS故障时调用此脚本
notify_stop /opt/to_stop.sh #LVS停止时调用此脚本
}

virtual_server 10.92.1.141 3306 {
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
protocol TCP

real_server 10.92.1.197 3306 {
weight 3
TCP_CHECK {
connect_timeout 10
#nb_get_retry 3
#delay_before_retry 3
#connect_port 3306
}
}

real_server 10.92.1.15 3306 {
weight 3
TCP_CHECK {
connect_timeout 10
#nb_get_retry 3
#delay_before_retry 3
#connect_port 3306
}
}
}

virtual_server 10.92.1.141 9083 {
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
protocol TCP

real_server 10.92.1.15 9083 {
weight 3
TCP_CHECK {
connect_timeout 10
#nb_get_retry 3
#delay_before_retry 3
#connect_port 3306
}
}
}

4)相关命令

service keepalived start/stop  keepalived启动停止

ipvsadm   查看ipvs的负载情况

  

RS服务器分为linux和windows两种情况:

1)linux:

ifconfig lo:0 ${VIP} broadcast ${VIP} netmask 255.255.255.255 up

vi /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

sysctl -p

2)windows

安装microsoft loopback adapter:

cmd

hdwwiz.exe

查看网络适配器 是否有microsoft loopback adapter(如果没有的需要自己去安装哟):

cmd运行下面的命令即可

netsh interface ipv4 set interface "本地连接" weakhostreceive=enabled

netsh interface ipv4 set interface "本地连接" weakhostsend=enabled
netsh interface ipv4 set interface "loopback" weakhostreceive=enabled
netsh interface ipv4 set interface "loopback" weakhostsend=enabled

时间: 2024-12-28 22:57:14

Lvs+Keepalived负载均衡方案的相关文章

LVS+Keepalived负载均衡双主架构全攻略

二.LVS+Keepalived负载均衡双主互备架构 IP信息清单:名称 IP LVS-DR-Master 192.168.2.98 LVS-DR-Backup 192.168.2.99 LVS-DR-VIP1 192.168.2.100 LVS-DR-VIP2 192.168.2.105 Realserver01 192.168.2.101 Realserver02 192.168.2.102 Realserver03 192.168.2.103 Realserver04 192.168.2.

MySQL 高可用:mysql+Lvs+Keepalived 负载均衡及故障转移

转自 MySQL 高可用:mysql+Lvs+Keepalived 负载均衡及故障转移 - KK ——专注数据 - 博客频道 - CSDN.NEThttp://blog.csdn.net/kk185800961/article/details/51115264# 系统信息: mysql主库 192.168.1.152 CentOS 5.6 mysql 5.6.22 mysql从库 192.168.1.153 CentOS 5.6 mysql 5.6.22 VIP 192.168.1.150 my

lvs及lvs+keepalived负载均衡

################ lvs负载均衡 ####################实验环境:Redhat6.5ip:172.25.8.1,hostname:server1.example.com,lvs httpdip:172.25.8.3,hostname:server3.example.com,httpdip:172.25.8.4,hostname:server4.example.coms,httpd关闭所有主机防火墙iptables server1安装lvs作为调度器,后面的ser

LVS+Keepalived负载均衡主备

LVS+Keepalived 介绍LVSLVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.目前有三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR):十种调度算法(rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq). KeepalviedKeepalived在这里主要用作RealServer的健康状态检查以及LoadBal

搭建LVS+Keepalived负载均衡集群

这两天学习了LVS+Keepalived负载均衡的搭建.网上的教程非常多,可是动起手来遇到不少问题. 如今把自己的搭建过程以及遇到的一些问题给分享下. 硬件环境: Macbook 8G内存.250G SSD,双核 软件环境: 因为资源有限.搭建了4个虚拟机. 虚拟机 [[email protected] work]# uname -a Linux rs-1 2.6.18-238.el5 #1 SMP Thu Jan 13 15:51:15 EST 2011 x86_64 x86_64 x86_6

CentOS7 搭建LVS+keepalived负载均衡

CentOS7 搭建LVS+keepalived负载均衡(一) 本文中只涉及一台负载均衡服务器,和两台真实服务器,主要是初步体验负载均衡:实际的环境中,lvs和keepalived一起用才是黄金搭档,下篇将继续讲述lvs+keepalived的搭建过程 一.本次搭建的系统架构图- 虚拟机:VirtualBox- virtaulbox host-only的IP地址:192.168.137.1- 所用系统:CentOS7- 真实web服务器(RS1):192.168.137.5- 真实web服务器(

linux 负载均衡配置 keepalive lvs 使用nginx转发 CentOS7 搭建LVS+keepalived负载均衡

最近希望能够配置一下负载均衡,在虚拟机上面,但是网上找了很多资料很零散,对于不了解的人,很多不够详细,最近终于做好了,把具体的步骤写下来,方便各位网友查阅学习 这个实验需要安装nginx如果没有安装过,请参考: linux安装nginx:http://www.cnblogs.com/aspirant/p/6714548.html (1) 我们的系统是CentOS7 目前需要四台机器,分别为 Director机器 两台:master,slave 真实机器realserver1,realserver

搭建LVS+Keepalived负载均衡

1.LVS+Keepalived 介绍 LVS        LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项 目之一.目前有三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR):八种调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh). Keepalvied        Keepalived在这里主要用作RealServer的健康状

RedHat linux 6.4 下LVS+Keepalived负载均衡配置

LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,现在已经是 Linux标准内核的一部分.在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但是从Linux2.4内核以后,已经完全内置了LVS的各个功能模块,无需给内核打任何补丁,可以直接使用LVS提供的各种功能.使用LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能.高可用的服务器群集,它具有良好可靠性.