MySQL数据安全常用解决方案
MySQLMySQL 数据安全常用解决方案数据安全常用解决方案 一、一、 MySQLMySQL 高可用工具高可用工具 1)1) Keepalived / HeartbeatKeepalived / Heartbeat 1 1、、keepalivedkeepalived是什么?是什么? Keepalived 软件起初是专为 LVS 负载均衡软件设计的,用来管理并监控LVS 集群系统 中各个服务节点的状态,后来又加入了可以实现高可用的VRRP 功能。因此,Keepalived 除 了能够管理 LVS 软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL 等)的高可 用解决方案软件。 Keepalived 软件主要是通过 VRRP 协议实现高可用功能的。VRRP 是 Virtual Router RedundancyProtocol(虚拟路由器冗余协议)的缩写, VRRP 出现的目的就是为了解决静态路 由单点故障问题的,它能够保证当个别节点宕机时,整个网络可以不间断地运行。 所以,Keepalived 一方面具有配置管理 LVS 的功能,同时还具有对LVS 下面节点进行 健康检查的功能,另一方面也可实现系统网络服务的高可用功能。 keepalived 官网 http://www.keepalived.org 2 2、、keepalivedkeepalived服务的三个重要功能服务的三个重要功能 1.管理 LVS负载均衡软件 2.实现 LVS集群节点的健康检查中 3.作为系统网络服务的高可用性(failover) 3 3、、KeepalivedKeepalived高可用故障切换转移原理高可用故障切换转移原理 Keepalived 高可用服务对之间的故障切换转移,是通过 VRRP (Virtual Router Redundancy Protocol ,虚拟路由器冗余协议)来实现的。 在 Keepalived 服务正常工作时, 主 Master 节点会不断地向备节点发送 (多播的方式) 心跳消息,用以告诉备 Backup 节点自己还活看,当主 Master 节点发生故障时,就无法发 送心跳消息,备节点也就因此无法继续检测到来自主 Master 节点的心跳了,于是调用自身 的接管程序, 接管主 Master 节点的 IP 资源及服务。 而当主 Master 节点恢复时, 备 Backup 节点又会释放主节点故障时自身接管的IP 资源及服务,恢复到原来的备用角色。 那么,什么是 VRRP 呢? VRRP ,全 称 Virtual Router Redundancy Protocol ,中文名为虚拟路由冗余协议 , VRRP 的出现就是为了解决静态踣甶的单点故障问题,VRRP 是通过一种竞选机制来将路由的 任务交给某台 VRRP 路由器的。 4 4、、keepalivedkeepalived 原理原理 a)a) keepalivedkeepalived 组件图组件图 keepalived 也是模块化设计,不同模块复杂不同的功能,它主要有三个模块,分别是 core、check 和 VRRP,其中: core 模块:为keepalived 的核心组件,负责主进程的启动、维护以及全局配置文件的 加载和解析; check:负责健康检查,包括常见的各种检查方式; VRRP 模块:是来实现 VRRP 协议的。 system call:系统调用 watch dog:监控 check 和 vrrp 进程的看管者,check 负责检测器子进程的健康状态, 当其检测到 master 上的服务不可用时则通告vrrp 将其转移至 backup 服务器上。 除此之外,keepalived 还有下面两个组件: libipfwc:iptables(ipchains)库,配置 LVS 会用到 libipvs*:配置 LVS 会用到 注意,keepalived 和 LVS 完全是两码事,只不过他们各负其责相互配合而已。 keepalived 正常启动的时候,共启动3 个进程: 一个是父进程, 负责监控其子进程; 一个是 VRRP 子进程, 另外一个是 checkers 子进程; 两个子进程都被系统 watchlog 看管,两个子进程各自负责复杂自己的事。 Healthcheck 子进程检查各自服务器的健康状况, ,例如http,lvs。如果healthchecks 进程检查到 master 上服务不可用了,就会通知本机上的 VRRP 子进程,让他删除通告,并且 去掉虚拟 IP,转换为 BACKUP 状态。 b)b) keepalivedkeepalived 高可用架构示意图高可用架构示意图 Keepalived 主要用作 RealServer 的健康状态检查以及LoadBalance 主机和 BackUP 主 机之间 failover 的实现。Keepalived 的作用是检测 web 服务器的状态,如果有一台web 服 务器死机,或工作出现故障,Keepalived 将检测到,并将有故障的web 服务器从系统中剔 除,当 web 服务器工作正常后 Keepalived 自动将 web 服务器加入到服务器群中,这些工作 全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web 服务器。 c) c) 文字,表述文字,表述 Keepalived 的工作原理: Keepalived 高可用对之间是通过VRRP 通信的,因此,我们从 VRRP 开始了解起: 1) VRRP,全称 Virtual Router Redundancy Protocol,中文名为虚拟路由冗余协议, VRRP 的出现是为了解决静态路由的单点故障。 2) VRRP 是通过一种竟选协议机制来将路由任务交给某台 VRRP 路由器的。 3) VRRP 用 IP 多播的方式(默认多播地址(224.0_0.18))实现高可用对之间通信。 4) 工作时主节点发包,备节点接包,当备节点接收不到主节点发的数据包的时候,就 启动接管程序接管主节点的开源。 备节点可以有多个, 通过优先级竞选, 但一般 Keepalived 系统运维工作中都是一对。 5) VRRP 使用了加密协议加密数据,但Keepalived 官方目前还是推荐用明文的方式配 置认证类型和密码。 介绍完 VRRP,接下来我再介绍一下 Keepalived 服务的工作原理: Keepalived 高可用对之间是通过 VRRP 进行通信的, VRRP 是遑过竞选机制来确定主备 的,主的优先级高于备,因此,工作时主会优先获得所有的资源,备节点处于等待状态,当 主挂了的时候,备节点就会接管主节点的资源,然后顶替主节点对外提供服务。 在 Keepalived 服务对之间, 只有作为主的服务器会一直发送 VRRP 广播包,告诉备它还 活着,此时备不会枪占主,当主不可用时,即备监听不到主发送的广播包时,就会启动相关 服务接管资源,保证业务的连续性.接管速度最快可以小于1 秒。 2)2) MHAMHA 1 1、、MMHAHA 介绍介绍 方案介绍: MHA(Master High Availability)是一位日本