负载均衡
KEEPALIVED安装与使用
keepalived配置说明
keepalived检测方式
keepalived LVS配置
LVS
LVS-NAT集群的搭建
LVS-DR集群的搭建
KEEPALIVED+LVS
HAproxy
HAProxy配置说明
HAproxy算法
HAProxy管理页
HAProxy保持
HAProxyACL规则
NGINX
NGINX负载均衡
NGINX负载示例二
负载转发路径问题
缓冲缓存参数详解
限制代理ip方法
负载参数详解
nginx_upstream_check_module
正向代理(HTTP)
本文档使用MrDoc发布
返回首页
-
+
keepalived LVS配置
2021年8月25日 15:11
admin
##注意:使用LVS配置,要省略vrrp_script与track_script的服务检测方式,使用LVS的自带检测 global_defs { router_id LVS_Server 指定标识该机器的route_id } vrrp_instance VI_1 { state MASTER 指定该keepalived节点的初始状态 interface ens8 vrrp实例绑定的接口,用于发送VRRP包 virtual_router_id 51 指定VRRP实例ID priority 150 指定优先级,优先级高的将成为MASTER nopreempt 设置为不抢占。默认是抢占的 advert_int 1 advert_int 1 authentication { auth_type PASS 指定认证方式 auth_pass password 指定认证所使用的密码。 } virtual_ipaddress { 192.168.1.217 dev ens8 指定VIP地址 } } virtual_server 192.168.1.217 443 { delay_loop 3 #健康检查的时间间隔 lvs_sched rr #LVS的调度算法 lvs_method DR #LVS 模式 protocol TCP #4层协议 real_server 192.168.1.211 443 { weight 1 #给服务器指定权重 TCP_CHECK { #tcp检测 connect_port 443 #检测端口 connect_timeout 3 #连接超时时间。默认是5s nb_get_retry 3 #get尝试次数 delay_before_retry 10 #在尝试之前延迟多长时间 } } real_server 192.168.1.212 443 { weight 1 TCP_CHECK { connect_port 443 connect_timeout 3 nb_get_retry 3 delay_before_retry 10 } } } virtual_server 192.168.1.217 80 { delay_loop 3 lvs_sched rr lvs_method DR protocol TCP real_server 192.168.1.211 80 { weight 1 TCP_CHECK { connect_port 80 connect_timeout 3 nb_get_retry 3 delay_before_retry 10 } } } real_server 192.168.1.212 80 { weight 1 调整优先级。默认为2 TCP_CHECK { connect_port 80 连接的端口 connect_timeout 3 连接超时时间。默认是5s。 nb_get_retry 3 get尝试次数。 delay_before_retry 10 } } } --- ##virtual_server配置 virtual_server IP Port | virtual_server fwmark int | virtual_server group string { delay_loop <INT>:健康检查的时间间隔。 lb_argo rr|wrr|lc|wlc|lblc|sh|dh:LVS调度算法。 lb_kind NAT|DR|TUN:LVS模式。 persistence_timeout 360:持久化超时时间,单位是秒。默认是6分钟。 persistence_granularity:持久化连接的颗粒度。 protocol TCP|UDP|SCTP:4层协议。 ha_suspend:如果virtual server的IP地址没有设置,则不进行后端服务器的健康检查。 virtualhost <STRING>:为HTTP_GET和SSL_GET执行要检查的虚拟主机。如virtualhost www.felix.com sorry_server <IPADDR> <PORT>:添加一个备用服务器。当所有的RS都故障时。 sorry_server_inhibit:将inhibit_on_failure指令应用于sorry_server指令。 alpha:在keepalived启动时,假设所有的RS都是down,以及健康检查是失败的。有助于防止启动时的误报。默认是禁用的。 omega:在keepalived终止时,会执行quorum_down指令所定义的脚本。 quorum <INT>:默认值1. 所有的存活的服务器的总的最小权重。 quorum_up <STRING>:当quorum增长到满足quorum所定义的值时,执行该脚本。 quorum_down <STRING>:当quorum减少到不满足quorum所定义的值时,执行该脚本。 } --- ##real_server配置 real_server IP Port { weight <INT>:给服务器指定权重。默认是1. inhibit_on_failure:当服务器健康检查失败时,将其weight设置为0,而不是从Virtual Server中移除。 notify_up <STRING>:当服务器健康检查成功时,执行的脚本。 notify_down <STRING>:当服务器健康检查失败时,执行的脚本。 uthreshold <INT>:到这台服务器的最大连接数。 lthreshold <INT>:到这台服务器的最小连接数。 } ##real_server中的健康检查 ============================================================================================ HTTP_GET | SSL_GET { url { path <STRING>:指定要检查的URL的路径。如path / or path /mrtg2 digest <STRING>:摘要。计算方式:genhash -s 172.17.100.1 -p 80 -u /index.html status_code <INT>:状态码。 } nb_get_retry <INT>:get尝试次数。 delay_before_retry <INT>:在尝试之前延迟多长时间。 connect_ip <IP ADDRESS>:连接的IP地址。默认是real server的ip地址。 connect_port <PORT>:连接的端口。默认是real server的端口。 bindto <IP ADDRESS>:发起连接的接口的地址。 bind_port <PORT>:发起连接的源端口。 connect_timeout <INT>:连接超时时间。默认是5s。 fwmark <INTEGER>:使用fwmark对所有出去的检查数据包进行标记。 warmup <INT>:指定一个随机延迟,最大为N秒。可防止网络阻塞。如果为0,则关闭该功能。 } ============================================================================================ TCP_CHECK { connect_ip <IP ADDRESS>:连接的IP地址。默认是real server的ip地址。 connect_port <PORT>:连接的端口。默认是real server的端口。 bindto <IP ADDRESS>:发起连接的接口的地址。 bind_port <PORT>:发起连接的源端口。 connect_timeout <INT>:连接超时时间。默认是5s。 fwmark <INTEGER>:使用fwmark对所有出去的检查数据包进行标记。 warmup <INT>:指定一个随机延迟,最大为N秒。可防止网络阻塞。如果为0,则关闭该功能。 retry <INIT>:重试次数。默认是1次。 delay_before_retry <INT>:默认是1秒。在重试之前延迟多少秒。 } ============================================================================================ SMTP_CHECK { connect_ip <IP ADDRESS>:连接的IP地址。默认是real server的ip地址。 connect_port <PORT>:连接的端口。默认是real server的端口。 默认是25端口 bindto <IP ADDRESS>:发起连接的接口的地址。 bind_port <PORT>:发起连接的源端口。 connect_timeout <INT>:连接超时时间。默认是5s。 fwmark <INTEGER>:使用fwmark对所有出去的检查数据包进行标记。 warmup <INT>:指定一个随机延迟,最大为N秒。可防止网络阻塞。如果为0,则关闭该功能。 retry <INT>:重试次数。 delay_before_retry <INT>:在重试之前延迟多少秒。 helo_name <STRING>:用于SMTP HELO请求的字符串。 } ============================================================================================ DNS_CHECK { connect_ip <IP ADDRESS>:连接的IP地址。默认是real server的ip地址。 connect_port <PORT>:连接的端口。默认是real server的端口。 默认是25端口 bindto <IP ADDRESS>:发起连接的接口的地址。 bind_port <PORT>:发起连接的源端口。 connect_timeout <INT>:连接超时时间。默认是5s。 fwmark <INTEGER>:使用fwmark对所有出去的检查数据包进行标记。 warmup <INT>:指定一个随机延迟,最大为N秒。可防止网络阻塞。如果为0,则关闭该功能。 retry <INT>:重试次数。默认是3次。 type <STRING>:DNS query type。A/NS/CNAME/SOA/MX/TXT/AAAA name <STRING>:DNS查询的域名。默认是(.) } ============================================================================================ MISC_CHECK { misc_path <STRING>:外部的脚本或程序路径。 misc_timeout <INT>:脚本执行超时时间。 user USERNAME [GROUPNAME]:指定运行该脚本的用户和组。如果没有指定GROUPNAME,则GROUPNAME同USERNAME。 misc_dynamic:根据退出状态码动态调整权重。 0,健康检查成功,权重不变。 1,健康检查失败。 2-255,健康检查成功。权重设置为退出状态码减去2.如退出状态码是250,则权重调整为248 warmup <INT>:指定一个随机延迟,最大为N秒。可防止网络阻塞。如果为0,则关闭该功能。 } ============================================================================================
分享到: