MySQL集羣——Keepalived實現雙機熱備

上一章

 

上一章 已經說明 如何安裝Haproxy

首先運行 Haproxy

docker run -it -d -p 4001:8888 -p 4002:3306 -v /home/soft/haproxy:/usr/local/etc/haproxy --name h1 --privileged --net=net1 --ip 172.18.0.7 haproxy

docker exec -it h1 bash #進入容器

haproxy -f /usr/local/etc/haproxy/haproxy.cfg  #加載配置

docker run -it -d -p 4003:8888 -p 4004:3306 -v /home/soft/haproxy:/usr/local/etc/haproxy --name h2 --privileged --net=net1 --ip 172.18.0.8 haproxy


docker exec -it h1 bash #進入容器


haproxy -f /usr/local/etc/haproxy/haproxy.cfg

 

然後進入容器

Haproxy容器內安裝Keepalived,設置虛擬IP

#進入h1容器
docker exec -it h1 bash
#更新軟件包
apt-get update
#安裝VIM
apt-get install vim
#安裝Keepalived
apt-get install keepalived
#編輯Keepalived配置文件(參考下方配置文件)
vim /etc/keepalived/keepalived.conf
#啓動Keepalived
service keepalived start
#宿主機執行ping命令
ping 172.18.0.201

然後進入 容器h2 一樣的操作

 

配置文件

vrrp_instance  VI_1 {
        state  MASTER
        interface  eth0
        virtual_router_id  51
        priority  100
        advert_int  1
        authentication {
            auth_type  PASS
            auth_pass  123456
        }
        virtual_ipaddress {
            172.18.0.201
        }
    }

宿主機執行安裝Keepalived 

yum -y install keepalived

#修改Keepalived配置文件
vi /etc/keepalived/keepalived.conf

啓動Keepalived
service keepalived start

配置文件

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
       	192.168.2.200 #這裏的ip 是對應自己的服務器ip 字段 我的是192.168.2.111 所有都需要在192.168.2中
    }
}


virtual_server 192.168.2.200 8888 {
    delay_loop 3
    lb_algo rr 
    lb_kind NAT
    persistence_timeout 50
    protocol TCP

    real_server 172.18.0.201 8888 {
        weight 1
    }
}


virtual_server 192.168.2.200 3306 {
    delay_loop 3
    lb_algo rr 
    lb_kind NAT
    persistence_timeout 50
    protocol TCP

    real_server 172.18.0.201 3306 {
        weight 1
    }
}

 

訪問http://192.168.2.200:8888/dbs

如果訪問不了 因爲他是vrr協議 關閉防火牆

systemctl stop firewalld.service

發佈了126 篇原創文章 · 獲贊 27 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章