高可用MySQL

一、什么是高可用

“高可用性”(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。

在信息技术领域,高可靠性(high availability)指的是运行时间能够满足预计时间的一个系统或组件。可靠性可以用“100%可操作性”或者“从未失败”这两种标准来表示。一个被广泛应用但却难以达到的标准是著名的“5个9标准”,就是说工作的可靠性要达到99.999%。

二、如何保障系统的高可用

我们都知道,单点是系统高可用的大敌,单点往往是系统高可用最大的风险和敌人,应该尽量在系统设计的过程中避免单点。方法论上,高可用保证的原则是“集群化”,或者叫“冗余”:只有一个单点,挂了服务会受影响;如果有冗余备份,挂了还有其他backup能够顶上。

保证系统高可用,架构设计的核心准则是:冗余。

有了冗余之后,还不够,每次出现故障需要人工介入恢复势必会增加系统的不可服务实践。所以,又往往是通过“自动故障转移”来实现系统的高可用。

接下来我们看下典型互联网架构中,如何通过冗余+自动故障转移来保证系统的高可用特性。

三、高可用mysql一般架构


安装keepalived 并准备环境

四、安装keepalived 并准备环境

1.安装keepalived并启动

      命令:yum -y  install keepalived

      启动命令:service keepalived start / systemctl start keepalived

2.安装mysql并启动

      命令:yum -y install mysqld-server / mariadb-server

      启动命令:service mysqld start / systemctl start mariadb

五、配置

! Configuration File for keepalived

global_defs {

  notification_email {

    [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 {

    state MASTER     #主从身份 从上是BACKUP

    interface eth0    #绑定网卡 (本机网卡名)

    virtual_router_id 51 # vrrp广播路由id  (一组高可用架构的id要一致)

    priority 100       # 权值

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.189.250     #声明vip

    }

}

virtual_server 192.168.189.250 3306 {    #配置vip

    delay_loop 6

    nat_mask 255.255.255.0

    protocol TCP

    real_server 192.168.189.187 3306 {  #真实IP地址

        weight 1

       notify_down /root/stop.sh  #如果检测不到端口 则执行这行命令

        TCP_CHECK {

            connect_port 3306  #检测端口

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }

    }

}

启动服务就好了

ps:停止keepalived服务脚本

#!/bin/bash

service keepalived stop

#所在路径 /root/stop.sh 并添加权限755

你可能感兴趣的:(高可用MySQL)