1. 程式人生 > >Haproxy + Pacemaker 實現高可用負載均衡(二)

Haproxy + Pacemaker 實現高可用負載均衡(二)

Pacemaker

  • server1 和 server2 均安裝pacemaker 和 corosync

server1 和 server2 作相同配置

[root@server1 ~]# yum install -y pacemaker corosync
[root@server1 ~]# cp /etc/corosync/corosync.conf.example /etc/corosync/corosync.conf
[root@server1 ~]# vim /etc/corosync/corosync.conf
 34 service {
 35         name: pacemaker
 36
ver: 0 37 } 8 yum install -y pacemaker corosync 9 cp /etc/corosync/corosync.conf.example /etc/corosync/corosync.conf 10 vim /etc/corosync/corosync.conf # Please read the corosync.conf.5 manual page compatibility: whitetank totem { version: 2 secauth: off threads: 0 interface { ringnumber
: 0 bindnetaddr: 172.25.54.0 mcastaddr: 226.94.1.54 mcastport: 5405 ttl: 1 } } logging { fileline: off to_stderr: no to_logfile: yes to_syslog: yes logfile: /var/log/cluster/corosync.log debug: off timestamp: on logger_subsys { subsys
: AMF debug: off } } amf { mode: disabled } service { name: pacemaker ver: 0 }

[[email protected] ~]# yum install -y crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-2.1.x86_64.rpm

[[email protected] ~]# crm      //進入管理介面
crm(live)# configure 
crm(live)configure# show    //檢視預設配置
node server1
node server2
property $id="cib-bootstrap-options" \
    dc-version="1.1.10-14.el6-368c726" \
    cluster-infrastructure="classic openais (with plugin)" \
    expected-quorum-votes="2"
crm(live)configure# 

在另一臺伺服器上我們也可以實施監控檢視
Server2:
[[email protected] ~]# crm_mon   //調出監控
Last updated: Sat Aug  4 15:07:13 2018
Last change: Sat Aug  4 15:00:04 2018 via crmd on server1
Stack: classic openais (with plugin)
Current DC: server1 - partition with quorum
Version: 1.1.10-14.el6-368c726
2 Nodes configured, 2 expected votes
0 Resources configured
//ctrl+c退出監控

server1
crm(live)configure# property stonith-enabled=false  //禁掉fence
crm(live)configure# commit   //儲存

注意:每次修改完策略都必須儲存一下,否則不生效

server2
Last updated: Sat Aug  4 15:09:55 2018
Last change: Sat Aug  4 15:09:27 2018 via cibadmin on server1
Stack: classic openais (with plugin)
Current DC: server1 - partition with quorum
Version: 1.1.10-14.el6-368c726
2 Nodes configured, 2 expected votes
0 Resources configured

Online: [ server1 server2 ]

[[email protected] rpmbuild]# crm_verify -VL //檢查語法

  • 新增VIP
crm(live)configure# primitive vip ocf:heartbeat:IPaddr2 params ip=172.25.54.100 cidr_netmask=24 op monitor interval=1min
crm(live)configure# commit

[root@server1 ~]# /etc/init.d/corosync stop
Signaling Corosync Cluster Engine (corosync) to terminate: [  OK  ]
Waiting for corosync services to unload:..                 [  OK  ]
[root@server1 ~]# 

這裡寫圖片描述

[root@server1 ~]# /etc/init.d/corosync start
Starting Corosync Cluster Engine (corosync):               [  OK  ]
[root@server1 ~]#

這裡寫圖片描述

[root@server1 ~]# crm
crm(live)# configure 
crm(live)configure# show 
node server1
node server2
primitive vip ocf:heartbeat:IPaddr2 \
    params ip="172.25.54.100" cidr_netmask="24" \
    op monitor interval="1min"
property $id="cib-bootstrap-options" \
    dc-version="1.1.10-14.el6-368c726" \
    cluster-infrastructure="classic openais (with plugin)" \
    expected-quorum-votes="2" \
    stonith-enabled="false"
crm(live)configure# property no-quorum-policy=ignore  ##設定為ignore做實驗,這時即使一個節點掛掉了,另一個節點也會正常工作
crm(live)configure# commit
crm(live)configure# bye
bye
[root@server1 ~]#
[root@server1 ~]# /etc/init.d/corosync stop
Signaling Corosync Cluster Engine (corosync) to terminate: [  OK  ]
Waiting for corosync services to unload:.                  [  OK  ]
[root@server1 ~]# 

這裡寫圖片描述

[root@server1 ~]# /etc/init.d/corosync start
Starting Corosync Cluster Engine (corosync):               [  OK  ]
[root@server1 ~]# 

這裡寫圖片描述

[root@server1 ~]# crm
crm(live)# configure 
crm(live)configure# primitive haproxy lsb:haproxy op monitor interval=1min
crm(live)configure# commit
crm(live)configure#

這裡寫圖片描述

crm(live)configure# group hagroup vip haproxy   //建立叢集
crm(live)configure# commit
crm(live)configure#

這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

[[email protected] ~]# crm configure show
node server1
node server2 \
    attributes standby="off"
primitive haproxy lsb:haproxy \
    op monitor interval="1min"
primitive vip ocf:heartbeat:IPaddr2 \
    params ip="172.25.54.100" cidr_netmask="24" \
    op monitor interval="1min"
group hagroup vip haproxy
property $id="cib-bootstrap-options" \
    dc-version="1.1.10-14.el6-368c726" \
    cluster-infrastructure="classic openais (with plugin)" \
    expected-quorum-votes="2" \
    stonith-enabled="false" \
    no-quorum-policy="ignore"

刪除資源時,要到resource層下檢視該資源是否在工作,若在工作,停掉資源,再到configure層刪除

Fence

  • server1 和 server2
    yum install fence-virt-0.2.3-15.el6.x86_64 -y
[root@server1 ~]# ll /etc/cluster/
total 4
-rw-r--r-- 1 root root 128 Aug  4 16:18 fence_xvm.key
[root@server1 ~]#
[root@server2 ~]# ll /etc/cluster/
total 4
-rw-r--r-- 1 root root 128 Aug  4 16:20 fence_xvm.key
[root@server2 ~]# crm
crm(live)# configure 
crm(live)configure# property stonith-enabled=true   //啟用fence
crm(live)configure# primitive vmfence stonith:fence_xvm params pcmk_host_map="server1:vm1;server2:vm2" op monitor interval=1min
crm(live)configure# commit 
crm(live)configure# bye
bye
[root@server2 ~]# 

這裡寫圖片描述
這裡寫圖片描述
[[email protected] ~]# [[email protected] ~]# echo c >/proc/sysrq-trigger //核心崩潰

這裡寫圖片描述
此時server2會自動接替server1的工作,而server1則會後臺自動重啟
待server1重啟成功後,再重啟corosync服務

這裡寫圖片描述
這裡寫圖片描述

相關推薦

Haproxy + Pacemaker 實現可用負載均衡

Pacemaker server1 和 server2 均安裝pacemaker 和 corosync server1 和 server2 作相同配置 [root@server1 ~]# yum install -y pacemaker coros

【Linux】LVS+Keepalived實現可用負載均衡Web群集

一、Keepalived概述 keepalived是一個類似於layer3,4,5交換機制的軟體,也就是我們平時說的第3層、第4層和第5層交換。Keepalived的作用是檢測web伺服器的狀態,

併發負載均衡——Nginx 和LVS

 在上一篇部落格中介紹到實現負載均衡主要可以通過軟、硬體兩個方面進行,例如硬體上購買RadWare等硬體裝置,或者通過軟體策略實現負載均衡。軟體策略上使用廣泛有Nginx 和LVS 在介紹兩款工

HAProxy+Varnish+LNMP實現可用負載均衡動靜分離集群部署

else 應用服務器 bash == 開機啟動 多少 heal 啟用 4.0 轉自http://bbs.hfteams.com/forum.php?mod=viewthread&tid=11&extra=page%3D1 HAProxy+Varnish+LN

docker下用keepalived+Haproxy實現可用負載均衡叢集

先記錄下遇到的坑,避免之後忘了; 花時間最多去解決的一個題是:在docker下啟動haproxy服務後在這個docker服務內安裝keepalived無法ping通的問題,雖然最後也是莫名其妙就好了,但是加強了不少對docker的理解和還需深入學習的地方。 為什麼要用

Keepalived+Nginx實現可用負載均衡集群

連接 靜態 adf -1 rip mail fff hostname dex 一 環境介紹 1.操作系統CentOS Linux release 7.2.1511 (Core) 2.服務keepalived+lvs雙主高可用負載均衡集群及LAMP應用keepalived-1

LVS+Keepalived實現可用負載均衡

lvs+keepalived 高可用 負載均衡 用LVS+Keepalived實現高可用負載均衡,簡單來說就是由LVS提供負載均衡,keepalived通過對rs進行健康檢查、對主備機(director)進行故障自動切換,實現高可用。1. LVS NAT模式配置準備三臺服務器,一臺director, 兩

nginx+keepalived實現可用負載均衡

其中 centos7.3 9.png IT 配置文件 bsp 是我 add nginx 環境: centos7.3虛擬機A 10.0.3.46 centos7.3虛擬機B 10.0.3.110 虛擬機A和B都需要安裝nginx和keepalived(過程省略,其中keepa

keepalived+lvs實現可用負載均衡集群

keepalived+lvs實現高可用LVS實戰篇第1章 環境準備1.1 系統環境1.1.1 系統版本[root@lb01 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@lb01 ~]# uname -r 2.6.32-696.el6

nginx+keepalive實現可用負載均衡

keepalived+nginx高可實驗一:實驗環境 主nginx負載均衡器:192.168.10.63 (通過keepalived配置了VIP:192.168.10.188供外使用)副nginx負載均衡器:192.168.10.200(通過keepalived配置了VIP:192.168.10.188供外

LVS+Keepalived 實現可用負載均衡叢集

LVS+Keepalived  實現高可用負載均衡叢集     隨著網站業務量的增長,網站的伺服器壓力越來越大?需要負載均衡方案!商業的硬體如 F5 ,Array又太貴,你們又是創業型互聯公司如何有效節約成本,節省不必要的浪費?同時還需要實現商業硬體一樣的高效能高可

LVS-DR+keepalived實現可用負載均衡

介紹 LVS是Linux Virtual Server的簡寫,意即Linux虛擬伺服器,是一個虛擬的伺服器集群系統。本專案在1998年5月由章文嵩博士成立,是中國國內最早出現的自由軟體專案之一。 Keepalived 主要用作RealServer的健康狀態檢查以及Load

centos7.2 MYSQL雙主+半同步+keepalived實現可用負載均衡

這兩天瞭解了一下mysql的叢集方案,發現有很多解決方案,有複雜的也有簡單的,有興趣的參考下面網址:http://www.cnblogs.com/Kellana/p/6738739.html 這裡,我使用中小企業最常用也是較簡單的方案,用keepalived提供一個vip(

利用lvs+keepalived實現可用負載均衡環境的部署

http://wangwq.blog.51cto.com/8711737/1852212 ,執行即可(注意指令碼的VIP,不同的realserver對應不同的VIP) 1 2 3 4 5 6

RHCS套件+Nginx實現可用負載均衡

紅帽叢集套件(RedHat Cluter Suite, RHCS)是一套綜合的軟體元件,可以通過在部署時採用不同的配置,以滿足你對高可用性,負載均衡,可擴充套件性,檔案共享和節約成本的需要。 它提供有如下兩種不同型別的叢集:  1、高可用性:應用/服務故障切換-通過建立n

利用saltstack自動化運維工具結合keepalived實現可用負載均衡

在上次實驗“saltstsck自動化運維工具實現負載均衡”的基礎上,也就是在server3端配置實現server4端的httpd和server5端的nginx負載均衡,繼續進行操作實現高可用: (本文所有主機ip均為172.25.17網段,主機名和ip相對應。

keepalived+httpd+tomcat實現可用負載均衡

一、環境 centos 6.5 keepalived keepalived-1.2.19.tar.gz httpd httpd-2.4.12.tar.gz tomcat apache-tomcat-7.0.63.tar.gz 二、部署 安裝 http

LVS+Keepalived 實現可用負載均衡

## 前言 在業務量達到一定量的時候,往往單機的服務是會出現瓶頸的。此時最常見的方式就是通過負載均衡來進行橫向擴充套件。其中我們最常用的軟體就是 Nginx。通過其反向代理的能力能夠輕鬆實現負載均衡,當有服務出現異常,也能夠自動剔除。但是負載均衡服務自身也可能出現故障,因此需要引入其他的軟體來實現負載均衡服

併發負載均衡——企業架構分析和DNS

最近研究了幾個關於阿里研究院對於高併發的解決方案,總結一下,漲漲姿勢。 企業級web專案架構圖   1、客戶端通過企業防火牆傳送請求 2、在App伺服器如tomcat接收客戶端請求前,面對高併發大資料量訪問的企業架構,會通過加入負載均衡主備伺服器將請求進行轉發到不

windows下通過nginx實現tomcat叢集負載均衡入門

一、目標 Windows下,下載安裝nginx Nginx常用命令 Nginx負載均衡兩個tomcat Nginx配置多個負載均衡服務 二、下載安裝nginx 下載地址http://nginx.org/en/download.html 版本nginx-1.