1.8.2 linux和高并发-keepalived和单点故障-keepalived安装和实验

目录

1.写在前面

2.keepalived的安装和配置文件说明

2.1 安装概述

2.2 keepalived配置文件说明

3.安装细节      

3.1 node01使用yum安装keepalived

3.2 开启一个node04做为LVS服务器

3.3 node01中修改 keepalived配置文件

3.4 node04修改keepalived配置文件

3.5 node01中启动keepalived

3.6 客户端验证

3.7 启动node04中keepalived服务

3.8 模拟node01中LVS挂掉,node04中LVS接管服务

3.9 模拟keepalived异常退出


1.写在前面

        因为我们之前是手动搭建的LVS模块,现在我们需要将node1中都删掉,这个动作,后面我们是由keepalived的配置文件搭建的。(只需要重启机器即可清除,或者使用ipvsadm命令)

        清除掉子接口eth0:2

        并且我们的两个RS服务器均配置好了隐藏vip,通告响应级别也调整好了,httpd也已经启动了,这两个RS我们不需要处理,今天主要是扩展一个LVS服务器,使用keepalived调节,实现负载均衡。

2.keepalived的安装和配置文件说明

2.1 安装概述

        keepalived是用户空间的一个程序,这个程序会在主LVS上面启动一个,备用LVS上面启动一个。LVS就是一个转发中心,没有心跳健康检查的能力,需要借助keepalived,也就说每台服务器自己的keepalived为自己的LVS做检查,其中第一条keepalived配置成主LVS,向外广播自己还活着的消息,这个功能是有keepalived实现的,并不是LVS上实现的。当主LVS挂掉之后,备LVS会接管,当主LVS修复之后,会重新成为管理,所以我们一般备用服务器配置不如主LVS。

2.2 keepalived配置文件说明

[root@lb01 keepalived]# man keepalived.conf -配置文件说明信息
配置文件结构:
GLOBAL CONFIGURATION  --- 全局配置
VRRPD CONFIGURATION   --- vrrp配置
LVS CONFIGURATION     --- LVS服务相关配置

[root@lb01 keepalived]# cat keepalived.conf 
! Configuration File for keepalived      ---注释内容,说明此文件为keepalived配置文件

global_defs { ------全局配置
   notification_email { -------定义服务故障报警email地址信息,当服务发生切换或RS节点发生故障时,发送报警邮件
     [email protected]
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]  --定义报警邮件地址
   smtp_server 192.168.200.1  --- 定义发送报警邮箱服务器信息
   smtp_connect_timeout 30    --- 定义发送报警邮件连接服务器超时时间
   router_id LVS_DEVEL        --- 定义路由标识信息,相同局域网唯一
}

vrrp_instance VI_1 {  ---- 定义keepalived实例信息,主备节点实例标识相同
    state MASTER  ---- 定义实例中的主备状态角色(MASTER/BACKUP)
    interface eth0  --- 设置主备服务器虚IP地址放置网卡位置
    virtual_router_id 51 --- 虚拟路由ID标识,不同实例不同ID,主备相同
    priority 100       --- 设置抢占优先级,优先级高为主,优先级低为备
    advert_int 1       --- 主备间通讯间隔
    authentication {   --- 主备间通过认证建立连接
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress { --- 定义主备服务器之间的虚IP地址信息
        192.168.200.16
        192.168.200.17
        192.168.200.18
    }
}

3.安装细节      

3.1 node01使用yum安装keepalived

        在/etc/keepalived中我们可以找到keepalived的配置文件:keepalived.conf文件,我们暂且将其拷贝一份做一个副本。当我们修改配置文件如果改错了,删掉,直接用备份文件就行。

3.2 开启一个node04做为LVS服务器

        使用yum安装keepalived和ipvsadm,ipvsadm可以查询负载情况。

3.3 node01中修改 keepalived配置文件

        修改主配服务器虚拟IP信息:

        修改虚拟服务器信息:

        node01中保存keepalived的配置文件。

3.4 node04修改keepalived配置文件

        可以直接从node01中拷贝过来,然后进行修改即可。

        修改决策状态为BACKUP,并且修改优先级,需要小于主LVS中的优先级,其余一致。

3.5 node01中启动keepalived

        我们会看到接口出现了eth0:3,查看ipvsadm(ipvsadm是linux下的LVS虚拟服务器的管理工具,LVS工作于内核空间,而ipvsadm则提供了用户空间的接口;)

        我们看到RS只出现了一个,是因为我们把node03服务给关闭了,我们重新启动一下就好了:

        因为健康检查会有一个延迟,所以我们等一会儿,重新查看ipvsadm -ln命令,可以看到:

3.6 客户端验证

        9.12和9.13来回提供服务:

3.7 启动node04中keepalived服务

 

        当node01中LVS挂掉,node04会接管服务。

3.8 模拟node01中LVS挂掉,node04中LVS接管服务

        我们可以将node01中网卡全部禁掉,不能通信。

        备用LVS机器,接口会增加eth0:3

        但是无论后台服务器怎么变,对于客户端还是一样的,客户端还是显示由9.12和9.13两台RS提供服务。

        node01,经过运维修复,抢回管理,获得eth0:3接口,备LVS服务器中该eth0:3接口自动卸载。

3.9 模拟keepalived异常退出

        keepalived是用户程序,避免不了异常退出。我们先查看一下相关进程:

        我们杀死这三个进程,这个时候我们node01上面就没有这个keepalived进程了。

        查看接口,这个时候eth0:3接口因为异常退出,来不及卸载该接口,来不及清理内核模块配置。

        查看node04,发现已经配上了ip,出现了eth0:3接口:

        这个地方有一个小bug,互联网中有两台设备,有同一个ip地址,是一件非常危险的事情。因为我们的机器在同一个网段,演示不出来效果。我们要求互联网中ip地址不能重复,我们后面用zookeeper可以解决这个问题。

猜你喜欢

转载自blog.csdn.net/Suyebiubiu/article/details/107738370
今日推荐