03: HAProxy服务器 Keepalived热备 Keepalived+LVS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了03: HAProxy服务器 Keepalived热备 Keepalived+LVS相关的知识,希望对你有一定的参考价值。

LVS/DR
不对realserver 主机上的服务做健康性检查
是基于四层负载均衡集群软件(端口)

一、使用Haproxy软件部署网站LB集群
1.1 普通LB集群

客户端 192.168.4.250

haproxy服务器 192.168.4.100

网站服务器 192.168.4.101/102

配置 haproxy服务器:192.168.4.100
装包
yum list | grep -i haproxy
rpm -q haproxy || yum -y install haproxy

修改配置文件
cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak
vim /etc/haproxy/haproxy.cfg
[global]
....

[default]
......
stats uri /admin
listen lbweb 0.0.0.0:80
cookie SERVERID rewrite
balance roundrobin
server webA 192.168.4.101:80 cookie app101a check inter 2000 rise 2 fall 5
server webB 192.168.4.102:80 cookie app102b check inter 2000 rise 2 fall 5

:wq #后面的内容删除

启动服务#service haproxy start ; chkconfig haproxy on
查看端口 #netstat -utnalp | grep :80
客户端250 测试 #elinks --dump http://192.168.4.100/test.html
查看web页面显示健康性检查信息 http://192.168.4.100/admin
++++++++++++++++++++++++++++++++++++++++++++++
test.html a.php
]# service haproxy stop
]# mv haproxy.cfg haproxy.cfg-1
]# cp haproxy.cfg.bak haproxy.cfg

1.2 区分业务的LB集群(七层)
]# vim haproxy.cfg
stats uri /admin
frontend weblb 192.168.4.100:80
acl pathhtml path_end -i .html
acl pathphp path_end -i .php

use_backend   htmlgrp  if pathhtml
use_backend   phpgrp  if pathphp
default_backend   htmlgrp

backend htmlgrp
balance roundrobin
server app101 192.168.4.101:80 check
server app102 192.168.4.102:80 check
backend phpgrp
balance roundrobin
server app103 192.168.4.103:80 check
server app104 192.168.4.104:80 check
]# service haproxy start
++++++++++++++++++++++++++++++++++++++++
250 elinks --dump http://192.168.4.100/test.html
web101
web102
250 elinks --dump http://192.168.4.100/a.php
hello web103
hello web104

250 elinks --dump http://192.168.4.100
++++++++++++++++++++++++++++++++++++++
二、使用keepalived软件部署网站HA集群

  • 能够实现任意单故障节点的高可用集群。

配置网站高可用集群 103 和 104
1 在主机上都安装keepalived软件
#yum list | grep -i keepalived
#rpm -q keepalived || yum -y install keepalived

2 修改服务的主配置文件/etc/keepalived/keepalived.conf
2.1修改主服务器192.168.4.103
vim /etc/keepalived/keepalived.conf
...
state MASTER
priority 150
....
:wq
2.2修改备用服务器192.168.4.104
vim /etc/keepalived/keepalived.conf
....
state BACKUP
priority 100
....
:wq
++++++++++++++++++++++++++++++
3 启动服务
主服务器
/etc/init.d/keepalived start
chkconfig keepalived on

备用服务器
/etc/init.d/keepalived start
chkconfig keepalived on

4 查看是否获取到vip 地址
#ip addr show | grep 192.168.4.

4测试
250: elinks --dump http://vip/teset.php
192.168.4.253

++++++++++++++++++++++++++++++++++++++++++++++++
部署 101 和 102 为 HA 高可用集群。
客户端访问集群的vip地址是 192.168.4.252

101 <------- 102
思考: HA 集群中 主服务器没有宕机,但是应用服务(httpd)停止了,为问主服务器 是否会是否vip地址?

service httpd stop
ip addr show | grep 192

elinks --dump http://192.168.4.252/test.html

+++++++++++++++++++++++++++++++++++++++++++++++++
三、使用keepalvied 做lvs分发器的HA集群
3.1 配置KVS/DR模式的LB集群(网站)
3.1.1、配置网站服务器101 、 102
运行网站服务 并编辑网页文件
修改网络接口运行参数 、绑定vip 地址

3.1.2、在做分发器的主机100、200上安装提供lvs服务的软件ipvsadm

3.2 配置分发器的HA集群 100、200
3.2.1 在2台分发器主机上分别安装keepalived软件
3.2.2 分别修改2台分发器主机上keepalived服务配置文件
3.2.3 分别启动2台分发器主机上的keepalived服务
3.2.4 查看是否获取到VIP地址 和 虚拟服务及realserver

3.3 测试HA集群的配置
把主服务器宕机后,客户端仍然能够正常访问网站服务。
elinks --dump http://192.168.4.253/test.html
vip 地址

http://192.168.4.253/b.html

http://192.168.4.252/c.html

+++++++++++++++++++++++++++++++++++++++++++
搭建共享存储服务器 192.168.4.105
配置需求:
配置LB集群中的网站服务把网页文件存储在 存储服务器105主机的/dev/vdd磁盘上。

共享目录的服务有哪些? NFS Samba tftp ftp
nfs cifs tftp ftp

mount /dev/vdd1 /sharedir
3G

一、配置存储服务器192.168.4.105
1.1 准备存储空间: 分区 、 格式化 、 挂载
165 fdisk -l /dev/vdd
165 fdisk /dev/vdd -> n -> p ->1 ->2次回车->w
165 fdisk -l /dev/vdd
169 blkid /dev/vdd1
170 mkfs.ext4 /dev/vdd1
171 blkid /dev/vdd1
172 mkdir /webdir
173 mount /dev/vdd1 /webdir
174 df -h /webdir/

umount /webdir

设置开机挂载 /etc/fstab
[[email protected] ~]# tail -1 /etc/fstab
UUID=3f505f56-b559-4f95-9d99-8f99d9318e3c /webdir ext4 defaults 0 0
[[email protected] ~]# mount -a
[[email protected] ~]# mount | grep /webdir

1.2 共享存储存储空间: 装包 、修改配置文件、启动服务
184 rpm -q nfs-utils
185 rpm -q nfs-utils || yum -y install nfs-utils
186 rpm -q nfs-utils
]# rpm -q rpcbind || yum -y install rpcbind
]# vim /etc/exports
/webdir *(rw)
:wq
]# chmod o+w /webdir/

193 /etc/init.d/rpcbind status
194 /etc/init.d/rpcbind start
195 /etc/init.d/nfs status
196 /etc/init.d/nfs start
#chkconfig rpcbind on
#chkconfig nfs on

1.3 在本机查看共享信息
[[email protected] ~]# which showmount
/usr/sbin/showmount
[[email protected] ~]# rpm -qf /usr/sbin/showmount
nfs-utils-1.2.3-64.el6.x86_64
[[email protected] ~]#
[[email protected] ~]# showmount -e localhost
Export list for localhost:
/webdir
[[email protected] ~]#
二、配置应用服务器192.168.4.101/102
2.1 挂载nfs共享目录
]# yum -y install nfs-utils
]# showmount -e 192.168.4.105
]# rm -rf /var/www/html/

]# mount -t nfs 192.168.4.105:/webdir /var/www/html/
2.2 在105主机上编写网页文件
vim /webdir/test.html
aaaa
cccc
:wq
2.3 客户端 250 访问 lb集群能够看到网页内容
elinks --dump http://192.168.4.253/test.html

202.96.128.96

以上是关于03: HAProxy服务器 Keepalived热备 Keepalived+LVS的主要内容,如果未能解决你的问题,请参考以下文章

实现 KeepAlive + Haproxy + Nginx 七层负载均衡 + 动静分离

基于haproxy+keepalive+varnish实现lnmp企业级架构

haproxy+keepalive负载均衡环境部署(主主模式)

keepalive高可用haproxy实现URL资源的动静分离

RabbitMQ---集群,Haproxy+Keepalive 实现高可用负载均衡,Federation Exchange和Federation Queue

K8s二进制安装(k8s1.17.4集群+keepalive-haproxy高可用)