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
[root@storage105 ~]# tail -1 /etc/fstab
UUID=3f505f56-b559-4f95-9d99-8f99d9318e3c /webdir ext4 defaults 0 0
[root@storage105 ~]# mount -a
[root@storage105 ~]# 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 在本机查看共享信息
[root@storage105 ~]# which showmount
/usr/sbin/showmount
[root@storage105 ~]# rpm -qf /usr/sbin/showmount
nfs-utils-1.2.3-64.el6.x86_64
[root@storage105 ~]#
[root@storage105 ~]# showmount -e localhost
Export list for localhost:
/webdir
[root@storage105 ~]#
二、配置应用服务器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