Keepalived+Haproxy 安装配置

一、方案介绍

1.方案背景

公司服务器等多种应用架构为用户直接连接服务模式,这种模式存在以下缺陷。
AP Server有140+,采用终端直接,管理不便
每台AP孤立存在、相互独立,容易出现单点故障
负载根据个人的经验设定调节,资源利用不均衡
异常问题处理时间长/影响范围大,故障恢复慢
常规维护由于时间限制,维护困难
为了解决这些问题,合理利用资源并尽可能的节约成本,我们尝试使用并测试Keepalived+ Haproxy这种架构进行优化现有服务模式。

2.方案架构

在这里插入图片描述

3.架构简介

确认并搭建CentOS + Keepalived + Haproxy架构,采用双活模式
CentOS使用防火墙,仅开通必要端口,限制非法访问和病毒传播
现每组负载均衡设置8个虚拟VIP,每个节点4个VIP,实现秒级切换
每个VIP对应一组AP Server,Haproxy自动检测每个AP Server节点状态
实现重启单独的HA节点和AP Server节点都能秒级自动切换
手动维护每组AP Server时,不影响用户正常使用

4.架构优势

使用Keepalived实现负载均衡避免出现单点故障
使用Haproxy实现服务轮询机制合理利用资源
维护任意单个节点不会影响终端访问
出现故障后系统快速恢复,恢复时间到达秒级‘
相比硬件负载均衡,成本开销极低

二、方案规划

1.网络规划

规划了一个24位的网络段192.168.10.0/24给HA使用,该网段为能看和MES AP Server与MES终端能够通讯。
HA的命名规范位HA-10xx,HA表示功能,10为标识网段,xx表示具体主机IP。
每个HA具体规划如下。

2.软件规划

采用虚拟机方式部署,软件规划如下:
系统规格:4C + 4G + 50G
操作系统:CentOS7 X64
Haproxy:HA-Proxy version 1.5.18 2016/05/10
Keepalived:Keepalived v1.3.5 (03/19,2017)

三、操作系统安装

1.分发虚拟机

根据规划规格分发虚拟机。

2.安装操作系统

  • 1)挂着CentOS-7-x86_64-Minimal引导iso并启动虚拟机,选择Install CentOS7开始安装。
    在这里插入图片描述

  • 2)语言和键盘选择英文。
    在这里插入图片描述

  • 3)然后进入安装主界面,依次设置网络、时间、分区,使用的是CentOS-7-x86_64-Minimal精简安装iso,如果使用完成安装镜像,需要设置SOFTWARE SELECTION设置Minimal Install。
    在这里插入图片描述

  • 4)点击NETWORK & HOST NAME设置主机名和IP地址,由于服务器不需要访问互联网,因此我们DNS留空。
    在这里插入图片描述

  • 5)点击DATE & TIME,设置时区和时间服务器NTP。
    在这里插入图片描述

  • 6)点击INSTALLATION DESTIATION进行分区。
    在这里插入图片描述

  • 7)点击Begin Installation开始安装操作系统。

  • 8)安装过程中,进行创建账号,基础建设部考虑到安全管理的原因创建设置了复杂的root密码(12位,包含数字、字符、大写、小写),并且创建了一个普通用户admin并设置复杂密码。后期会设置禁止root远程登陆系统。
    在这里插入图片描述

  • 9)安装完成后点击Reboot按钮重启进入系统。

3.操作系统基础设置

  • 1)使用ssh工具连接到服务器,用户使用admin,然后切换至root账号。
[admin@HA-1027 ~]$ who
admin    pts/0        2020-03-17 15:21 (10.102.120.51)
[admin@HA-1027 ~]$ su root
[root@HA-1027 admin]# who
admin    pts/0        2020-03-17 15:21 (10.102.120.51)
  • 2)设置History和ls显示格式,设置History记录10000行。
cat <<EOF >> /etc/bashrc
HISTFILESIZE=10000
HISTSIZE=10000
USER_IP=\`who -u am i 2>/dev/null| awk '{print \$NF}'|sed -e 's/[()]//g'\`
if [ -z \$USER_IP ]
then
  USER_IP=\`hostname\`
fi
HISTTIMEFORMAT="%F_%T \$USER_IP:\`whoami\` "
export HISTTIMEFORMAT
export TIME_STYLE=\'+%Y-%m-%d_%H:%M:%S\'
EOF
source /etc/bashrc

显示效果如下

[root@HA-1027 admin]# history
    1  2020-03-17_15:32:29 10.102.120.51:root who
    2  2020-03-17_15:32:53 10.102.120.51:root cls
3  2020-03-17_15:32:54 10.102.120.51:root clear
[root@HA-1027 admin]# ls -h
total 4
-rw-rw-r--. 1 admin admin 769 2020-03-17_15:36:35 1.txt
  • 3)禁用IPv6(可选)。
echo "net.ipv6.conf.all.disable_ipv6 =1" >> /etc/sysctl.conf
sysctl -p
  • 4)禁用selinux(可选)。
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
  • 5)设置yum源,安装常用组件并更新系统。
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum install –y wget vim net-tools
yum update -y
  • 6)设置本机hosts文件,我们把现有的和规划预留的主机都放进来,以便后续操作。
[admin@HA-1026 ~]$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.21    HA-1021
192.168.10.22    HA-1022
192.168.10.23    HA-1023
192.168.10.24    HA-1024
192.168.10.25    HA-1025
192.168.10.26    HA-1026
192.168.10.27    HA-1027
192.168.10.28    HA-1028
192.168.10.29    HA-1029
192.168.10.30    HA-1030
192.168.10.31    HA-1031
192.168.10.32    HA-1032
192.168.10.33    HA-1033
192.168.10.34    HA-1034
192.168.10.35    HA-1035
192.168.10.36    HA-1036
192.168.10.37    HA-1037
192.168.10.38    HA-1038
192.168.10.39    HA-1039
192.168.10.40    HA-1040

  • 23
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值