三、LVS Keppalived的安装

3.1、环境描述

LVS server1 (Master):10.0.0.202 虚拟IP为:10.0.0.210

LVS server2 ( Slave ) :10.0.0.203虚拟IP为:10.0.0.210

WEB server1: 10.0.0.201  网关为:10.0.0.254

WEB server2; 10.0.0.204  网关为:10.0.0.254

注意:所有集群服务器时间要一致

3.2、安装LVS

注意此动作。否则MAKE直接报错。

如果没有/2.6.32-279.el6.x86_64 这个目录,请安装内核开发包   

# yum -y install kernel-devel

# ln -s /usr/src/kernels/2.6.32-279.el6.x86_64/ /usr/src/linux(根据自己实际的内核,千万不能复制粘贴,千万!!!!)

# tar -xvf ipvsadm-1.24.tar.gz

# cd ipvsadm-1.24

#make && make install

# ipvsadm –L

3.3、安装Keepalived

# tar –xvf keepalived-1.2.12.tar.gz

#./configure --sysconf=/etc/ --with-kernel-dir=/usr/src/kernels/2.6.32-279.el6.x86_64/

Keepalived version       : 1.2.12

Compiler                 : gcc

Compiler flags           : -g -O2

Extra Lib                : -lssl -lcrypto -lcrypt

Use IPVS Framework       : Yes 表示使用ipvs框架,也是代表启动IPVS功能

IPVS sync daemon support : Yes  表示启动ipvs的同步功能,--disabled-lvs-sysncd此参数可以关闭。

IPVS use libnl           : No   表示使用新的libn1版本,如果想使用新的版本,需要重新安装libn1的包

Use VRRP Framework       : Yes 表示使用VRRP框架,这个实现keepalived高可用的必须功能

Use VRRP VMAC            : Yes 表示使用基础VMAC接口的xmit VRRP

SNMP support             : No

SHA1 support             : No

Use Debug flags          : No

# make && make install

# cp /soft/keepalived-1.2.12/bin/keepalived /usr/bin/

ERRR:

!!! OpenSSL is not properly installed on your system. !!!

!!! Can not include OpenSSL headers files.            !!!

解决:yum install -y openssl openssl-devel

3.3、主(master)配置Keepalived配置文件

! Configuration File for keepalived
global_defs { #全局定义
notification_email { #定义邮件
alvin@126.com #定义邮件地址
}
notification_email_from alvin@126.com #定义邮件地址
smtp_server mail.126.com #邮件服务器
smtp_connect_timeout 30 #邮件超时时间
router_id LVS_DEVEL #route_id标识 }
vrrp_instance VI_1 { #定义VRR组,
state MASTER #定义为MASTER主
interface eth1 #对外访问的网络接口
virtual_router_id 100 #虚拟路由标识。注意主从要一致
priority 100 #主从优先级,主的优先级要高于从。注意
advert_int 1 #:广播周期秒数
authentication {
auth_type PASS
auth_pass 2209
}
virtual_ipaddress {
10.0.0.210 #:虚拟VIP地址,真实环境这里应该是公网IP
}
}
virtual_server 10.0.0.210 80 { #:虚拟VIP地址 与 端口,DR架构WEB端口要和虚拟端口监听一致。否则将无法访问
delay_loop 6 #健康检查时间间隔,单位是秒
lb_algo rr #调用算法为RR
lb_kind DR #调用架构模式为DR
persistence_timeout 0 #:同一IP 50秒内的请求都发到同个real server
protocol TCP #使用TCP协议
real_server 10.0.0.201 80 {#:真实WEB服务器地址与端口
weight 1 #:转发伐值,越高调用的越多
TCP_CHECK {
connect_timeout 10 #:连接超时为10秒
nb_get_retry 3
delay_before_retry 3
connect_port 80 #连接端口为80,要和上面的保持一致
}
} real_server 10.0.0.204 80 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80 } } }

3.4、从(Slave)配置Keepalived配置文件

主从配置区别:

 state BACKUP   #状态改成BACKUP
priority 90 #优先级要低于主
interface eth1 #网络接口注意和本机对应,

其它的配置文件内容和主的一样

3.5、配置WEBserver,所有的WEB脚本都一样

# vim realserver.sh

如下:

#!/bin/bash
# Written by NetSeek
# description: Config realserver lo and apply noarp
WEB_VIP="10.0.0.210" #:修改VIP,其它的地方不动, . /etc/rc.d/init.d/functions case "$1" in
start)
ifconfig lo:0 $WEB_VIP netmask 255.255.255.255 broadcast $WEB_VIP
/sbin/route add -host $WEB_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 $WEB_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"
;; status)
# Status of LVS-DR real server.
islothere=`/sbin/ifconfig lo:0 | grep $WEB_VIP`
isrothere=`netstat -rn | grep "lo:0" | grep $web_VIP`
if [ ! "$islothere" -o ! "isrothere" ]
then
echo "LVS-DR real server Stopped."
else
echo "LVS-DR Running."
fi
;; *)
# Invalid entry.
echo "$0: Usage: $0 {start|status|stop}"
exit 1
;;
esac
exit 0

3.5、启动WEB server的脚本

# ./ realserver.sh start

# ip add list

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

    inet 10.0.0.210/32 brd 10.0.0.210 scope global lo:0  是否有VIP

inet6 ::1/128 scope host

3.6、启动LVS

在LVS主从服务器上启动LVS

# /etc/init.d/keepalived start

在MASTER服务器上会看到VIP,当MASTER挂了之后。VIP将自动切换到SLAVE(从)

# /etc/init.d/keepalived start

eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:8c:4c:ec brd ff:ff:ff:ff:ff:ff

inet 10.0.0.202/16 brd 10.0.255.255 scope global eth1

  inet 10.0.0.210/32 scope global eth1 是否有VIP有则OK

inet6 fe80::20c:29ff:fe8c:4cec/64 scope link

valid_lft forever preferred_lft forever

3.7、访问测试

是否可以看到WEBIP

# ipvsadm -L

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  10.0.0.210:http rr

-> 10.0.0.204:http              Route   1      0          0

-> 10.0.0.201:http              Route   1      0          0

然后通过浏览器访问:http://10.0.0.210 看看是否可以访问?

配置文件里面设置了。同一IP,50秒内定为一台WEBserver保证数据的完整连接。

如果80端口无非是用。请更该为81试试。?〉〉

LVS+Keppalived实现高可用负载均衡的更多相关文章

  1. LVS+Keepalived实现高可用负载均衡(转)

    LVS+Keepalived实现高可用负载均衡   一.原理         1.概要介绍         如果将TCP/IP划分为5层,则Keepalived就是一个类似于3~5层交换机制的软件,具 ...

  2. 【架构师之路】 LVS+Keepalived实现高可用负载均衡

    一.原理        1.概要介绍        如果将TCP/IP划分为5层,则Keepalived就是一个类似于3~5层交换机制的软件,具有3~5层交换功能,其主要作用是检测web服务器的状态, ...

  3. LVS+Keepalived 实现高可用负载均衡集群

    LVS+Keepalived  实现高可用负载均衡集群     随着网站业务量的增长,网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如 F5 ,Array又太贵,你们又是创业型互联公司如何有效 ...

  4. LVS+Keepalived 实现高可用负载均衡

    前言 在业务量达到一定量的时候,往往单机的服务是会出现瓶颈的.此时最常见的方式就是通过负载均衡来进行横向扩展.其中我们最常用的软件就是 Nginx.通过其反向代理的能力能够轻松实现负载均衡,当有服务出 ...

  5. LVS+Keepalived搭建高可用负载均衡

    应用环境: LVS负责多台WEB端的负载均衡(LB):Keepalived负责LVS的高可用(HA),这里介绍主备模型. 测试环境: 配置步骤: 1. 安装软件 在LVS-1和LVS-2两台主机上安装 ...

  6. 虚拟机 搭建LVS + DR + keepalived 高可用负载均衡

    一:环境说明:   LVS-DR-Master:    10.3.0.82   LVS-DR-Backup:    10.3.0.70   VIP:                10.3.0.60  ...

  7. CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡【转】

    CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡   一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2 ...

  8. Keepalived+LVS(dr)高可用负载均衡集群的实现

    一 环境介绍 1.操作系统CentOS Linux release 7.2.1511 (Core) 2.服务keepalived+lvs双主高可用负载均衡集群及LAMP应用keepalived-1.2 ...

  9. Linux 笔记 - 第十八章 Linux 集群之(三)Keepalived+LVS 高可用负载均衡集群

    一.前言 前两节分别介绍了 Linux 的高可用集群和负载均衡集群,也可以将这两者相结合,即 Keepalived+LVS 组成的高可用负载均衡集群,Keepalived 加入到 LVS 中的原因有以 ...

随机推荐

  1. PHP中json序列化后中文的编码显示问题

    在接口返回数据中,我们经常会返回json或者xml格式,php的json序列化函数json_encode非常好用,但是默认会把中文编码为ASCII码(注意,很多人认为这是乱码,其实不是),尤其在调试接 ...

  2. 静默方式安装window oracle

    1. setup.exe -silent -responseFile "C:\app\software\WIN64_11204\RSP\db_install_window.rsp" ...

  3. OpenLayers 3 的地图基本操作

    <body> <div id="map"> <div id="menu"> <button id="zoom ...

  4. java transient修饰符

    1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问. 2)transient关键字只能修饰变量,而不能修饰方法和类.注意,本地变量是不能被trans ...

  5. 构建一个最简单的web应用并部署及启动

    第一种构建方式:不使用maven File-new-Dynamic Web Project,用这种方式构建的web项目是在web.xml文件中配置了welcome-file的,但是却没有对应的文件,所 ...

  6. iOS 静态库,动态库与 Framework 浅析

    静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我们会用到库呢?一种情况是某些代码需要给别人使用,但是我们不希望别人 ...

  7. Android Camera(一)

    最近老大交给了一个任务,说是要在本地视频端很够调节摄像头焦距. 碰到了一些问题: 1.手机支不支持摄像头变焦 2.系统自带摄像软件可以变焦,但是自己编写的程序不支持变焦, 这个问题网上也有很多童鞋碰到 ...

  8. Python文件打包成EXE文件

    工具:pyinstaller 安装:pip install pyinstaller 使用: 1 将依赖文件集中到一个文件夹:           pyinstaller -D -w xxx.py    ...

  9. hdu_5723_Abandoned country(最小生成树)

    题目链接:hdu_5723_Abandoned country 题意: 让你求最小生成树的花费,然后求任给两点的期望路程 题解: 最小生成树大家都会求,Kruskal这里要改改,因为后面要求任意两点的 ...

  10. MQ日常维护操作手册

    假设队列管理器为QMgrName,以下所有使用QMgrName的地方您都可以替换成您维护的mq队列管理器名称. 一.MQ的启动与停止 用root用户启/停需要root用户包含在mqm组中. 1.MQ的 ...