Keepalived程序简介¶
Keepalived包附带2个程序。
keepalived守护进程¶
keepalived命令行参数如下:
- -f, –use-file=FILE
- 使用指定的配置文件,默认配置文件是“/etc/keepalived/keepalived.conf”。
- -P, –vrrp
- 只运行VRRP子系统。这对于不使用IPVS负载均衡的配置很有用。
- -C, –check
- 只运行健康检查子系统。这对于将IPVS负载均衡与单个导向器一起使用而没有故障切 换的配置很有用。
- -l, –log-console
- 将消息记录到本地控制台。默认行为是将消息记录到syslog。
- -D, –log-detail
- 详细的日志信息。
- -S, –log-facility=[0-7]
- 设置syslog设施为LOG_LOCAL [0-7]。默认的syslog设施是LOG_DAEMON。
- -V, –dont-release-vrrp
- 在守护进程停止时不要删除VRRP VIP和VROUTE。默认行为是在keepalived退出时删除 所有VIP和VROUTE.
- -I, –dont-release-ipvs
- 在守护进程停止时不要删除IPVS拓扑。默认行为是在keepalived退出时,它将从IPVS 虚拟服务器表中删除所有条目。
- -R, –dont-respawn
- 不要重新派生子进程。默认行为是如果任一进程退出,就重新启动VRRP和checker子 进程。
- -n, –dont-fork
- 不要派生守护进程。此选项将导致keepalived在前台运行。
- -d, –dump-conf
- 转储配置数据。
- -p, –pid=FILE
- 将指定的pidfile文件用于父级keepalived进程。Keepalived的默认pid文件是 “/var/run/keepalived.pid”。
- -r, –vrrp_pid=FILE
- 将指定的pidfile文件用于VRRP子进程。VRRP子进程的默认pid文件是 “/var/run/keepalived_vrrp.pid”。
- -c, –checkers_pid=FILE
- 将指定的pidfile文件用于checker子进程。checker子进程的默认pid文件是 “/var/run/keepalived_checkers.pid”。
- -x, –snmp
- 启用SNMP子系统。
- -v, –version
- 显示版本并退出。
- -h, –help
- 显示此帮助信息并退出。
genhash实用程序¶
genhash二进制文件用于生成只要字符串。genhash的命令行参数如下:
- –use-ssl, -S
- 使用SSL连接到服务器。
- –server <host>, -s
- 指定要连接的IP地址。
- –port <port>, -p
- 指定要连接的端口。
- –url <url>, -u
- 指定要生成哈希值的文件路径。
- –use-virtualhost <host>, -V
- 指定要与HTTP请求头(host字段)一起发送的虚拟主机
- –hash <alg>, -H
- 指定哈希算法以生成目标页面的摘要。请参阅帮助信息,查看带有默认标记的可用列表。
- –verbose, -v
- 输出详细信息。
- –help, -h
- 显示此帮助信息并退出。
- –release, -r
- 显示版本号并退出。
运行keepalived守护进程¶
要运行keepalived,只需键入:
[root@lvs tmp]# /etc/rc.d/init.d/keepalived.init start
Starting Keepalived for LVS: [ OK ]
所有的守护进程消息都通过Linux syslog
进行记录。如果使用“转储配置数据”选项启动keepalived,您应该在 /var/log/messages
(在Debian上可能是 /var/log/daemon.log
,具体取决于您的syslog配置)中看到如下信息:
Jun 7 18:17:03 lvs1 Keepalived: Starting Keepalived v0.6.1 (06/13, 2002)
Jun 7 18:17:03 lvs1 Keepalived: Configuration is using : 92013 Bytes
Jun 7 18:17:03 lvs1 Keepalived: ------< Global definitions >------
Jun 7 18:17:03 lvs1 Keepalived: LVS ID = LVS_PROD
Jun 7 18:17:03 lvs1 Keepalived: Smtp server = 192.168.200.1
Jun 7 18:17:03 lvs1 Keepalived: Smtp server connection timeout = 30
Jun 7 18:17:03 lvs1 Keepalived: Email notification from = keepalived@domain.com
Jun 7 18:17:03 lvs1 Keepalived: Email notification = alert@domain.com
Jun 7 18:17:03 lvs1 Keepalived: Email notification = 0633556699@domain.com
Jun 7 18:17:03 lvs1 Keepalived: ------< SSL definitions >------
Jun 7 18:17:03 lvs1 Keepalived: Using autogen SSL context
Jun 7 18:17:03 lvs1 Keepalived: ------< LVS Topology >------
Jun 7 18:17:03 lvs1 Keepalived: System is compiled with LVS v0.9.8
Jun 7 18:17:03 lvs1 Keepalived: VIP = 10.10.10.2, VPORT = 80
Jun 7 18:17:03 lvs1 Keepalived: VirtualHost = www.domain1.com
Jun 7 18:17:03 lvs1 Keepalived: delay_loop = 6, lb_algo = rr
Jun 7 18:17:03 lvs1 Keepalived: persistence timeout = 50
Jun 7 18:17:04 lvs1 Keepalived: persistence granularity = 255.255.240.0
Jun 7 18:17:04 lvs1 Keepalived: protocol = TCP
Jun 7 18:17:04 lvs1 Keepalived: lb_kind = NAT
Jun 7 18:17:04 lvs1 Keepalived: sorry server = 192.168.200.200:80
Jun 7 18:17:04 lvs1 Keepalived: RIP = 192.168.200.2, RPORT = 80, WEIGHT = 1
Jun 7 18:17:04 lvs1 Keepalived: RIP = 192.168.200.3, RPORT = 80, WEIGHT = 2
Jun 7 18:17:04 lvs1 Keepalived: VIP = 10.10.10.3, VPORT = 443
Jun 7 18:17:04 lvs1 Keepalived: VirtualHost = www.domain2.com
Jun 7 18:17:04 lvs1 Keepalived: delay_loop = 3, lb_algo = rr
Jun 7 18:17:04 lvs1 Keepalived: persistence timeout = 50
Jun 7 18:17:04 lvs1 Keepalived: protocol = TCP
Jun 7 18:17:04 lvs1 Keepalived: lb_kind = NAT
Jun 7 18:17:04 lvs1 Keepalived: RIP = 192.168.200.4, RPORT = 443, WEIGHT = 1
Jun 7 18:17:04 lvs1 Keepalived: RIP = 192.168.200.5, RPORT = 1358, WEIGHT = 1
Jun 7 18:17:05 lvs1 Keepalived: ------< Health checkers >------
Jun 7 18:17:05 lvs1 Keepalived: 192.168.200.2:80
Jun 7 18:17:05 lvs1 Keepalived: Keepalive method = HTTP_GET
Jun 7 18:17:05 lvs1 Keepalived: Connection timeout = 3
Jun 7 18:17:05 lvs1 Keepalived: Nb get retry = 3
Jun 7 18:17:05 lvs1 Keepalived: Delay before retry = 3
Jun 7 18:17:05 lvs1 Keepalived: Checked url = /testurl/test.jsp,
Jun 7 18:17:05 lvs1 Keepalived: digest = 640205b7b0fc66c1ea91c463fac6334d
Jun 7 18:17:05 lvs1 Keepalived: 192.168.200.3:80
Jun 7 18:17:05 lvs1 Keepalived: Keepalive method = HTTP_GET
Jun 7 18:17:05 lvs1 Keepalived: Connection timeout = 3
Jun 7 18:17:05 lvs1 Keepalived: Nb get retry = 3
Jun 7 18:17:05 lvs1 Keepalived: Delay before retry = 3
Jun 7 18:17:05 lvs1 Keepalived: Checked url = /testurl/test.jsp,
Jun 7 18:17:05 lvs1 Keepalived: digest = 640205b7b0fc66c1ea91c463fac6334c
Jun 7 18:17:05 lvs1 Keepalived: Checked url = /testurl2/test.jsp,
Jun 7 18:17:05 lvs1 Keepalived: digest = 640205b7b0fc66c1ea91c463fac6334c
Jun 7 18:17:06 lvs1 Keepalived: 192.168.200.4:443
Jun 7 18:17:06 lvs1 Keepalived: Keepalive method = SSL_GET
Jun 7 18:17:06 lvs1 Keepalived: Connection timeout = 3
Jun 7 18:17:06 lvs1 Keepalived: Nb get retry = 3
Jun 7 18:17:06 lvs1 Keepalived: Delay before retry = 3
Jun 7 18:17:06 lvs1 Keepalived: Checked url = /testurl/test.jsp,
Jun 7 18:17:05 lvs1 Keepalived: digest = 640205b7b0fc66c1ea91c463fac6334d
Jun 7 18:17:06 lvs1 Keepalived: Checked url = /testurl2/test.jsp,
Jun 7 18:17:05 lvs1 Keepalived: digest = 640205b7b0fc66c1ea91c463fac6334d
Jun 7 18:17:06 lvs1 Keepalived: 192.168.200.5:1358
Jun 7 18:17:06 lvs1 Keepalived: Keepalive method = TCP_CHECK
Jun 7 18:17:06 lvs1 Keepalived: Connection timeout = 3
Jun 7 18:17:06 lvs1 Keepalived: Registering Kernel netlink reflector