欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

高可用集群Keepalied + LVS

程序员文章站 2024-01-31 23:27:58
...

HACMP 小型机 高可用
keepalived 协议vrrp
SMTP 25 邮件协议
各端口对应服务
service 服务名 status
telnet ip地址 端口号

下载keepalived服务

yum -y install keepalived

 默认配置文件在/etc/keepalived/keepalived.conf

利用keepalived之后 在调度器上lvs的配置就不用配置了,但是在rs上得和lvs上一样

集群Cluster
集群类型:

  • LB lvs/nginx
  • HA 高可用
  • 几个9指标:99%(不允许。一年有3天)99.9%(不允许,一年有7小时)
  • 必须达到99.9999%或者99.99999%(最多一年坏个3分钟)

系统可用性公式 : A=MTBF/(MTBF+MTTR)

  • MTBF = 正常时间

  • MTTR = 错误时间

系统故障:

  • 硬件故障:设计缺陷、wear out (损耗)、自然灾害
  • 软件故障:设计缺陷

实验
VIP:192.168.1.200
服务端RS1=192.168.1.11
服务端RS2=192.168.1.12
WEB主服务端192.168.1.10
WEB从服务端192.168.7.56

关闭安全服务

#setenforce 0
#systemctl stop firewalld

注:所有的服务器端都得做
  • 下载keepalived、下载ipvsadm

    #yum -y install keepalived ipvsadm

主服务端
配置文件

#vim  /etc/keepalived/keepalived.conf

! Configuration File for keepalived
global_defs {
   notification_email {
        #收件人地址
   }
        #邮件服务器
}
#VRRP配置DS1
vrrp_instance VI_1 {
    state MASTER                    #角色类型MASTER|BACKUP
    interface ens33                    #网卡名称
    virtual_router_id 51            #虚拟路由id(需要与BACKUP一致)
    priority 100                     #优先级
    advert_int 1                    #没1秒检查一次
    #nopreempt                        #非抢占模式

    authentication {
        auth_type PASS                #认证类型  主备之间必须一样
        auth_pass 1111                #认证密码  主备之间必须一样
    }
    virtual_ipaddress {
        192.168.1.200                #虚拟ip(vip)
    }
}

#LVS配置
virtual_server 192.168.1.200 80 {
    delay_loop 3                    #健康检查时间间隔
    lb_algo rr                        #负载均衡调度算法
    protocol TCP                    #协议

    real_server 192.168.1.11 80 {    #要监控的real_server的ip和端口号
            weight 1                 #权重
        TCP_CHECK {                    #基于tcp协议的检查
            connect_timeout 3          #连接时间超时
            retry 3                    #重连次数
            delay_before_retry 3    #重连间隔时间
        }
    }

    real_server 192.168.1.12 80 {
            weight 1
        TCP_CHECK {
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }
}

重启keepalived服务

修改后拷贝至从服务端

#scp keepalived.conf aaa@qq.com:/etc/keepalived

从服务端进入配置文件修改
将MASTER改为BACKUP 优先级改为99. 之后重启keepalived服务

RS端下载apache

#yum -y install httpd

分别在RE端准备测试界面

#echo 'this is RS1' > /var/www/html/index.html
#echo 'this is RS2' > /var/www/html/index.html

arp抑制

#ansible chen -m shell -a 'bash lvs.sh'    chen分组里面是RS IP

或者在各自RS端运行以下文件,文件内容如下

#!/bin/bash
echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2">/proc/sys/net/ipv4/conf/lo/arp_announce
echo "2">/proc/sys/net/ipv4/conf/all/arp_announce

最后进行测试,windows界面进入命令界面,为如下
高可用集群Keepalied + LVS

之后关闭主服务器。再进行测试
高可用集群Keepalied + LVS

相关标签: keepalived