Rhel
對 RHEL7 上的 HAProxy 進行故障排除
我在 RHEL7 系統上。我是 haproxy 的新手。我想我有一些問題。這是我想使用的地址。
[root@haproxy-el7-001 haproxy]# grep 1936 /etc/haproxy/haproxy.cfg bind 10.29.103.39:1936
這是我的 haproxy.cfg 周圍的樣子……
listen haproxy_stats bind 10.29.103.39:1936 mode http stats enable stats hide-version stats realm Haproxy\ Statistics stats uri / stats auth xxxxx:xxxxx
我沒有其他要進行負載平衡的服務,但我仍然希望能夠像這樣查看統計資訊…
[root@haproxy-el7-001 haproxy]# wget http://10.29.103.39:1936 --2015-02-17 19:11:33-- http://10.29.103.39:1936/ Connecting to 10.29.103.39:1936... failed: No route to host.
服務,haproxy 正在執行:
[root@haproxy-el7-001 ~]# systemctl -l status haproxy haproxy.service - HAProxy Load Balancer Loaded: loaded (/usr/lib/systemd/system/haproxy.service; enabled) Active: active (running) since Tue 2015-02-17 18:47:57 EST; 16s ago Main PID: 16448 (haproxy-systemd) CGroup: /system.slice/haproxy.service ├─16448 /usr/sbin/haproxy-systemd-wrapper -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid ├─16449 /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds ├─16450 /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds └─16451 /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds Feb 17 18:48:10 haproxy-el7-001 haproxy[16451]: Server heat_api_cluster/mgmt-el7-001 is DOWN, reason: Layer4 timeout, check duration: 10001ms. 0 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue. Feb 17 18:48:10 haproxy-el7-001 haproxy[16451]: backend heat_api_cluster has no server available! Feb 17 18:48:10 haproxy-el7-001 haproxy[16450]: Server heat_api_cluster/mgmt-el7-001 is DOWN, reason: Layer4 timeout, check duration: 10001ms. 0 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue. Feb 17 18:48:10 haproxy-el7-001 haproxy[16450]: backend heat_api_cluster has no server available! Feb 17 18:48:12 haproxy-el7-001 haproxy[16450]: Server keystone-admin-api/mgmt-el7-001 is DOWN, reason: Layer4 timeout, check duration: 10000ms. 0 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue. Feb 17 18:48:12 haproxy-el7-001 haproxy[16450]: backend keystone-admin-api has no server available! Feb 17 18:48:12 haproxy-el7-001 haproxy[16451]: Server keystone-admin-api/mgmt-el7-001 is DOWN, reason: Layer4 timeout, check duration: 10001ms. 0 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue. Feb 17 18:48:12 haproxy-el7-001 haproxy[16451]: backend keystone-admin-api has no server available! Feb 17 18:48:13 haproxy-el7-001 haproxy[16451]: Server keystone-public-api/mgmt-el7-001 is DOWN, reason: Layer4 timeout, check duration: 10001ms. 0 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue. Feb 17 18:48:13 haproxy-el7-001 haproxy[16451]: backend keystone-public-api has no server available!
這是輸出,
ip a
我沒有看到列出的 vip 10.29.103.39。[root@haproxy-el7-001 haproxy]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether 00:50:56:a4:77:2b brd ff:ff:ff:ff:ff:ff inet 10.29.103.37/26 brd 10.29.103.63 scope global ens160 valid_lft forever preferred_lft forever inet6 fe80::250:56ff:fea4:772b/64 scope link valid_lft forever preferred_lft forever
我在這裡做錯了什麼?
我正在使用使用 Puppetlabs HAProxy 模組的內部 Puppet 模組。傀儡程式碼確實看起來像這樣……
keepalived::instance { 'haproxy-vip': advert_int => '1', priority => "$priority", state => "$state", virtual_router_id => "$vrouter_id", interface => 'eth0', virtual_ips => [ $controller_vip, $swift_vip ], track_script => [ 'check_haproxy' ], }
…並且此程式碼未在 RHEL7 上測試。RHEL7 介面名稱可能略有不同。在我的 RHEL7 系統上,主網卡稱為“ens160”。我更改木偶程式碼以使用“介面”這樣的事實……
$allnics = split( $interfaces, "," ) $interface = $allnics[0] keepalived::instance { 'haproxy-vip': advert_int => '1', priority => "$priority", state => "$state", virtual_router_id => "$vrouter_id", interface => "$interface", virtual_ips => [ $controller_vip, $swift_vip ], track_script => [ 'check_haproxy' ], }