标签:高可用 lvs keepalived
一系统环境
centos6.5
lvs+keepalived(master)
lvs+keepalived(slave)
nginx(real-server)
nginx(real-server)
二、lvs介绍
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。虚拟服务器最主要的功能是提供包转发和负载均衡,这个功能可以通过ipvsadm 具体实现。ip负载均衡技术包括:VS/NAT、VS/DR、VS/TUN。本文介绍DR方式。
三、keepalive介绍
keepalived是一款实现高可用的开源软件,所谓高可用即保持在线,可以防止服务的单点故障。它是基于vrrp(虚拟路由冗余协议)来实现高可用功能的。
VRRP协议是为消除在静态缺省路由环境下的缺省路由器单点故障引起的网络失效而设计的主备模式的协议,使得在发生故障而进行设备功能切换时可以不影响内外数据通信,不需要再修改内部网络的网络参数。VRRP协议需要具有IP地址备份,优先路由。选择,减少不必要的路由器间通信等功能。
VRRP协议将两台或多台路由器设备虚拟成一个设备,对外提供虚拟路由器IP(一个或多个),而在路由器组内部,如果实际拥有这个对外IP的路由器如果工作正常的话就是MASTER,或者是通过算法选举产生,MASTER实现针对虚拟路由器IP的各种网络功能,如ARP请求,ICMP,以及数据的转发等;其他设备不拥有该IP,状态是BACKUP,除了接收MASTER的VRRP状态通告信息外,不执行对外的网络功能。当主机失效时,BACKUP将接管原先MASTER的网络功能。
四、安装
1安装lvs
从Linux内核版本2.6起,ip_vs code已经被整合进了内核中,因此,只要在编译内核的时候选择了ipvs的功能,您的Linux即能支持LVS。Linux 2.4.23以后的内核版本也整合了ip_vs code,但如果是更旧的内核版本,您得自己手动将ip_vs code整合进内核原码中,并重新编译内核方可使用lvs。
#yum install -y ipvsadm
2安装keepalived
#tar zxf keepalived-1.1.17.tar.gz
#cd keepalived-1.1.17
#./configure
#make&make install
#cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
#cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
#mkdir -p /etc/keepalived
#cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
#cp /usr/local/sbin/keepalived /usr/sbin/
#/etc/init.d/keepalived start
keepalived启动有三个进程
五、配置文件
! Configuration File for keepalived global_defs { notification_email { root@localhost } notification_email_from Alexandre.Cassen@firewall.loc smtp_server localhost smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_sync_group VG1 { group { VI_1 VI_2 VI_3 VI_4 } } vrrp_instance VI_1 { state MASTER #状态,slave为BACKUP interface eth0 virtual_router_id 71 priority 102 # 102 on master, 100 on backup advert_int 3 smtp_alert authentication { auth_type PASS auth_pass PASSWORD } virtual_ipaddress { 192.168.1.30 } } ## nginx VIP virtual_server 192.168.1.30 80 { delay_loop 6 #健康检查时间间隔 lb_algo wlc #负载均衡算法,加权最少连接 lb_kind DR #负载均衡技术DR persistence_timeout 7 #session保持时间7s protocol TCP #转发协议 real_server 192.168.1.40 80 { weight 1 #权重 TCP_CHECK { connect_timeout 7 #连接超时时间 } } real_server 192.168.1.41 80 { weight 4 TCP_CHECK { connect_timeout 7 } } }
六、realserver VIP设置
#vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
#vim /etc/sysconfig/network-scripts/ifcfg-lo:1
DEVICE=lo:1
NAME=loopback1
IPADDR=192.168.1.30 #VIP
NETMASK=255.255.255.255
ONBOOT=yes
~ #service network restart
#ifconfig 验证查看
本文出自 “不莱梅乐队” 博客,谢绝转载!
lvs+keepalived 实现高可用,布布扣,bubuko.com
标签:高可用 lvs keepalived
原文地址:http://danhanwen.blog.51cto.com/8525423/1538417