利用keepalived 实现HA&LB

简介:

利用keepalived 实现HA&LB
实验环境RHEL5U3

需要软件包 keepalived ipvsadm

VIP :192.168.0.16

realserver 1 :192.168.0.3

realserver 2 :192.168.0.4

装包
下载地址 wget http://www.keepalived.org/software/keepalived-1.1.17.tar.gz
./configure --prefix=/ --mandir=/usr/local/share/man 
--with-kernel-dir=/usr/src/kernels/2.6.18-128.el5-i686/
以上这步是 设定安装路径以及帮助文件的路径 可以自行定义 后面那段with-kernel-dir 这个参数很重要,这个参数并不表示我们要把keepalived编进内核,
而是指使用内核源码里面的头文件,也就是include目录 (如果需要用到LVS才需要这么做,
否则是不需要的,而且如果要使用netlink,还需要link_watch.cz这个文件)

上面这段我一直没弄清楚,希望高人指点下,因为我没有选这项的时候依然可以使用LVS
make
make install

然后修改 keepalived 的配置文件vim /etc/keepalived/keepalived.conf 
 
global_defs {  
 notification_email {
 storysky@sina.com.cn
                     }
 notification_email_from storysky@sina.com.cn

#指定 keepalived 在发生事件(如切换)时,需要发送email到你定义的邮箱,可以填多个,每行一个

   smtp_server 192.168.10.1    #这两项是邮件服务器的配置 
   smtp_connect_timeout 30
   router_id LVS_DEVEL        # 运行keepalived的机器的一个标识
}
#下面是VRRPD 配置
vrrp_sync_group VG1 {
 group {
  VI_1                                         #VRRP实例名
             }
                                         }

#VRRP 实例配置
vrrp_instance VI_1 {  
    state BACKUP        # 无论主与备都设置为BACKUP是为了不抢占director, #通过priority来确认谁先起作用,主的优先级至少高于从50
    interface eth0      # (inside_network)实例绑定的网卡
    macast_src_ip       #发送多播包的地址,如果不设置,默认使用绑定网 卡的#primary IP
#建议使用专门网卡并使用这项,问题:如果这块儿网卡出了问题如何处理?
 
    virtual_router_id 51       #VRID 标记 (0-255)主备服务器必须一致
    priority 101               #优先级
    advert_int 1               #检查间隔,默认为1秒
    nopreempt                  # 不抢占 这个配置只能设置在 state为 BACKUP的主机 上,而且这台主机的priority必须比另一台要高
    authentication {                  #这是认证的相关设置
        auth_type PASS             #认证方式 PASS | AH
        auth_pass 33210             #认证密码 
    }
    virtual_ipaddress {
        192.168.0.16                      # VIP 地址
    }
}

virtual_server 192.168.0.16 80 {
    delay_loop 6                        # 每六秒查询realserver状态
    lb_algo rr                              #lvs采用轮询算法 rr|wrr|lc|wlc|lblc|sh|dh
    lb_kind DR                           #lvs使用Direct Route NAT|DR|TUN
    protocol TCP                        #使用TCP 协议来检查
    persistence_timeout 600     # 会话保持时间,就是同一个ip在600秒内会被分到同一个realserver上
  
    real_server 192.168.0.3 80 {
        weight 1                            #权重
 inhibit_on_failure # 在检查失败的时候 将权重设为0 并继续监控 而不是直接把他踢掉,注意这个别加在TCP_CHECK下面
        TCP_CHECK {                #以什么方式来检查 健康状况 HTTP_GET|SSL_GET|TCP_CHECK|SMTP_CHECK|MISC_CHECK
            
            connect_timeout 3      #连接超时时间
            nb_get_retry 3             #重试连接次数
            delay_before_retry 3  #每次重试连接间隔 (单位秒)
       #    bindto 192.168.0.16   #以此地址来 向服务器发送请求来检查其健康状态
            connect_port 80   #tcp去检查80端口状态来判断realserver是否健康, 这个和上面那个bindto 不要一起用
            #注意:HTTP_GET|SSL_GET|SMTP_CHECK|MISC_CHECK 这几种检查方式请参考 《keepalived权威指南》第十四页   
                                 }
                                                    }
    real_server 192.168.0.4 80 {
        weight 1
        inhibit_on_failure
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
                                 }
                                                   }

    # 如果有更多的realserver 请按照需要自行添加
}


realservice 配置脚本
ifconfig lo:1 192.168.0.16 netmask 255.255.255.255
echo 2 > /proc/sys/net/ipv4/conf/eth1/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/eth1/arp_ignore

安装Apache 服务并检查其是否可以正常工作

这个是我自己机器上的网卡,根据自己实际情况而定

启动 /etc/init.d/keepalived start
测试:

通过停止 服务 和拔网线 测试 ipvsadm都成功的切换到了备服务器

实验结果 成功

 

参考文档 《keepalived权威指南》

本文出自 “story的天空” 博客,请务必保留此出处http://storysky.blog.51cto.com/628458/189845

   



本文转自 wdy198622 51CTO博客,原文链接:http://blog.51cto.com/weimouren/1716382

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
负载均衡 应用服务中间件 Linux
Nginx系列教程(14) - LVS+KeepAlived+Nginx实现高性能负载均衡集群
Nginx系列教程(14) - LVS+KeepAlived+Nginx实现高性能负载均衡集群
3761 0
|
负载均衡 算法 应用服务中间件
百度搜索:蓝易云【Linux系统如何使用 HAProxy、Nginx 和 Keepalived 进行负载均衡?】
通过上述步骤,你可以在Linux系统中使用HAProxy、Nginx和Keepalived来实现负载均衡。这些工具可以帮助你将流量分配到多个后端服务器上,提高系统的性能、可靠性和可扩展性。
234 0
|
7月前
|
负载均衡 前端开发 JavaScript
LVS-DR模式、keepalived、Nginx与Tomcat合作,打造动静分离,高效负载均衡与高可用性
为了采用这样的架构,你需要对LVS-DR、Keepalived、Nginx与Tomcat有一定的理解和掌握,同时也需要投入一些时间去研究和配置,但是一旦你把它运行起来,你将会发现,这一切都是值得的。
322 11
|
负载均衡 算法 Linux
LVS+Keepalived:实现高效软负载均衡的利器
本文介绍了如何使用LVS(Linux Virtual Server)和Keepalived搭建高可用负载均衡集群。LVS通过不同调度算法将请求转发给后端服务器,而Keepalived基于VRRP协议实现服务高可用,避免IP单点故障。具体步骤包括环境准备、安装配置ipvsadm和Keepalived、启动服务及测试。文中还详细解释了配置文件中的关键参数,并提供了故障转移测试方法。最后,文章简要对比了软件、硬件和云负载均衡方案的特点,帮助读者选择合适的负载均衡策略。
1714 4
|
运维 负载均衡 网络协议
LVS+Keepalived 负载均衡
LVS+Keepalived 负载均衡
377 8
LVS+Keepalived 负载均衡
|
域名解析 运维 负载均衡
LVS+Keepalived 负载均衡(二)28-1
【8月更文挑战第28天】LVS+Keepalived 负载均衡 配置 LVS VIP
263 5
|
存储 负载均衡 应用服务中间件
【web项目】keepalived高可用+LVS负载均衡+nginx动静分离+nfs共享存储
【web项目】keepalived高可用+LVS负载均衡+nginx动静分离+nfs共享存储
434 0
【web项目】keepalived高可用+LVS负载均衡+nginx动静分离+nfs共享存储
|
负载均衡 网络协议 应用服务中间件
【亮剑】在Linux中构建高可用性和高性能网络服务的负载均衡工具HAProxy、Nginx和Keepalived。
【4月更文挑战第30天】本文介绍了在Linux中构建高可用性和高性能网络服务的负载均衡工具HAProxy、Nginx和Keepalived。HAProxy是一个高性能的开源TCP和HTTP负载均衡器,适合处理大量并发连接;Nginx是一个多功能Web服务器和反向代理,支持HTTP、HTTPS和TCP负载均衡,同时提供缓存和SSL功能;Keepalived用于监控和故障切换,通过VRRP实现IP热备份,保证服务连续性。文中详细阐述了如何配置这三个工具实现负载均衡,包括安装、配置文件修改和启动服务,为构建可靠的负载均衡系统提供了指导。
359 0
|
负载均衡 算法 网络协议
Keepalived+LVS搭建高可用负载均衡
Keepalived+LVS搭建高可用负载均衡
758 1
|
负载均衡 前端开发 网络协议
Keepalived+HAProxy 搭建高可用负载均衡(二)
Keepalived+HAProxy 搭建高可用负载均衡
886 0

热门文章

最新文章

相关实验场景

更多