• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统
您的位置:首页 > 操作系统 >RedHat/Centos > haproxy+keepalived负载均衡之主备切换(centos)

haproxy+keepalived负载均衡之主备切换(centos)

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-05-12

佚名 通过本文向大家介绍了haproxy keepalived,haproxy 负载均衡,keepalived负载均衡,haproxy,haproxy配置文件详解等相关知识,希望对您有所帮助,也希望大家多多支持linkedu.com
VIP: 192.168.1.100
Master: 192.168.1.238
Slave: 192.168.1.239
真实IP:
RIP1: 192.168.1.235
RIP2: 192.168.1.236

以下为安装步骤
第一步:安装haproxy
下载http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.18.tar.gz
#tar zxvf haproxy-1.4.18.tar.gz
#make TARGET=linux26
#make install
第二步:安装ipvs
根据ipvs官网介绍,不同版本内核适用的ipvs版本不一样。http://www.linuxvirtualserver.org/software/ipvs.html
2.6.18 适用于1.24的各个版本
ipvsadm-1.24-6.src.rpm (for kernel between 2.6.10 and 2.6.27.4) - December 10, 2005
ipvsadm-1.24-5.src.rpm (for 1.2.0 or later) - October 27, 2004
ipvsadm-1.24-4.src.rpm (for 1.1.8 or later) - January 10, 2004
ipvsadm-1.24-3.src.rpm (for 1.1.8 or later) - December 20, 2003
ipvsadm-1.24.tar.gz - December 10, 2005
安装之前,软连接系统内核目录
ln -s /usr/src/kernels/2.6.18-194.11.3.el5-i686/ /usr/src/linux
查看系统当前的内核版本:
uname -r
2.6.18-164.el5

有时你找不到这个内核的路径,系统安装后并没有kernerls的目录
解决方法:yum install kernel-devel
接下来在进行连接 编译 就ok了!

我们使用最新的 ipvsadm-1.24.tar.gz,下载安装。
tar zxvf ipvsadm-1.24.tar.gz
cd ipvsadm-1.24
make
make install

第三步,安装keepalived
从http://www.keepalived.org上下载最新的keepalived-1.2.2.tar.gz。
tar zxvf keepalived-1.2.2.tar.gz
cd keepalived-1.2.2
./configure
make
make install
安装完毕。配置
(1):
cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
ln -s /usr/local/sbin/keepalived /usr/sbin/
service keepalived start
如果安装时的编译参数为: ./configure --prefix=/usr/local/keepalived
则操作步骤如下:
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/
service keepalived start

以下为详细的配置文件 

二、haproxy
(1)、haproxy配置文件 haproxy.cfg
global
daemon
chroot /usr/local/haproxy
maxconn 256
user haproxy
group haproxy
log-send-hostname xiaokk.com
log-tag my_xiaokk
nbproc 1
pidfile /var/run/haproxy.pid
log 127.0.0.1 local0 info
defaults
maxconn 256
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
timeout check 2000
retries 3
option httpclose
option httplog
option dontlognull
option forwardfor
option redispatch
option abortonclose
frontend http-www
bind 192.168.1.100:80
acl ha_policy hdr_reg(host) -i ^(www.test-haproxy.com|test-haproxy.com|demo.test-haproxy.com|www.hellobaby.com)
acl ha_baby hdr_dom(host) -i hellobaby.com
use_backend ha_www if ha_policy
use_backend ha_www if ha_baby
log 127.0.0.1 local0 info
listen admin_status
bind 192.168.1.100:1080
mode http
log 127.0.0.1 local0 info
stats uri /admin?status
stats refresh 30s
stats realm Haproxy\ Admin\ Center
stats auth admin:admin
stats hide-version
backend ha_www
mode http
balance source
cookie SERVERID
option httpchk HEAD /index.html
server w1 192.168.1.235:80 cookie 1 check inter 1500 rise 3 fall 3 weight 1
server w2 192.168.1.236:85 cookie 1 check inter 1500 rise 3 fall 3 weight 2
(2)、haproxy启却脚本 haproxy.sh

#!/bin/sh
#
# chkconfig: - 85 15
# description: HA-Proxy is a TCP/HTTP reverse proxy which is particularly \
# suited for high availability environments.
#
# processname: haproxy
# config: /usr/local/haproxy/conf/haproxy.cfg
# pidfile: /var/run/haproyx.pid
#

# Source function library.
if [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
else
exit 0
fi

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up
[ ${NETWORKING} = "no" ] && exit 0

[ -f /usr/local/haproxy/conf/haproxy.cfg ] || exit 1

RETVAL=0

# start Haproxy
start() {
/usr/local/haproxy/sbin/haproxy -c -q -f /usr/local/haproxy/conf/haproxy.cfg
if [ $? -ne 0 ]; then
echo "Errors found in configuration file."
return 1
fi

echo -n "Starting Haproxy: "
daemon /usr/local/haproxy/sbin/haproxy -D -f /usr/local/haproxy/conf/haproxy.cfg -p /var/run/haproxy.pid
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/haproxy
return $RETVAL
}

# stop Haproxy
stop() {
echo -n "Shutting down Haproxy: "
killproc haproxy -USR1
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/haproxy
[ $RETVAL -eq 0 ] && rm -f /var/run/haproxy.pid
return $RETVAL
}

# restart Haproxy
restart() {
/usr/local/haproxy/sbin/haproxy -c -q -f /usr/local/haproxy/conf/haproxy.cfg
if [ $? -ne 0 ]; then
echo "ERR found in configuration file, check it with 'haproxy check'."
return 1
fi
stop
start
}

# check haproxy
check() {
/usr/local/haproxy/sbin/haproxy -c -q -V -f /usr/local/haproxy/conf/haproxy.cfg
}

# rsstatus
rhstatus() {
status haproxy
}

# condrestart
condrestart() {
[ -e /var/lock/subsys/haproxy ] && restart || :
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
reload)
restart
;;
condrestart)
condrestart
;;
status)
rhstatus
;;
check)
check
;;
*)
echo $"Usage: haproxy {start|stop|restart|reload|condrestart|status|check}"
RETVAL
esac

exit $RETVAL

三、keepalived配置文件
Master的配置文件:
! Configuration File for keepalived
global_defs {
router_id LVS_1
}
vrrp_script chk_haproxy {
script "/etc/keepalived/check_haproxy.sh"
interval 2
weight 2
}
vrrp_instance VI_1 {
state MASTER
priority 99
advert_int 1
virtual_router_id 50
garp_master_delay 1
interface eth0
authentication {
auth_type PASS
auth_pass Kxiaokk345Pix
}
track_interface {
eth0
}
virtual_ipaddress {
192.168.1.100
}
track_script {
chk_haproxy
}
notify_master "/etc/keepalived/mailnotify.py master"
notify_backup "/etc/keepalived/mailnotify.py backup"
notify_fault "/etc/keepalived/mailnotify.py fault"
}

Slave的配置文件
! Configuration File for keepalived
global_defs {
router_id LVS_2
}
vrrp_script chk_haproxy {
script "/etc/keepalived/check_haproxy.sh"
interval 5
weight 2
}
vrrp_instance VI_1 {
state BACKUP
priority 96
advert_int 1
virtual_router_id 50
garp_master_d
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 全面讲解在Linux系统中安装和配置HAProxy的过程
  • 在CentOS上安装和使用代理软件HAProxy的完全攻略
  • haproxy+keepalived负载均衡之主备切换(centos)
  • 用HAProxy来检测MySQL复制的延迟的教程

相关文章

  • 2017-05-12Linux oracle 9i图文安装教程二
  • 2017-05-12详解CentOS 加一个额外的IP地址
  • 2017-05-12CentOS 6.3下安装部署CHEF环境教程
  • 2017-05-12CentOS6 32/64位安装Adobe Flash Player组件的方法
  • 2017-05-12CentOS看进程打开的文件或文件对应的进程的详解
  • 2017-05-12centos 6.6系统字符化安装详细的图文教程
  • 2017-05-12在CentOS系统上安装网络监控软件ntopng
  • 2017-05-12在CentOS7中如何配置NIC绑定?
  • 2017-05-12运维老鸟教你安装centos6.5选择安装包的方法
  • 2017-05-12CentOS下ssh如何登录限制ip?CentOS下ssh登录限制ip的方法

文章分类

  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统

最近更新的内容

    • CentOS终端命令行显示中文乱码的解决方法
    • CentOS下如何创建且挂载光盘镜像?
    • linux下svn命令大全
    • 在CentOS系统上安装Telnet的教程
    • CentOS上SVN服务器端程序的安装与使用教程
    • 关闭Centos写磁盘功能的方法
    • CentOS怎么无法连通端口?解决CentOS无法连通端口的方法
    • CentOS安装使用VeraCrypt及创建整个加密硬盘详解
    • CentOS自动化安装实战
    • centos6.5宽带拨号上网的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有