HAproxy Keepalived高可用负载均衡部署
一、安装haproxy软件 wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.22.tar.gz tar zxvf haproxy-1.4.22.tar.gz cd haproxy-1.4.22 make TARGET=linux26 PREFIX=/usr/local/haproxy make install PREFIX=/usr/local/haproxy cd /usr/local/haproxy mkdir conf cd conf
二、在/usr/local/haproxy/conf/目录下创建配置文件(haproxy.cfg) global maxconn 20480 chroot /usr/local/haproxy uid 99 gid 99 daemon quiet nbproc 1 stats socket /usr/local/haproxy/haproxy.stat mode 666 log 127.0.0.1 local3 pidfile /usr/local/haproxy/haproxy.pid ulimit-n 65535 defaults log global mode http maxconn 20480 #option httplog clf option httplog option dontlognull option httpclose option abortonclose option redispatch retries 3 monitor-uri /site_status contimeout 5000 clitimeout 50000 srvtimeout 50000 frontend WEB-BANMA-cluster bind *:80 default_backend web_pool backend web_pool balance source # balance leastconn cookie SERVERID option forwardfor option httpchk GET /check.html server app1_1 192.168.10.15:80 cookie app1inst1 check inter 2000 rise 2 fall 5 weight 3 server app1_2 192.168.10.16:80 cookie app1inst2 check inter 2000 rise 2 fall 5 weight 6 stats refresh 5s stats uri /status stats realm Haproxy statistics stats auth admin:admin123 stats admin if TRUE
三、如何给haproxy添加日志记录 ①、如果是CentOS6.0以下版本配置 一、 vi /etc/syslog.conf local3.* /var/log/haproxy.log 二、vi /etc/sysconfig/syslog SYSLOGD_OPTIONS="-m 0" 改成 SYSLOGD_OPTIONS="-r -m 0" #enables logging from remote machines 三、重启动 /etc/init.d/syslog restart
②、Centos6.0或centos6.0以上版本
一、配置日志 vi /etc/rsyslog.conf(去掉下面两行前的注释,一定要去掉,否则不记录日志) ModLoad imudp.so UDPServerRun 514 ##添加日志记录 local3.* /var/log/haproxy.log(添加haproxy日志记录文件)
二、重启动服务 /etc/init.d/rsyslog restart
四、启动haproxy,进行检查,并查看日志 /usr/local/haproxy/sbin/haporxy -f /usr/local/haproxy/conf/haproxy.cfg
####################################################################################### 一、keepalived安装(主备机器安装方法一样) wget http://rpm5.org/files/popt/popt-1.16.tar.gz tar zxvf popt-1.16.tar.gz cd popt-1.16 ./configure make && make install wget http://www.keepalived.org/software/keepalived-1.2.7.tar.gz tar zxvf keepalived-1.2.7.tar.gz cd keepalived-1.2.7 ./configure --prefix=/usr/local/keepalived make && make install
二、初始化脚本 cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived cp /usr/local/keepalived/sbin/keepalived /usr/sbin/ cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ mkdir -p /etc/keepalived/ ln -s /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf chmod x /etc/init.d/keepalived
三、主机器配置文件(vi /etc/keepalived/keepalived.conf ),备机器只要(修改有注释地方即可) ! Configuration File for keepalived global_defs { router_id LVS_DEVEL } vrrp_script chk_http_port { script "/usr/local/keepalived/check_haproxy.sh" interval 2 weight 2 } vrrp_instance VI_1 { state MASTER (备机,改MASTER为BACKUP) interface eth0 virtual_router_id 51 priority 150 (备机,改150为149) advert_int 1 authentication { auth_type PASS auth_pass 1111 } track_script { chk_http_port } virtual_ipaddress { 10.1.1.60 } }
四、检测haproxy状态的文件 status=$(ps aux|grep haproxy | grep -v grep | grep -v bash | wc -l) if [ "${status}" = "0" ]; then /etc/init.d/haproxy start status2=$(ps aux|grep haproxy | grep -v grep | grep -v bash |wc -l) if [ "${status2}" = "0" ]; then /etc/init.d/keepalived stop fi fi
五、启动keepalived /etc/init.d/keepalived start