标签:
之前做的负载均衡,有需要的可以看一下。
这里列几个刚开始接触lvs时比较模糊的概念:
LVS: Linux 虚拟服务器(Linux Virtual Server)是一组用来在真实服务器间平衡 IP 负载的整合软件组件,在linux2.4以后,LVS已经是linux内核的一部分。
IPVS:IP虚拟服务器(IP Virtual Server)是运行在LVS下的提供负载平衡功能的一种技术。
ipvsadm:ipvs的一个客户端工具。
keepalived:是VRRP协议的完美实现,keepalived 采用了多进程的设计模式,一般我们可以看到VRRP子进程,healthchecker子进程,Keepalived里面对LVS的相关操作并不直接使用ipvsadm这样的客户端程序,而是直接使用IPVS提供的函数进程操作。
实战:业务场景:提供多组服务的负载均衡。
举个栗子,应用服务器1、2、3提供相同的服务A,应用服务器4、5、6提供相同的服务B,通过两台LVS(一主一备)将客户端访问负载到这六台服务器上,其中服务A和服务B必须通过端口来区分开来。
这里给出的步骤是我每实践一步就记录下来的:
LVS服务器:
1)安装ipvsadm (用于查看ipvs的分发情况)
! Configuration File for keepalived
global_defs {
notification_email {
zengqingwei@csair.com
}
notification_email_from zengqingwei@csair.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id lnmp_node1
}
vrrp_sync_group VG_1 {
group {
mysql
}
}
vrrp_instance mysql {
state MASTER
interface eth1
virtual_router_id 51
priority 150
advert_int 1
virtual_ipaddress {
10.92.1.141 #VIP
}
authentication {
auth_type PASS
auth_pass fsaf..7&f
}
notify_master /opt/to_master.sh #LVS抢到主时调用此脚本
notify_backup /opt/to_backup.sh #LVS转成备时调用此脚本
notify_fault /opt/to_fault.sh #LVS故障时调用此脚本
notify_stop /opt/to_stop.sh #LVS停止时调用此脚本
}
virtual_server 10.92.1.141 3306 {
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
protocol TCP
real_server 10.92.1.197 3306 {
weight 3
TCP_CHECK {
connect_timeout 10
#nb_get_retry 3
#delay_before_retry 3
#connect_port 3306
}
}
real_server 10.92.1.15 3306 {
weight 3
TCP_CHECK {
connect_timeout 10
#nb_get_retry 3
#delay_before_retry 3
#connect_port 3306
}
}
}
virtual_server 10.92.1.141 9083 {
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
protocol TCP
real_server 10.92.1.15 9083 {
weight 3
TCP_CHECK {
connect_timeout 10
#nb_get_retry 3
#delay_before_retry 3
#connect_port 3306
}
}
}
标签:
原文地址:http://www.cnblogs.com/yemanling/p/4435311.html