CentOS 7.3 部署LVS + Keepalived 高可用集群


双击热备

在这个高度信息化的IT时代,企业的生产系统,业务运营,销售个支持
以及日常管理环节越来越依赖计算机信息和服务,使得对高可用(HA)
技术的应用需求大量上升,以便提供持续的,不间断计算机或网络

vs服务器和web-server他们必须在同一个网段内,因为LVS转发包的时候,是直接修改了包目标的MAC地址,直接扔给了rs,基于MAC地址的修改是活动在OSI二层数据链路层的,工作在数据链路层的网络设备就是交换机了,所以必须在一个交换机下面,也就是一个局域网内
为啥抑制real-server的ARP,是这样的,我们在DR模式要更改web-server的ARP的模式,arp_ignore为1是说只回答目标IP地址是来访网络接口本地地址的ARP查询请求,我们都在回环接口上配置了一个VIP,当arp模式更改以后,那么如果有谁在请求VIP的mac地址时,那么那些web-server就会回答arp广播报文了,只有lvs才会,如果没有更改arp模式,那么大家都喊我是VIP,这就乱套了。

Keepalived 双机热备

keepalived 起初是专门正对LVS 设计的一款强大的辅助工具,只要用来提供故障切换切换(FAilover)
和健康检查功能---判断LVS 负载调到器
节点服务器的可用性,及时隔离并且替换新的服务器,当故障主机恢复后将其重新加入集群
yum install keepalived ipvsadm -y  //在线下载所需的软件

实验只准备环境为 4台 centos 7.3

其中两台为调度服务器以主服务器一个为备份服务器
另外两个提供节点服务器
yum install httpd -y //下载服务并且开启
修改网卡配置

开始调试

先做简单的先调试两台点服务器的配置
1. systemctl start httpd.service  //开启服务
2. echo "this is accp web" >/var/www/html/index.html  //生成首页
3.cp ifcfg-lo ifcfg-lo:0 //复制回环网卡 并且进行修改
4. DEVICE=lo:0
IPADDR=192.168.100.10
NETMASK=255.255.255.0
ONBOOT=yes    //就留下这三行
5. vim /etc/init.d/web.sh //添加启动脚本致内如如下
VIP=192.168.100.10
        case "$1" in
        start)
                ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP   //启动它的虚拟IP添加网段
                /sbin/route add -host $VIP dev lo:0
                echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
                echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
                echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
                echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce              ///接受调度服务器给与的回馈
                sysctl -p >/dev/null 2>&1
                echo "RealServer Start OK "     //优化参数 都导入到null 中俗称黑洞
                ;;
        stop)
                ifconfig lo:0 down                     //关闭 虚拟IP  并且关闭服务器给与的回馈
                route del $VIP /dev/null 2>&1
                echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
                echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
                echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
                echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
                echo "RealServer Stopd"
                ;;
        *)
                echo "Usage: $0 {start|stop}"
                exit 1
        esac
        exit 0
6. ifup lo:0    //(建议最后开启虚拟网卡)
7. service web.sh stop
8. service web.sh start(建议重启服务)
9. firefox "http://127.0.0.1/"& //进行自测检测会在后台进行打开稍等片刻
两台配置都一样 关闭防火墙 等一些阻挡访问的一些服务


配置调度服务器

1. systemctl stop firewalld.service 关闭防火墙
2. 修改网卡模式 仅主机模式
sysctl.conf这个文件是对Linux系统直接配置的文件,一些基本防护也可以从这个文件做起:
# net.ipv4.tcp_syncookies = 1
当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN×××。
3. vi /etc/sysctl.conf
net.ipv4.ip_forward=1   //启用IP转发功能,做NAT服务或者路由时才会用到。
#proc响应关闭重定向功能
//恶意用户可以使用IP重定向来修改远程主机中的路由表,在设计良好的网络中,末端的重定向设置是不需要的,发送和接受重定向信息包都要关闭。
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
关闭重定向功能
net.ipv4.conf.ens33.send_redirects = 0  

4. sysctl -p //即使生效
5. cp ifcfg-ens33 ifcfg-ens33:0
6. vim ifcfg-ens33:0
DEVICE=ens33:0 //名称
ONBOOT=yes     //开启网卡
IPADDR=192.168.100.10  //虚拟IP
NETMASK=255.255.255.0  //马克地址
7. ifup ens33:0  //启动虚拟网卡//如报错则重启服务
service network restart
做到这其实就可以访问网页来进行测试了

配置调度服务器进行双机热备 先做主服务器

1. vim /etc/init.d/dr.sh  //添加脚本
GW=192.168.100.1    //网关
VIP=192.168.100.10   //虚拟IP
RIP1=192.168.100.201  //节点服务器
RIP2=192.168.100.202  //节点服务器
case "$1" in
start)
        /sbin/ipvsadm --save > /etc/sysconfig/ipvsadm  //保存若直接启动会报错
        systemctl start ipvsadm                        //开启工具
        /sbin/ifconfig ens33:0 $VIP broadcast $VIP netmask 255.255.255.255 broadcast $VIP up  //开启虚拟网卡
        /sbin/route add -host $VIP dev ens33:0   //开启路由赚翻
        /sbin/ipvsadm -A -t $VIP:80 -s rr  //调度方法 轮询
        /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g  //启动ivsf 调度
        /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g   //指定D2 的模式
        echo "ipvsadm starting --------------------[ok]"
        ;;
        stop)
        /sbin/ipvsadm -C    //关闭时该清空的清空
        systemctl stop ipvsadm
        ifconfig ens33:0 down    //当掉的当
        route del $VIP
        echo "ipvsamd stoped----------------------[ok]"
         ;;
        status)
        if [ ! -e /var/lock/subsys/ipvsadm ];then   //检测启动的时候文件存不存在 若存在则显示停止状态
        echo "ipvsadm stoped---------------"
        exit 1
                else
                echo "ipvsamd Runing ---------[ok]"
        fi
        ;;
        *)
        echo "Usage: $0 {start|stop|status}"
        exit 1
        esac
        exit 0
2. chmod +x dr.sh
3. service dr.sh start
4. vim/etc/keepalived/
vim/etc/keepalived/    //在配置文件中对应的序列号
10    smtp_server 127.0.0.1
12    router_id LVS_01  //从的改成02
20     state MASTER  //为主服务器//BACKUP 从
22     virtual_router_id 10 //更具需求可以不改
27         auth_pass abc123  //预定义密码
30         192.168.100.10  //留下一个并且对应到虚拟IP
34 virtual_server 192.168.100.10 80 //对应虚拟IP
37     lb_kind DR   //DR模式
41     real_server 192.168.100.221 80 {  //对应的真实的地址也就是提供服务的IP
43         TCP_CHECK {   //检查
44             url {  //准备8DD 删除8行自行添加
44             cpnnect_port 80  //声明端口
41     real_server 192.168.100.221 80 {  //准备复制10行新成新的对应的证实地址IP
49     }  //此处粘贴
       real_server 192.168.100.222 80 {
       TCP_CHECK {
            url {
            cpnnect_port 80   //一样的内容
systemctl start keepalived.service //启动服务
systemctl status keepalived.service  //查看服务有没有开启
ip addr show dev ens33:0  //检测虚拟网卡 启用
备的服务器一样的配置




原文地址:http://blog.51cto.com/13660858/2131614

时间: 2024-11-09 02:22:40

CentOS 7.3 部署LVS + Keepalived 高可用集群的相关文章

linux企业常用服务---lvs+Keepalived高可用集群

部署前准备: iptables和selinux没配置,关掉 挂载系统镜像作为本地yum源,修改yum文件 源码包准备keepalived-1.2.13.tar.gz 环境介绍: 主服务器ip:192.168.100.157(keeplived+lvs) 从服务器ip:192.168.100.156(keeplived+lvs) 节点服务器ip:192.168.100.153-192.168.100.155(httpd) 集群vip:192.168.100.95 1.安装keepalived(在两

LVS+Keepalived高可用集群(CentOS7)

Keepalived高可用集群 什么是高可用集群? keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障. keepalived故障切换转移原理 keepalived是以VRRP协议为实现基础的,VRRP虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip

CentOS 7.3 部署LVS + Keepalived 高可用群集

本次实验需用到四台服务器,包括两台web服务器,两台调度服务器,一台访问测试的客户机先将虚拟机网络适配器修改为NAT模式在线下载安装相关软件包,调度服务器需要安装的软件包Web服务器若没有自带Apache,可使用yum进行安装之后更改网络适配器为仅主机模式,配置每台虚拟机IP地址进行实验调度服务器主:192.168.100.21/24调度服务器备:192.168.100.22/24Web服务器1:192.168.100.23/24Web服务器2:192.168.100.24/24虚拟IP:192

部署Memcached+magent+keepalived高可用集群

Memcached+magent+keepalived高可用集群 magent是一款开源的代理服务软件,我们可以通过他来实现缓存数据的同步,当然这里说的同步不是说memcached之间就能互相通讯了, 而magent可以同时连接多个memcached节点, 通过magent绑定的VIP从客户端登录memcached写入数据,其他节点的memcached数据也会同步.? 案例环境 主机名称 IP 主要软件 memcached主 192.168.200.128 Magent.memcached.li

keepalived高可用集群技术介绍及实战演练

一.Keepalived是什么 Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器. 二.Keepalived的特性 配置文件简单:配置文件比较简单,可通过简单配置实现高可用功能 稳定性强:keepalived是一个类似于

Nginx+Keepalived高可用集群应用实践

Nginx+Keepalived高可用集群应用实践 1.Keepalived高可用软件 1.1 Keepalived服务的三个重要功能 1.1.1管理LVS负载均衡软件 早期的LVS软件,需要通过命令行或脚本实现管理,并且没有针对LVS节点的健康检查功能.为了解决LVS的这些使用不便问题,Keepalived诞生了,可以说,Keepalived软件起初是专为解决LVS的问题而诞生的.因此,Keepalived和LVS的感情很深,他们的关系如同夫妻一样,可以紧密地结合,愉快地工作.Keepaliv

Keepalived高可用集群。

Keepalived高可用集群 Keepalived介绍 Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能.因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx,Haproxy,MySQL等)的高可用解决方案软件. Keepalived软件主要是通过VRRP协议实现高可用功能的.VRRP是Virtual Router Redundancy Protocol(

Keepalived高可用集群应用场景与配置

1.Keepalived单实例主备模式集群方案 这是最简单的模式,不只考虑高可用集群,先不考虑后方的Nginx负载均衡集群,即后端的服务器集群,参考下面的图示: 其对应的Keepalived核心配置如下: lb01 global_defs { notification_email { [email protected] [email protected] [email protected] } notification_email_from [email protected] smtp_serv

部署redis主从高可用集群

部署redis主从高可用集群本文部署的redis集群是一主一从,这两台服务器都设置了哨兵进程,另外再加一台哨兵做仲裁,建议哨兵数量为基数172.16.1.187    redis主+哨兵172.16.1.188    redis从+哨兵172.16.1.189    哨兵以上系统均为CentOS6 在187,188,189上部署redis过程如下:(1)redis使用编译安装方式,所以需要安装编译基本组件# yum -y install gcc gcc-c++ make cmake cpp gl