安装haproxy
修改内核参数
echo 'net.ipv4.ip_nonlocal_bind = 1'>>/etc/sysctl.conf
sysctl –p
解压
##压缩包存放在root根目录下
tar -xf keepalived-2.0.10.tar.gz
tar -xf haproxy-1.6.13.tar.gz
安装haproxy-1.6.13
cd haproxy-1.6.13
##centos6:TARGET=linux2628 centos7:TARGET=linux26
make TARGET=linux26 PREFIX=/usr/local/haproxy-2.0.10
make install PREFIX=/usr/local/haproxy-2.0.10
ln -s /usr/local/haproxy-2.0.10 /usr/local/haproxy
配置配置文件
mkdir /etc/haproxy
touch /etc/haproxyhaproxy.cfg
vim /etc/haproxyhaproxy.cfg
haproxyhaproxy.cfg配置文件:https://blog.csdn.net/chenliang1038/article/details/103278266
创建日志目录
mkdir -p usr/local/haproxy/logs/
touch /usr/local/haproxy/logs/haproxy.pid
启动服务
/usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg
添加开机自启动
vim /etc/init.d/haproxy
haproxyhaproxy.cfg启动脚本:https://blog.csdn.net/chenliang1038/article/details/103278266
chkconfig haproxy on
chkconfig --list |grep haproxy
安装keepalived
创建内核软连接文件
ln -s /usr/src/kernels/`uname -r` /usr/src/linux
安装依赖
yum install -y openssl-devel
安装keepalived-2.0.10
cd keepalived-2.0.10
./configure --with-kernel-dir=/usr/src/linux/ --prefix=/usr/local/keepalived-2.0.10
make && make install -j 4
ln -s /usr/local/keepalived-.0.10 /usr/local/keepalived
配置配置文件及环境变量
cp ~/keepalived-2.0.10/keepalived/etc/init.d/keepalived /etc/init.d/
cp ~/keepalived-2.0.10/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
cp ~/keepalived-2.0.10/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/
创建shell脚本,当haproxy挂掉了,但keepalived存活,这样就不能切换至backup服务器了
mkdir ~/scripts
vim ~/scripts/check_haproxy.sh
[root@zabbix03 ~]# cat scripts/check_haproxy.sh
#!/bin/bash
killall -0 haproxy
if [[ $? -ne 0 ]]
then
/etc/init.d/keepalived stop
fi