005.HAProxy+Keepalived高可用负载均衡
2019-01-15 02:33:55来源:博客园 阅读 ()
一 基础准备
1.1 部署环境及说明
1.2 架构规划
二 后端httpd集群部署
2.1 部署httpd集群
1 [root@webapp1 ~]# yum -y install httpd 2 [root@webapp1 ~]# vi /var/www/html/index.html 3 This is my www.lz.com! 4 [root@webapp1 ~]# vi /var/www/html/index.html 5 This is my static.lz.com! 6 [root@webapp1 ~]# vi /var/www/html/index.html 7 This is my video.lz.com! 8 [root@webapp1 ~]# systemctl start httpd.service 9 [root@webapp1 ~]# systemctl enable httpd.service 10 [root@webapp1 ~]# systemctl stop firewalld.service 11 [root@webapp1 ~]# systemctl disable firewalld.service 12 [root@webapp1 ~]# vi /etc/selinux/config 13 SELINUX=disabled 14 [root@webapp1 ~]# setenforce 0 #关闭SELinux及防火墙
三 基础NTP部署
3.1 NTP部署
1 [root@webapp1 ~]# yum -y install ntp 2 [root@webapp1 ~]# systemctl start ntpd.service
四 Keepalived部署
4.1 编译环境
1 # yum -y install gcc gcc-c++ make kernel-devel kernel-tools kernel-tools-libs kernel libnl libnl-devel libnfnetlink-devel openssl-devel wget openssh-clients
4.2 安装Keepalived
1 [root@haproxy_master ~]# wget http://www.keepalived.org/software/keepalived-1.3.6.tar.gz 2 [root@haproxy_master ~]# tar -zxvf keepalived-1.3.6.tar.gz 3 [root@haproxy_master ~]# cd keepalived-1.3.6/ 4 [root@lvsmaster keepalived-1.3.6]# ./configure --prefix=/usr/local/keepalived 5 [root@haproxy_master keepalived-1.3.6]# make && make install
4.3 添加Keepalived启动相关服务
1 [root@haproxy_master ~]# mkdir /etc/keepalived 2 [root@haproxy_master ~]# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/ 3 [root@haproxy_master ~]# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ 4 [root@haproxy_master ~]# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/ 5 [root@haproxy_master ~]# vi /etc/init.d/keepalived #创建Keepalived启动脚本,见附件 6 [root@haproxy_master ~]# chmod u+x /etc/rc.d/init.d/keepalived
4.4 配置Keepalived
1 [root@haproxy_master ~]# vi /etc/keepalived/keepalived.conf 2 global_defs { 3 notification_email { 4 #…… 5 } 6 notification_email_from Alexandre.Cassen@firewall.loc 7 smtp_server 192.168.200.1 8 smtp_connect_timeout 30 9 router_id LVS_DEVEL 10 } 11 12 vrrp_script check_haproxy { 13 script "/usr/bin/killall -0 haproxy" 14 interval 2 15 weight 21 16 } 17 18 vrrp_instance HAProxy_HA { 19 state BACKUP #在HAProxy主备均设置为BACKUP 20 interface eth0 21 virtual_router_id 80 22 priority 100 23 advert_int 2 24 nopreempt #不抢占模式 25 authentication { 26 auth_type PASS 27 auth_pass 1111 28 } 29 30 notify_master "/etc/keepalived/master.sh" 31 notify_backup "/etc/keepalived/backup.sh" 32 notify_fault "/etc/keepalived/fault.sh" 33 34 track_script { 35 check_haproxy 36 } 37 38 virtual_ipaddress { 39 172.24.8.100 dev eth0 40 } 41 }
4.5 编写Keepalived脚本
1 [root@haproxy_master ~]# vi /etc/keepalived/master.sh 2 #!/bin/bash 3 LOGFILE=/var/log/keepalived-mysql-state/log 4 date >>$LOGFILE 5 echo "[Master]" >>$LOGFILE 6 [root@haproxy_master ~]# vi /etc/keepalived/backup.sh 7 #!/bin/bash 8 LOGFILE=/var/log/keepalived-mysql-state/log 9 date >>$LOGFILE 10 echo "[BACKUP]" >>$LOGFILE 11 [root@haproxy_master ~]# vi /etc/keepalived/fault.sh 12 #!/bin/bash 13 LOGFILE=/var/log/keepalived-mysql-state/log 14 date >>$LOGFILE 15 echo "[FAULT]" >>$LOGFILE 16 [root@haproxy_master ~]# chmod u+x /etc/keepalived/backup.sh 17 [root@haproxy_master ~]# chmod u+x /etc/keepalived/master.sh 18 [root@haproxy_master ~]# chmod u+x /etc/keepalived/fault.sh
4.5 Bakcup节点配置
1 [root@haproxy_master ~]# scp /etc/keepalived/keepalived.conf 172.24.8.11:/etc/keepalived/keepalived.conf #将配置好的Master节点的配置文件复制到Backup节点 2 [root@haproxy_slave ~]# vi /etc/keepalived/keepalived.conf 3 state BACKUP 4 priority 80
1 [root@haproxy_master ~]# scp /etc/keepalived/*.sh 172.24.8.11:/etc/keepalived/ 2 #将对应的脚本也复制至backup节点。
五 HAProxy部署
5.1 HAProxy安装
1 [root@haproxy_master ~]# yum -y install haproxy
5.2 HAProxy配置
1 [root@haproxy_master ~]# vi /etc/haproxy/haproxy.cfg 2 global 3 log 127.0.0.1 local0 info 4 chroot /var/lib/haproxy 5 pidfile /var/run/haproxy.pid 6 maxconn 4096 7 user haproxy 8 group haproxy 9 daemon 10 nbproc 1 11 defaults 12 mode http 13 log global 14 retries 3 15 timeout connect 5s 16 timeout client 30s 17 timeout server 30s 18 timeout check 2s 19 frontend www 20 bind 172.24.8.100:80 21 mode http 22 option httplog 23 option forwardfor 24 log global 25 26 acl host_www hdr_dom(host) -i www.lz.com #配置不同域名分发不同后端策略 27 acl host_static hdr_dom(host) -i static.lz.com 28 acl host_video hdr_dom(host) -i video.lz.com 29 30 use_backend server_www if host_www #配置不同域名分发不同后端策略 31 use_backend server_static if host_static 32 use_backend server_video if host_video 33 backend server_www #后端真是服务器 34 mode http 35 option redispatch 36 option abortonclose 37 balance roundrobin 38 option httpchk GET /index.html 39 server webapp1 172.24.8.30:80 weight 6 check inter 2000 rise 2 fall 3 40 backend server_static #后端真是服务器 41 mode http 42 option redispatch 43 option abortonclose 44 balance roundrobin 45 option httpchk GET /index.html 46 server webapp2 172.24.8.31:80 weight 6 check inter 2000 rise 2 fall 3 47 backend server_video #后端真是服务器 48 mode http 49 option redispatch 50 option abortonclose 51 balance roundrobin 52 option httpchk GET /index.html 53 server webapp3 172.24.8.32:80 weight 6 check inter 2000 rise 2 fall 3 54 [root@haproxy_master ~]# scp /etc/haproxy/haproxy.cfg root@172.24.8.11:/etc/haproxy/haproxy.cfg #将配置文件复制至HAProxy备节点
5.3 打开转发
1 [root@haproxy_master ~]# vi /etc/sysctl.conf 2 net.ipv4.ip_nonlocal_bind = 1 3 [root@haproxy_master ~]# sysctl -p
六 启动服务
1 [root@webapp1 ~]# systemctl start httpd
1 [root@haproxy_master ~]# service haproxy start
1 [root@haproxy_master ~]# service keepalived start
七 验证测试
7.1 高可用验证
1 [root@haproxy_master ~]# ip add
1 [root@haproxy_master ~]# service haproxy stop #停止HAProxy主节点的HAProxy进程 2 [root@haproxy_master ~]# tail -f /var/log/messages #观察HAProxy主节点日志
1 [root@haproxy_slave ~]# ip addr #查看备HAProxy节点的IP
1 [root@haproxy_master ~]# service haproxy start
7.2 负载均衡测试
1 172.24.8.100 www.lz.com 2 172.24.8.100 static.lz.com 3 172.24.8.100 video.lz.com
原文链接:https://www.cnblogs.com/itzgr/p/10163677.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- keepalived 实现LVS负载均衡高可用集群(一) 2020-06-04
- corosync v1 + pacemaker高可用集群部署(二)资源配置(VIP+ 2020-05-28
- 附018.K3S-ETCD高可用部署 2020-05-14
- Linux三阶段之十一:keepalived高可用集群 2020-05-03
- 企业级自动化部署方案——ansible实现lvs+keepalived高可用 2020-03-31
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash