1、HAProxy16+keepalived部署方法HAProxy1.6+keepalived部署方法修改记录编号日期描述 版本作者审核发布日期12016/6/28初稿1.0夏裕太1目 录1 环境 12 准备 13 安装(此步骤需同时在247,248机器执行) 14 开启路由转发(此步骤需同时在247,248机器执行) 35 设置虚拟IP(此步骤需同时在244,245机器执行) 36 配置keepalived 46.1 master 46.2 slave配置 57 haproxy的安装 78 创建配置文件和启动文件 79 配置HAProxy 710 启动HAProxy 911 配置关联HAProx
2、y启动脚本 91 环境Centos:5.7 HAProxy-Master: 10.1.1.247HAProxy-Backup: 10.1.2.248VIP: 10.1.1.240RealServer1: 10.1.1.242RealServer1: 10.1.1.1.2432 准备haproxy-1.6.6.tar.gzkeepalived-1.2.21.tar.gz3 安装(此步骤需同时在247,248机器执行)rootlocalhost opt# yum -y install popt popt-devel libnl libnl-devel popt-static libnfnetlin
3、k libnfnetlink-devel openssl openssl-devel rootlocalhost opt# cd /data/softwarerootlocalhost software# tar -zxvf keepalived-1.2.21.tar.gzrootlocalhost software# cd keepalived-1.2.21#安装地址不要乱改rootMGM1 keepalived-1.2.21# ./configure -sysconf=/etc -prefix=/usr/local/keepalivedrootMGM1 keepalived-1.2.21#
4、 make & make install4 开启路由转发(此步骤需同时在247,248机器执行)rootlocalhost keepalived-1.2.21# cat /proc/sys/net/ipv4/ip_forward1rootlocalhost keepalived-1.2.21# echo 1 /proc/sys/net/ipv4/ip_forwardrootCentOS-LVS_MASTER# vim /etc/sysctl.confnet.ipv4.ip_forward = 15 设置虚拟IP(此步骤需同时在244,245机器执行)首先查看一下现有网卡的IP地址,用root特
5、权运行下面的命令rootlocalhost # ip addr从上面的详细信息中,可以看到服务器的网卡名是eno16777736,ip地址是10.1.1.245。网卡的配置文件存储在 /etc/sysconfig/network-scripts/ 目录下。每个网卡的详细内容将会以不同的名字存储,比如ifcfg-eno16777736。打开此配置文件,并且再添加一个IP地址编辑文件 vi /etc/sysconfig/network-scripts/ifcfg-eno16777736像下面那样加入额外的IP地址。IPADDR2=10.1.1.240NETMASK2=255.255.255.0重启
6、网络服务来使更改生效。rootlocalhost #systemctl restart network6 配置keepalivedrootlocalhost # vim /etc/keepalived/keepalived.conf #LVS的端口须与realserver端口一致分别配置master和slave6.1 masterglobal_defs notification_email admincentos.bz notification_email_from keepalived smtp_server 127.0.0.1 smtp_connect_timeout 30 router_
7、id LVS_DEVELvrrp_script chk_http_port script /data/program/keepalived/keepalived/check_haproxy.sh interval 2 weight 2vrrp_instance VI_1 state MASTER # 辅机为 BACKUP interface eno16777736 virtual_router_id 51 mcast_src_ip 10.1.1.1.247 priority 150 # 权值要比 back 高 advert_int 1 authentication auth_type PASS
8、 auth_pass 1111 track_script chk_http_port # 执行监控的服务 virtual_ipaddress 10.1.1.240 vrrp_instance VI_2 state BACKUP interface eno16777736 virtual_router_id 52 priority 99 advert_int 1 authentication auth_type PASS auth_pass 1111 virtual_ipaddress 10.1.1.240 6.2 slave配置global_defs notification_email ad
9、mincentos.bz notification_email_from keepalived smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVELvrrp_script chk_http_port script /data/program/keepalived/keepalived/check_haproxy.sh interval 2 weight 2vrrp_instance VI_1 state BACKUP # 主机为 MASTER interface eno16777736 virtual_router_
10、id 51 mcast_src_ip 10.1.1.248 priority 99 # 权值要比 master 低 advert_int 1 authentication auth_type PASS auth_pass 1111 track_script chk_http_port # 执行监控的服务 virtual_ipaddress 10.1.1.240 vrrp_instance VI_2 state MASTER interface eno16777736 virtual_router_id 52 priority 100 advert_int 1 authentication au
11、th_type PASS auth_pass 1111 virtual_ipaddress 10.1.1.240 7 haproxy的安装rootMGM1 keepalived-1.2.21# cd /data/softwarerootMGM1 software# tar -zxvf haproxy-1.6.6.tar.gzrootNDB1 software# cd haproxy-1.6.6#查看版本看,此处为3.10rootMGM1 haproxy-1.6.6# uname -a Linux MGM1 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:1
12、0:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux#编译,标红处于上面的3.1版本需匹配rootMGM1 haproxy-1.6.6# make TARGET=linux31 PREFIX=/data/program/haproxy#安装rootMGM1 haproxy-1.6.6# make install PREFIX=/data/program/haproxyinstall -d /data/program/haproxy/sbininstall haproxy /data/program/haproxy/sbininstall -d /data/p
13、rogram/haproxy/share/man/man1install -m 644 doc/haproxy.1 /data/program/haproxy/share/man/man1install -d /data/program/haproxy/doc/haproxyfor x in configuration management architecture cookie-options lua proxy-protocol linux-syn-cookies network-namespaces close-options intro; do install -m 644 doc/$
14、x.txt /data/program/haproxy/doc/haproxy ; 8 创建配置文件和启动文件rootMGM1 sbin# cd /data/software/haproxy-1.6.6/rootMGM1 haproxy-1.6.6# cp examples/haproxy.init /etc/init.d/haproxyrootMGM1 haproxy-1.6.6# chmod +x /etc/init.d/haproxyrootMGM1 haproxy-1.6.6# ln -s /usr/local/sbin/haproxy /usr/sbin/9 配置HAProxyroo
15、tMGM1 haproxy-1.6.6# cd /data/program/haproxyrootMGM1 haproxy# mkdir conf logsrootMGM1 conf# cd confrootMGM1 conf# vi haproxy.cfg#将以下内容拷贝到该文件中去global log 127.0.0.1 local0 log 127.0.0.1 local1 notice #log loghost local0 info maxconn 4096 chroot /data/program/haproxy/ uid 0 gid 0 daemon #debug #quietd
16、efaults log global mode http option httplog option dontlognull option redispatch option abortonclose retries 3 maxconn 2000 contimeout 5000 clitimeout 50000 srvtimeout 50000 timeout check 5s stats refresh 30s stats uri /stats stats realm baison-test-Haproxy stats auth admin:admin123 stats hide-versi
17、onfrontend www bind *:80 acl web hdr(host) -i 10.1.1.240 use_backend webserver if webbackend webserver mode http balance roundrobin option httpchk /index.html server web01 10.1.1.242:8081 check inter 2000 fall 3 weight 30 server web01 10.1.1.243:8081 check inter 2000 fall 3 weight 2010 配置关联HAProxy启动
18、脚本rootMGM1 keepalived-1.2.21# vi /data/program/keepalived/keepalived/check_haproxy.sh#将以下内容拷贝到文件 中#!/bin/bashif $(ps -C haproxy -no-header | wc -l) -eq 0 ; then /data/program/haproxy/sbin/haproxy -f /data/program/haproxy/conf/haproxy.cfgfisleep 2if $(ps -C haproxy -no-header | wc -l) -eq 0 ; then /e
19、tc/init.d/keepalived stopfi11 启动HAProxy#启动rootMGM1 haproxy-1.6.6# /data/program/haproxy/sbin/haproxy -f /data/program/haproxy/conf/haproxy.cfg#重启rootMGM1 haproxy-1.6.6#/data/program/haproxy/sbin/haproxy -f /data/program/haproxy/conf/haproxy.cfg -st#访问http:/10.1.1.247/stats,用户名和密码为上述配置文件所设,为admin/adm
20、in12312 将keepalived做成启动服务,方便管理(此步骤需同时在247,248机器执行)rootlocalhost # cp /usr/local/keepalived/sbin/keepalived /usr/sbin/rootlocalhost keepalived-1.2.21# /etc/init.d/keepalived start /启动LVS服务rootlocalhost keepalived-1.2.21# /etc/init.d/keepalived stop /停止LVS服务13 启动两台realserverhttp:/10.1.1.242:8081/http:/10.1.1.243:8081/通过VIP访问,http:10.1.1.240通过不断刷新,可以明显看到在242/243之间切换同时我们也可以看到HAProxy 关于这两台realserver的状态,目前都是正常启动的
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1