如果你没有配置LVS+keepalived那么无需配置这段区域,里如果你用的是nginx来代替LVS,这无限配置这款,这里的LVS配置是专门为keepalived+LVS集成准备的。
注意了,这里LVS配置并不是指真的安装LVS然后用ipvsadm来配置他,而是用keepalived的配置文件来代替ipvsadm来配置LVS,这样会方便很多,一个配置文件搞定这些,维护方便,配置方便是也!

这里LVS配置也有两个配置
一个是虚拟主机组配置
一个是虚拟主机配置

1
,虚拟主机组配置文件详解
这个配置是可选的,根据需求来配置吧,这里配置主要是为了让一台realserver上的某个服务可以属于多个Virtual Server,并且只做一次健康检查

virtual_server_group <STRING> {
# VIP port
<IPADDR> <PORT>
<IPADDR> <PORT>
fwmark <INT>
}

2
,虚拟主机配置

virtual server
可以以下面三种的任意一种来配置

1.1. virtualserver IP port

2.2. virtualserver fwmark int

3.3. virtualserver group string

复制代码

下面以第一种比较常用的方式来配详细解说一下

virtual_server 192.168.1.2 80 { #
设置一个virtual server: VIP:Vport
delay_loop 3 # service polling
delay时间,即服务轮询的时间间隔

lb_algo rr|wrr|lc|wlc|lblc|sh|dh #LVS
调度算法
lb_kind NAT|DR|TUN #LVS
集群模式
persistence_timeout 120 #
会话保持时间(秒为单位),即以用户在120秒内被分配到同一个后端realserver
persistence_granularity <NETMASK> #LVS
会话保持粒度,ipvsadm中的-M参数,默认是0xffffffff,即每个客户端都做会话保持
protocol TCP #
健康检查用的是TCP还是UDP
ha_suspend #suspendhealthchecker’s activity
virtualhost <string> #HTTP_GET
做健康检查时,检查的web服务器的虚拟主机(即host:头)

sorry_server <IPADDR> <PORT> #
备用机,就是当所有后端realserver节点都不可用时,就用这里设置的,也就是临时把所有的请求都发送到这里啦

real_server <IPADDR> <PORT> #
后端真实节点主机的权重等设置,主要,后端有几台这里就要设置几个
{
weight 1 #
给每台的权重,0表示失效(不知给他转发请求知道他恢复正常),默认是1
inhibit_on_failure #
表示在节点失败后,把他权重设置成0,而不是冲IPVS中删除

notify_up <STRING> | <QUOTED-STRING> #
检查服务器正常(UP)后,要执行的脚本
notify_down <STRING> | <QUOTED-STRING> #
检查服务器失败(down)后,要执行的脚本

HTTP_GET #
健康检查方式
{
url { #
要坚持的URL,可以有多个
path / #
具体路径
digest <STRING>
status_code 200 #
返回状态码
}
connect_port 80 #
监控检查的端口

bindto <IPADD> #
健康检查的IP地址
connect_timeout 3 #
连接超时时间
nb_get_retry 3 #
重连次数
delay_before_retry 2 #
重连间隔
} # END OF HTTP_GET|SSL_GET


#
下面是常用的健康检查方式,健康检查方式一共有HTTP_GET|SSL_GET|TCP_CHECK|SMTP_CHECK|MISC_CHECK这些
#TCP
方式
TCP_CHECK {
connect_port 80
bindto 192.168.1.1
connect_timeout 4
} # TCP_CHECK

# SMTP
方式,这个可以用来给邮件服务器做集群
SMTP_CHECK
host {
connect_ip <IP ADDRESS>
connect_port <PORT> #
默认检查25端口
14 KEEPALIVED
bindto <IP ADDRESS>
}
connect_timeout <INTEGER>
retry <INTEGER>
delay_before_retry <INTEGER>
# "smtp HELO"|·-

查看状态

ipvsadm -l -n