[投稿] [MySQLの] + MySQLのマスターマスターモードの可用性を実現しkeepalivedのkeepalivedの

MySQLのkeepalivedの] + [HAは、MySQLマスタマスタモードで実現keepalivedの

HTTPS:// www.jianshu.com/p/8694d07595bc

 

まず、実験は

MySQLのマスター主モードは、二つの相互のMySQLデータベースから主になります。

この実験は、keepalivedの高可用性を持つメインのMySQLマスターモードに基づいて、既にインストールされているMySQLのマスターホスト・アーキテクチャを実現し、その後keepalivedの設定、高可用性を確認することです!

 

 

第二に、実験環境

オペレーティングシステム:CentOSの7.5 

サーバー:192.168.1.104

サーバB:192.168.1.105

VIP:192.168.1.110

第三に、SELinuxを無効にします

#1 setenforce 0

#sedの-iさん/ ^ SELINUX =。* / SELINUX =許容/ G 'の/ etc / selinuxを/ configに

第四に、ファイアウォールの設定

第二の選挙は、iptablesのfirewalld

 

第五に、ソフトウェアのインストール

サーバAとサーバBで

#yumを-y EPEL-リリースをインストールします

#yumの-y keepalivedのインストール

 

第六に、サーバAの構成でkeepalivedの

#Vimの/etc/keepalived/keepalived.conf

###########################################

keepalivedのための設定ファイル

global_defs {

  ROUTER_ID LVS_DEVEL

}

vrrp_instance VI_1 {

    状態のバックアップ

    インタフェースens33

    virtual_router_id 150

    優先順位100

    advert_int 1

    nopreempt

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.1.110/24

    }

}

virtual_server 192.168.1.110 3306 {

    delay_loop 2

    lb_algo rr

    lb_kind DR

    persistence_timeout 50

    protocol TCP

    real_server 192.168.1.104 3306 {

        weight 3

        notify_down /etc/keepalived/restartKeepalived.sh

        TCP_CHECK {

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }

    }

}

###################################################

 

 

# vim /etc/keepalived/restartKeepalived.sh

#################################

#!/bin/bash

systemctl restart keepalived

##################################

 

 

# chmod 700 /etc/keepalived/restartKeepalived.sh

 

七、在serverB配置keepalived

在serveB

# vim  /etc/keepalived/keepalived.conf

###########################################

! Configuration File for keepalived

global_defs {

  router_id LVS_DEVEL

}

vrrp_instance VI_1 {

    state BACKUP

    interface ens33

    virtual_router_id 150

    priority 90

    advert_int 1

    nopreempt

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.1.110/24

    }

}

virtual_server 192.168.1.110 3306 {

    delay_loop 2

    lb_algo rr

    lb_kind DR

    persistence_timeout 50

    protocol TCP

real_server 192.168.1.105 3306 {

        weight 3

 notify_down /etc/keepalived/restartKeepalived.sh

        TCP_CHECK {

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }

    }

}

###################################################

 

 

# vim /etc/keepalived/restartKeepalived.sh

#################################

#!/bin/bash

systemctl restart keepalived

##################################

 

 

# chmod 700 /etc/keepalived/restartKeepalived.sh

八、验证MySQL的高可用性

在serverA 

# ip addr list 

 

 

# systemctl stop mysqld

在serverB

# ip addr list 

 

从上可以看出,关闭serverA上的MySQL,vip成功漂移到了severB,数据库的连接不受影响,实现了一定程度的高可用。

两个注意点:

1. 具体通过vip连接到serverA或者severB 时,服务器上的vip才监听3306端口,无连接时,不监听

 

 

2. vip在serverA时,在severB上无法通过vip连接上数据库,反之亦然

 

 
 

 

九、参考

keepalived + mysql 实现单向备份、故障转移

https://www.jianshu.com/p/35030921dab5

Centos7+Keepalived实现Mariadb(MYSQL)的高可用(HA)

http://blog.51cto.com/gaowenlong/1888036

おすすめ

転載: www.cnblogs.com/jinanxiaolaohu/p/11757890.html