Linux服务器下LVS+Keepalived 高可用负载均衡集群架构实现
来源:互联网 发布:高仿运动服 淘宝 编辑:程序博客网 时间:2024/06/03 15:34
1、实验结构图总览
2、实验准备
以下工作针对所有服务器,也就是说要在四台服务器中都要进行配置:
- 2.1 配置服务器静态ip:
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
打开ifcfg-eth0 文件 配置如下
DEVICE=eth0 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.2.14 NETMASK=255.255.255.0 GATEWAY=192.168.2.254
配置好了重启网卡 #service network restart
2.2 设立主机名 # vim /etc/sysconfig/network (能永久更改主机名) 重启生效 #reboot
2.3 ip地址跟主机名绑定 #vim /etc/hosts
192.168.2.14 lvs-master 192.168.2.15 lvs-slave 192.168.2.139 lvs-webserver1 192.168.2.138 lvs-webserver2
保存后退出 验证:ping lvs-master
- 2.4 关闭防火墙 # service iptables stop 执行关闭防火墙自动运行命令:chkconfig iptables off
验证:chkconfig –list | grep iptables
3、配置两台web服务器
以下操作需要在角色为Web服务器的两台中进行,不需要在负载均衡服务器中进行操作:
3.1 开启http 服务 : # service httpd start
补充:chkconfig httpd on –>将httpd设为自启动服务3.2 上传测试网页:
其中 webserver1 服务器显示 from webserver1 其中 webserver2 服务器显示 from webserver2,便于区分是webserver1 还是webserver2 提供服务3.3 新建realserver脚本文件编辑
(1) 进入指定文件夹:cd /etc/init.d/
(2) 编辑脚本文件:vim realserver
SNS_VIP=192.168.2.100 #这里设置虚拟IP为:192.168.2.100 /etc/rc.d/init.d/functions case "$1" in start) ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP /sbin/route add -host $SNS_VIP dev lo:0 echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce sysctl -p >/dev/null 2>&1 echo "RealServer Start OK" ;; stop) ifconfig lo:0 down route del $SNS_VIP >/dev/null 2>&1 echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce echo "RealServer Stoped" ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit 0
(3) 保存脚本文件后更改该文件权限:#chmod 755 realserver(4) 开启realserver服务:#service realserver start 可能出现的错误: 提示 /etc/init.d/functions 没有权限 给添加权限就好了 #chmod 755 /etc/init.d/functions
4、 配置主负载服务器
- 4.1 安装Keepalived相关包 :
- 有网络的直接使用yun 安装
#yum install -y keepalived - 没有网络需要下载安装包:
- 有网络的直接使用yun 安装
#rpm -ivh e2fsprogs-devel-1.41.12-18.el6.x86_64.rpm #rpm -ivh keyutils-libs-devel-1.4-4.el6.x86_64.rpm #rpm -ivh krb5-devel-1.10.3-10.el6_4.6.x86_64.rpm #rpm -ivh libcom_err-devel-1.41.12-18.el6.x86_64.rpm #rpm -ivh libselinux-devel-2.0.94-5.3.el6_4.1.x86_64.rpm #rpm -ivh libsepol-devel-2.0.41-4.el6.x86_64.rpm #rpm -ivh openssl-devel-1.0.1e-15.el6.x86_64.rpm #rpm -ivh zlib-devel-1.2.3-29.el6.x86_64.rpm
(需要安装以上的关联包才能安装下面的keepalived )
安装 keepalived-1.2.17.tar.gz#tar -zxvf keepalived-1.2.17.tar.gz#cd keepalived-1.2.17# ./configura --prefix=/# make && make install
- 4.2 进入keepalived.conf所在目录:
# cd /etc/keepalived
# vi keepalived.conf
下面是 keepalived.conf 配置文件
! Configuration File for keepalivedglobal_defs { notification_email { tymyeah@163.com } notification_email_from tymyeah@163.com smtp_server 192.168.2.254 smtp_connect_timeout 30 router_id LVS_DEVEL}vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.2.100 }}virtual_server 192.168.2.100 80 { delay_loop 6 lb_algo wrr lb_kind DR nat_mask 255.255.255.0 persistence_timeout 0
- 4.3 开启 keepalived 服务 # service keepalived start -
5 配置重负载服务器
跟配置主负载服务器一样,只是最后的配置文件跟主负载服务器有两处不一样
将state由MASTER改为BACKUP
将priority由100改为99
! Configuration File for keepalivedglobal_defs { notification_email { tymyeah@163.com } notification_email_from tymyeah@163.com smtp_server 192.168.2.254 smtp_connect_timeout 30 router_id LVS_DEVEL}vrrp_instance VI_1 { state BACKUP # 这里 改成 BACKUP 重负载 interface eth0 virtual_router_id 51 priority 100 #将priority由100改为99 数值越大优先级越高 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.2.100 }}virtual_server 192.168.2.100 80 { delay_loop 6 lb_algo wrr lb_kind DR nat_mask 255.255.255.0 persistence_timeout 0
6、测试验证
- 6.1 指定请求的均衡转发:因为两个Web服务器的权重都一样,所以会依次转发给两个Web服务器;
- 6.2 web 服务器发生故障时:
- 这里模拟webserver1故障 暂停其http服务:#service httpd stop
访问 VIP 192.168.2.100 时 会重 webserer2 上获取信息
- 这里模拟webserver1故障 暂停其http服务:#service httpd stop
- 6.3 webserver1故障修复后,又从 webserver1 获取服务 #service httpd start
- 6.4 主负载均衡服务器发生故障时,备机立即充当主机角色提供请求转发服务:
这里模拟lvs-master 192.168.2.14 发生故障,暂停其keepalived服务:#service keepalived stop
我们发现还是从外表访问vip 地址可以提供服务。
至此实验做完。谢谢大家!
参考资料: http://developer.51cto.com/art/201502/465745.htm http://blog.csdn.net/zilong00007/article/details/7356339
0 0
- Linux服务器下LVS+Keepalived 高可用负载均衡集群架构实现
- Linux下部署lvs+keepalived实现高可用负载均衡
- LVS+Keepalived高可用负载均衡集群架构实验(参考)
- 负载均衡(LVS+Keepalived实现高可用集群)
- keepalived实现高可用的LVS负载均衡集群
- lvs + keepalived高可用负载均衡集群双主实现
- RedHat5下实现Mysql集群+Lvs+Keepalived实现高可用HA负载均衡
- LVS + Keepalived 实现高可用负载均衡
- LVS+Keepalived实现高可用负载均衡
- LVS+Keepalived实现高可用负载均衡
- LVS+Keepalived实现高可用负载均衡
- LVS+Keepalived实现高可用负载均衡
- Lvs+keepalived实现高可用负载均衡
- LVS + Keepalived 实现高可用负载集群
- LVS(二) LVS+Keepalived实现高可用负载均衡
- Keepalived+LVS-DR模式配置高可用负载均衡集群
- Keepalived+LVS-DR模式配置高可用负载均衡集群
- 构建黄金组合LVS + Keepalived高可用负载均衡集群
- 【2·未知攻焉知防】 如何利用SQL注入,结合图片马渗透入侵服务器
- DSP/BIOS入门
- 我的Cocos2d-x学习笔记(二十三)数据持久化之CCUserDefault
- POJMatrix Power Series
- 【YouVersion】 The Bible 圣经App
- Linux服务器下LVS+Keepalived 高可用负载均衡集群架构实现
- 内容提供器(Content Provider)
- 详解软件无线电(SDR)架构
- 容斥原理
- 读AbstractQueuedSynchronizer类源码
- 【Android】多个Activity之间利用bundle传递数值
- 当在网页中显示文本过长该怎么办?
- UVA10405 LCS不同长度
- 轮廓矩-- moments()、contourArea()和 arcLength()