一、介绍
本文介绍有CentOS 7上安装负载均衡器,并且用keepalived保持主备,用206,207二台电脑做负载均衡器,同时负载均衡TCP和UDP协议,201,202,203三台电脑做真实服务器,负载均衡的端口是10000,结构图如下:
负载均衡器上安装ipvsadm, keepalived,(TCP,UDP)都负载均衡10000端口
真实服务器上打开虚拟IP,安装TCP,UDP服务,打开10000端口
二、负载均衡器上安装ipvsadm
CentOS 7已经包含LVS内核,只要安装LVS控制器ipvsadm,206,207上都要安装
# yum -y install ipvsadm
或者下载rpm文件 ipvsadm-1.27-7.el7.x86_64.rpm
# rpm -ivh ipvsadm-1.27-7.el7.x86_64.rpm
查看ipvsadm安装结果
#ipvsadm
三、负载均衡器上安装keepalived
# yum -y install keepalived
或者下载rpm文件 keepalived-1.3.5-1.el7.x86_64.rpm
# rpm -ivh keepalived-1.3.5-1.el7.x86_64.rpm
查看keepalived安装情况,keepalived服务默认不是开机启动,
#systemctl status keepalived
激活keepalived服务开机自动启动(不是启动)
#systemctl enabled keepalived
先不启动keepalived服务,等配置完了再启动
三、负载均衡器上编辑UDP侦测脚本
(1) 安装nmap网络侦测软件
#yum -y install nmap
(2) 编辑/etc/keepalived/UDP_CHECK.sh
#vi /etc/keepalived/UDP_CHECK.sh
#!/bin/bash
# /usr/bin/nmap --system-dns -sU -p$2 $1 | grep 'udp open' >/dev/null
# exit $?
if [ $# -ne 2 ];then
echo "Warning: UDP_CHECK error."
exit 1
else
CMD=`/usr/bin/nmap --system-dns -sU -p$2 $1 | grep "udp open" | wc -l`
if [ ${CMD} -eq 1 ];then
exit 0
fi
exit 1
Fi
(3) 更新UDP_CHECK.sh的执行权限
#chmod +x /etc/keepalived/UDP_CHECK.sh
四、配置keepalived
配置:206为MASTER,207为BACKUP,如果优先级不一样,级别高的master重启后会接管BACKUP,相当于客户端断开重连
#vi /etc/keepalived/keepalived.conf
注意红色字体以及TCP和UDP的不同配置,206上配置如下
global_defs {
notification_email {
zhangxz@189.cn
}
notification_email_from service@189.cn
smtp_server mail.189.cn