1. 程式人生 > >Pacemaker 實現高可用

Pacemaker 實現高可用

  Red Hat Enterprise Linux 7 使用 Pacemaker 替換 rgmanager 進行叢集資源管理以及從節點失敗中恢復。Pacemaker 的優點包括:
• 資源配置的自動同步和版本管理。
• 靈活的資源和 fencing 模式可與使用者環境更緊密地對應。
• 可使用 fencing 恢復資源層失敗。
• 基於時間的配置選項。
• 在多節點中運行同一資源的能力。例如:網頁伺服器或者叢集檔案系統。
• 在兩個不同模式之一的多個節點中運行同一資源的能力。例如:同步資源和目標。
• Pacemaker 不需要分散式鎖管理程式。
• 仲裁丟失或者形成多個分割槽時的可配置行為。

Pacemaker 配置系統,也稱 pcs,替換了 ccs、ricci 和 luci作為統一的叢集配置和管理工具。pcs 的優點包括:
• 命令列工具。
• 可輕鬆自我啟動叢集,即初始化叢集並使其開始執行。
• 可配置叢集選項。
• 可新增、刪除或者修改資源及其之間的關係。


一、叢集配置

本文采用2臺機器

192.168.122.194

192.168.122.137

關閉防火牆、SELINUX

[[email protected] ~]# systemctl disable firewalld
[[email protected] ~]#systemct stop firewalld
[[email protected] ~]# vim /etc/selinux/config 
SELINUX=disabled
所有節點

修改主機名及時間同步

[[email protected] ~]# hostnamctl set-hostname node1

[[email protected] ~]# yum -y install ntp
[[email protected] ~]# ntpdate cn.pool.ntp.org
實現雙機互信

[[email protected] ~]# ssh-keygen -f /root/.ssh/id_rsa -N ""

[[email protected] ~]# mv /root/.ssh/{id_rsa.pub,authorized_keys}
[[email protected] ~]# scp -r /root/.ssh node2:/root/
[[email protected]
~]# ls /root/.ssh/
authorized_keys  id_rsa  known_hosts
域名解析

[[email protected] ~]# vim /etc/hosts

192.168.122.194 node1
192.168.122.137 node2
安裝軟體包

[[email protected] ~]# yum -y install pcs pacemaker corosync fence-agents-all

[[email protected] ~]# systemctl start pcsd.service && systemctl enable pcsd.servic
[[email protected] ~]# passwd hacluster

任意節點

[[email protected] ~]# pcs cluster auth node1 node2

Username: hacluster
Password: 
node1: Authorized
node2: Authorized

建立叢集

[[email protected] ~]# pcs cluster setup --start --name abel_cluster \
> node1 node2
Destroying cluster on nodes: node1, node2...
node2: Stopping Cluster (pacemaker)...
node1: Stopping Cluster (pacemaker)...
node1: Successfully destroyed cluster
node2: Successfully destroyed cluster


Sending 'pacemaker_remote authkey' to 'node1', 'node2'
node1: successful distribution of the file 'pacemaker_remote authkey'
node2: successful distribution of the file 'pacemaker_remote authkey'
Sending cluster config files to the nodes...
node1: Succeeded
node2: Succeeded


Starting cluster on nodes: node1, node2...
node2: Starting Cluster...
node1: Starting Cluster...


Synchronizing pcsd certificates on nodes node1, node2...
node1: Success
node2: Success
Restarting pcsd on the nodes in order to reload the certificates...
node1: Success
node2: Success
[[email protected] ~]# pcs cluster enable --all
node1: Cluster Enabled
node2: Cluster Enabled

啟動叢集

[[email protected] ~]# pcs cluster start --all
設定開機自啟動

[[email protected] ~]# pcs cluster enable --all

node1: Cluster Enabled
node2: Cluster Enabled
[[email protected] ~]# pcs cluster status
Cluster Status:
 Stack: corosync
 Current DC: node1 (version 1.1.16-12.el7_4.4-94ff4df) - partition with quorum
 Last updated: Wed Nov  8 11:41:06 2017
 Last change: Wed Nov  8 11:40:05 2017 by hacluster via crmd on node1
 2 nodes configured
 0 resources configured


PCSD Status:
  node1: Online
  node2: Online

[[email protected] ~]# corosync-cfgtool -s

Printing ring status.
Local node ID 1
RING ID 0
	id	= 192.168.122.171
	status	= ring 0 active with no faults

[[email protected] ~]# corosync-cmapctl | grep members

runtime.totem.pg.mrp.srp.members.1.config_version (u64) = 0
runtime.totem.pg.mrp.srp.members.1.ip (str) = r(0) ip(192.168.122.171) 
runtime.totem.pg.mrp.srp.members.1.join_count (u32) = 1
runtime.totem.pg.mrp.srp.members.1.status (str) = joined
runtime.totem.pg.mrp.srp.members.2.config_version (u64) = 0
runtime.totem.pg.mrp.srp.members.2.ip (str) = r(0) ip(192.168.122.11) 
runtime.totem.pg.mrp.srp.members.2.join_count (u32) = 1
runtime.totem.pg.mrp.srp.members.2.status (str) = joined

[[email protected] ~]# pcs status corosync 

Membership information
----------------------
    Nodeid      Votes Name
         2          1 node2
         1          1 node1 (local)

如果沒有Fence,建議禁用STONITH

[[email protected] ~]# pcs property set stonith-enabled=false

正常叢集Quorum(法定)需要半數以上的票數,如果是雙節點的叢集

[[email protected] ~]# pcs property set no-quorum-policy=ignore
[[email protected] ~]# crm_verify -L -V

測試

[[email protected] ~]# pcs resource create VirtualIP IPaddr2 ip=192.168.0.99 cidr_netmask=32 nic=eth0 op monitor interval=30s
[[email protected] ~]# pcs resource show
Resource Group: apachegroup
web_lvm	(ocf::heartbeat:LVM):	Stopped
 VirtualIP	(ocf::heartbeat:IPaddr2):	Started node
[[email protected] ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 52:54:a8:ab:a3:c8 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.194/24 brd 192.168.122.255 scope global dynamic eth0
       valid_lft 3111sec preferred_lft 3111sec
    inet 192.168.0.99/32 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:a8ff:feab:a3c8/64 scope link 
       valid_lft forever preferred_lft forever

相關推薦

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

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

Pacemaker 實現可用

  Red Hat Enterprise Linux 7 使用 Pacemaker 替換 rgmanager 進行叢集資源管理以及從節點失敗中恢復。Pacemaker 的優點包括:• 資源配置的自動同步和版本管理。 • 靈活的資源和 fencing 模式可與使用者環境更緊

Corosync+pacemaker+DRBD+mysql(mariadb)實現可用(ha)的mysql集群(centos7)

corosync+pacemaker+drbd+mysql(mariadb)實現高可用(ha)的mysql集群(centos7)Corosync+pacemaker+DRBD+mysql(mariadb)實現高可用(ha)的mysql集群(centos7)目錄:介紹環境借助pcs安裝與配置corosync和p

drbd+mariadb+corosync+pacemaker構建可用實現負載均衡

drbd mysql 高可用DRBD DRBD是由內核模塊和相關腳本而構成,用以構建高可用性的集群 drbd 工作原理:DRBD是一種塊設備,可以被用於高可用(HA)之中.它類似於一個網絡RAID-1功能。當你將數據寫入本地 文件系統時,數據還將會被發送到網絡中另一臺主機上。以相同的形式記錄在

haproxy+pacemaker+corosync實現可用

pacemaker+corosync Pacemaker是一個叢集資源管理器。它利用叢集基礎構件(OpenAIS 、heartbeat或corosync)提供的訊息和成員管理能力來探測並從節點或資源級別的故障中恢復,以實現群集服務(亦稱資源)的最大可用性。 Corosync是叢集管理

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, 兩

Keepalived實現可用Nginx反向代理

keepalived實現高可用nginx反向代理由於好久沒有接觸過負載相關的調試了復習一下實驗系統:(1)CentOS 6.5_x86_64;(2)共有二臺主機,本實驗以ip地址來命名主機,即10主機、11主機。實驗前提:防火墻和selinux都關閉,主機之間時間同步實驗軟件:nginx-1.10.2-1.e

使用HeartBeat實現可用HA的配置過程詳解

接口 dea ive for 64位 doc 主機名 停止 enforce 使用HeartBeat實現高可用HA的配置過程詳解 一、寫在前面 HA即(high available)高可用,又被叫做雙機熱備,用於關鍵性業務。簡單理解就是,有2臺機器 A 和 B,正常

2-18-搭建mysql集群實現可用

random see 客戶 red manual 安裝mysql har 區分 後臺運行 1 環境清理以及安裝 1.1 mysql舊版本清除 準備5臺虛擬機,分配如下 mysql管理結點:xuegod1.cn IP:192.168.10.31 (安裝

Keepalived+Nginx實現可用(HA)

nginx+keepalived ha高可用高可用有2中方式。1、Nginx+keepalived 主從配置這種方案,使用一個vip地址,前端使用2臺機器,一臺做主,一臺做備,但同時只有一臺機器工作,另一臺備份機器在主機器不出現故障的時候,永遠處於浪費狀態,對於服務器不多的網站,該方案不經濟實惠。2、Ngin

keepalived通過vrr_script實現可用性案例分析

keepalived vrr_script實現高可用性案例分析ps -C nginx --no-heading|wc -lps -C java --no-heading|wc -l先確認一下服務器上上面兩個數字cd /etc/keepalivedvi /etc/keepalived/check_ngin

Linux運維學習之keepalived實現可用集群

keepalived 高可用 lvs 集群技術是一種較新的技術,通過集群技術,可以在付出較低成本的情況下獲得在性能、可靠性、靈活性方面的相對較高的收益,其任務調度則是集群系統中的核心技術。高可用高可用集群,簡單的說,集群就是一組計算機,它們作為一個整體向用戶提供一組網絡資源。 高可用

LVS-keepalived實現可用

keepalived前言: LVS是基於內核實現負載均衡的,在小編的上一篇演示中我們已經實現了LVS的NAT模式和DR模式,但是企業中只有負載均衡是不行的,如果一臺負載均衡器楚翔了故障,那麽就會導致整個集群的不可用,所以這裏結合LVS我們通過keepalived這個神器來實現高可用。 高可用:通常來描

mysql+proxysql+keepalived實現可用的數據庫讀寫分離

mysql讀寫分離 主從復制 proxysql前言 為了降低一臺數據庫的IO,遠程連接數據庫的時候,可以實現讀寫分離進行調度。這裏就出現了一個單點,所以必須要做一個高可用。當然數據庫服務器也需要做主從復制。實驗結構 說明:上圖的拓撲只是整個架構中的一個小部分,其余功能的實現此圖並未規

項目實戰3—Keepalived 實現可用

ack logs 時間 mage 通知機制 http targe not table 實現基於Keepalived高可用集群網站架構   環境:隨著業務的發展,網站的訪問量越來越大,網站訪問量已經從原來的1000QPS,變為3000QPS,目前業務已經通過集群LVS架

初識keepalived(二)——keepalived與LVS實現可用

keepalived lvs 背景介紹通過前面的介紹了解到LVS其實是工作在netfilter框架input鏈上的一組規則,而LVS本身無法實現高可用和對realserver的健康狀態檢測,keepalived為了解決上述2點問題而誕生,同時keepalived還可以直接在配置文件裏設置LVS規則,而

mysql實現可用架構之MHA

行數據 reading glob restart 比較 實驗 是否 其余 one 一、簡介   MHA(Master HA)是一款開源的 MySQL 的高可用程序,它為 MySQL 主從復制架構提供了 automating master failover 功能。MHA 在監

初識keepalived(三)——keepalived與nginx代理實現可用

keepalived nginx 背景介紹nginx除了可以作為web服務器外,同時也是一個反向代理軟件,nginx不能完全取代apache,所以很多場景下nginx作為apache的反向代理服務器。nginx運行在用戶空間,代替用戶向服務器發起請求,請求返回時再經由nginx服務器返回給用戶。不同於

MYSQL實現可用MHA

mha一、準備實驗MYSQL Replication 環境:MHA 對MYSQL 復制環境有特殊要求,例如各節點都要開啟二進制日誌及中繼日誌,各從節點必須顯示啟用其read-only 屬性,並關閉relay_log_purge 功能等,這裏對配置做事先說明。本實驗環境共有四個節點,其角色分配如下:centos