HA(High available)-Keepalived高可用性集群(双机热备)单点实验-菜鸟入门级

HA(High available)-Keepalived高可用性集群

 

Keepalived 是一个基于VRRP虚拟路由冗余协议来实现的WEB 服务高可用方案,虚拟路由冗余协议 (Virtual Router Redundancy Protocol,简称VRRP),类似于工作在3,4,5层的交换机软件。利用其来避免单点故障。即:检测web服务状态。一个WEB服务至少会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服 务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候, 备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。



keepalived和heartbeat区别

 

Keepalived使用的vrrp协议方式,虚拟路由冗余协议 (Virtual Router Redundancy Protocol,简称VRRP);

Heartbeat是基于主机或网络服务的高可用方式;

keepalived的目的是模拟路由器的双机[前端]

heartbeat的目的是用户service的双机[服务]

lvs的高可用建议用keepavlived

业务的高可用用heartbeat



VRRP中有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。

VRRP路由器是指运行VRRP的路由器,是物理实体,虚拟路由器是指VRRP协议创建的,是逻辑概念。一组VRRP路由器协同工作,共同构成一台虚拟路由器。 Vrrp中存在着一种选举机制,用以选出提供服务的路由即主控路由,其他的则成了备份路由。当主控路由失效后,备份路由中会重新选举出一个主控路由,来继续工作,来保障不间断服务。
测试环境如下
两台物理服务器和一个虚拟服务器(vip):
master:redhat 6.5 eth1  192.168.1.105
backup: redhat 6.5 eth1  192.168.1.106
vip: 192.168.1.100



测试环境的网络图如下:

+---------------------------VIP(192.168.1.100)----------------------+  

|                                                                                              |

|                                                                                              |

Server[master]<----------------keppalived------------------>server[BACKUP]

 eth0:192.168.1.105                                                      eth0:192.168.1.106



节点A 192.168.1.105(主节点), 节点B 192.168.1.106(备用节点),虚拟IP(对外提供服务的IP 192.168.1.100)
在这种模式下,虚拟IP在某时刻只能属于某一个节点,另一个节点作为备用节点存在。
当主节点不可用时,备用节点接管虚拟IP(即虚拟IP漂移至节点B),提供正常服务。
keepalived的原理可以这样简单理解:
keepalived安装在两台物理服务器上,并相互监控对方是否在正常运行。
当节点A正常的时候:节点A上的keepalived会将下面的信息广播出去:
192.168.1.100 这个IP对应的MAC地址为节点A网卡的MAC地址
图中的其它电脑如客户端和NodeB会更新自己的ARP表,对应192.168.8.100的MAC地址=节点A网卡的MAC地址。
当节点A发生故障的时候,节点B上的keepalived会检测到,并且将下面的信息广播出去:
192.168.1.100 这个IP对应的MAC地址为节点B网卡的MAC地址
图中的其它电脑如客户端会更新自己的ARP表,对应192.168.1.100的MAC地址=节点B网卡的MAC地址。



配置如下:

>/etc/keepalived/keepalived.conf 清除原配置文件内容。

vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

notification_email {

[email protected]

}

notification_email_from [email protected]

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id wyl01

}

vrrp_instance VI_1 {

state MASTER

interface eth0

virtual_router_id 55

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.1.100/24 dev eth0 label eth0:1

}

}

保存退出。



配置备节点,主备节点配置大致相同,只需更改:

router_id wyl01

state MASTER

priority 100

为:

router_id wyl02

state BACKUP

priority 99

保存即可。



说明:

! Configuration File for keepalived

global_defs {

   notification_email {

     [email protected]

   }

   notification_email_from [email protected]

   smtp_server 127.0.0.1

   smtp_connect_timeout 30

   router_id wyl01   id为wyl01必须唯一,不同的keepalived.conf此处的ID必须唯一

}

vrrp_instance VI_1 {  实例名为VI_1,相同实例的备节点要和这个名字相同。

state MASTER  节点状态为MASTER 备节点状态应该为BACKUP

    interface eth0 通讯接口为eth0

    virtual_router_id 55  实例ID为55 keepalived.conf 里唯一。

    priority 100  优先级为100,备节点的优先级必须比这个低

    advert_int 1    通讯检查时间间隔为1s

    authentication {

        auth_type PASS  PASS为认证类型,此参数主备节点必须相同

        auth_pass 1111  密码1111 准备节点必须相同

    }

    virtual_ipaddress {

                192.168.1.100/24 dev eth0 label eth0:1

    }

}

虚拟ip即vip为192.168.1.100,子网掩码为24,绑定接口为eth0 别名为eth0:1 次参数准备节点相同



启用服务主备keepalived ,和nginx :

/etc/init.d/keepalived start

service nginx start

查看备节点ip :ip arrd |grep eth0:1

显示有记录,查看备节点显示无此记录

如果备节点中出现eth0:1说明keepalived 配置不正常。高可用裂脑了,可逐步排除。

浏览器访问192.168.1.100 显示正常。



测试主备切换

停到主节点,理论:切换到备服务

service keepalived stop

查看备节点ip :ip addr |grep eth0:1

备节点显示正常,浏览器测试:ok



测试2

重新开启主节点 理论:备接节点vip失效,主节点重新接管。

service keepalived start

查看主节点ip 浏览器访问

显示正常。

查看备节点ip

ip显示正常。

Keepalived 主备单实例实验完结。

时间: 2024-08-07 00:06:34

HA(High available)-Keepalived高可用性集群(双机热备)单点实验-菜鸟入门级的相关文章

ansible-playbook自动化安装Keepalived实现Nginx服务双机热备自动化配置

脚本实现通过ansible-playbook自动化安装Keepalived和配置,主要解决问题如下: Keepalived自动化安装: keepalived_vrid配置,自动根据vip获取最后一段作为vrid,确保同一网段不会出现vrid冲突导致HA切换失败的问题: 自动配置Keepalived: HA检测脚本自定义,根据脚本内容,来做redis或nginx或其他软件的双机热备: 自动配置vip给Keepalived 设置Keepalived开机启动,加入系统服务: Keepalived安装脚

快速了解单点、集群、热备、RAID技术

单机部署(stand-alone):只有一个饮水机提供服务,服务只部署一份 集群部署(cluster):有多个饮水机同时提供服务,服务冗余部署,每个冗余的服务都对外提供服务,一个服务挂掉时依然可用 热备部署(hot-swap):只有一个桶提供服务,另一个桶stand-by,在水用完时自动热替换,服务冗余部署,只有一个主服务对外提供服务,影子服务在主服务挂掉时顶上 磁盘阵列RAID(Redundant Arrays of independent Disks) RAID0:存储性能高的磁盘阵列,又称

keepalived+LVS 实现双机热备、负载均衡、失效转移 高性能 高可用 高伸缩性 服务器集群

本章笔者亲自动手,使用LVS技术实现实现一个可以支持庞大访问量.高可用性.高伸缩性的服务器集群 在读本章之前,可能有不少读者尚未使用该技术,或者部分读者使用Nginx实现应用层的负载均衡.这里大家都可以阅读本章,即使部分读者使用Nginx负载均衡,但是在大流量下性能相对于工作在链路层的LVS真是不能同日而语,并且LVS不仅可以实现WEB方面的负载均衡,其他诸如数据库.FTP.Mail等都可以实现. 通常对于小型网站,很多都使用单台服务器,顶多在弄个缓存服务器.数据库服务器.但是一旦流量上来,单台

VMware vSphere 5.0高可用性和双机热备

高可用性和双机热备是VMware vSphere 5.0最重要的一部分,高可用性并不是vSphere独有的,企业使用高可用性就是为了服务的连续性和数据的安全性.HA(High Availability)是以一群ESXi服务器为主的群集功能,主要目的是当虚拟机运行的主机发生故障时能及时转移主机,避免长时间的停机.而FT(Fault Tolerance)双机热备则是保障虚拟机最长时间不停机,将虚拟机以双机热备的方式同时在两台主机这样运行,这样可以大大增强业务的可连续性.本章将本别解释HA的高可用性和

实现keepalived + tomcat 双机热备

1.安装keepalived 我这里是给予keepalived+mysql 主主双机热备基础上做的 global_defs { router_id HA_MySQL } vrrp_instance VI_1 { state BACKUP interface bond0 virtual_router_id 51 priority 100 advert_int 1 nopreempt authentication { auth_type PASS auth_pass 1111 } virtual_i

两台linux完美实现双机热备【来源网络尚未实践】

[来源:http://rainbird.blog.51cto.com/211214/225541/] 一直想做基于linux的双机热备,一直没有时间和机会.一直以为只要做双机热备的实验就必须两台机器外接一个存储.甚至一个月以前在学习keepalived的时候还在琢磨keepalvied去掉哪些条件可以实现双机热备.直到一个月以前设计存储方案的时候部门老大给了一个国外的链接介绍drbd+nfs实现nfs的热备方案的时候,我的眼前一亮,这不就是我一直想做的不依靠存储实现热备的解决方案吗? 先来纠正一

oracle 双机热备,oracle dataguard 和oracle rac的区别和联系(转)

Data Guard 是Oracle的远程复制技术,它有物理和逻辑之分,但是总的来说,它需要在异地有一套独立的系统,这是两套硬件配置可以不同的系统,但是这两套系统的软件结构保持一致,包括软件的版本,目录存储结构,以及数据的同步(其实也不是实时同步的),这两套系统之间只要网络是通的就可以了,是一种异地容灾的解决方案.而对于RAC,则是本地的高可用集群,每个节点用来分担不用或相同的应用,以解决运算效率低下,单节点故障这样的问题,它是几台硬件相同或不相同的服务器,加一个SAN(共享的存储区域)来构成的

HA-集群(High available)高可用性集群(双机热备)菜鸟入门级

HA(High available)高可用性集群(双机热备)   1.理解:两台服务器A和B ,当A提供服务,B闲置待命,当A服务宕机,会自动切换至B机器继续提供服务.当主机恢复正常后,按照使用者设定的自动或手动切换到主机上运行,数据一致性通过共享存储系统解决. 2.实现该功能的软件有:Heartbeat , keepalived(具有负载均衡的能力) 3.结构图 HA-Heartbeat 实验:以hearbeat为例,来做HA集群,并把nginx服务作为HA对应的服务 关闭防火墙:iptabl

HA高可用集群部署(ricci+luci+fence) 双机热备

主机环境 redhat6.5 6位 实验环境 服务端1 ip172.25.29.1   主机名:server1.example.com   ricci     服务端2 ip172.25.29.2    主机名:server2.example.com    ricci     管理端1 ip172.25.29.3    主机名:server3.example.com    luci     管理端2 ip172.25.29.250     fence_virtd 防火墙状态:关闭 1. 安装ri