歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Heartbeat簡介

Heartbeat簡介

日期:2017/3/3 16:18:50   编辑:關於Linux

1、簡介

Heartbeat是一個守護進程,為client的集群基礎設施之間的成員及通信服務。它允許clients 掌握在其他server上的對等進程是否正在運行並可以和其他server進行通訊。

為方便使用,Heartbeat 守護進程被合並到集群資源管理器中(cluster resource manager CRM),CRM可以進行啟動停止相應服務來提供高高的可用性。這個CRM就是Pacemaker,一個高擴展性,具有豐富管理功能,並且支持Heartbeat和Corosync 集群的通訊層。

2、組件

2.1通訊模塊

提供強認證,本地有序的廣播

支持以下類型的網絡鏈路:

1、在ipv4中的UDP單播

2、ipv4中的中的udp廣播

3、ipv4中的UDP多播

4、串行鏈接(相比網絡來說,直接的串口鏈接是最安全的)

Heartbeat 可以在半秒內檢測node的故障。

heartbeat layer的API可以提供以下級別的服務:

1、向集群內的節點,發送和接受數據包

2、可配置的查詢

3、可以得知正在接受packet的Node的查詢和通知的連接信息

4、基本組的成員服務

2.2Cluster Consensus Membership

CCM 維護集群成員的一致性

2.3 Cluster Plumbing Library

2.4 ipc 進程間通訊

2.5 logging 守護進程

將日志信息記錄的系統日志中或者其他文件,或者兩者都有。這個守護進程是不間斷的,它只會摒棄那些落後太多的信息。

安裝:

3.1從源碼安裝:

需要的軟件包:heartbeat ,cluster-glue(包含Heartbeat的本地資源.LRM和 STONITH 插件,這個屬於附屬軟件,必須先安裝

3.1.1從源碼安裝cluster-glue

先決條件:

C編譯器(GCC),C的開發包

flex scanner generator ,the bison parser compiler;

net-snmp development headers(啟用snmp相關功能)

OpenIPMI development headers(啟用IPMI相關功能)

Python(只是一個語言接口,不需要頭文件)

# wget http://hg.linux-ha.org/glue/archive/glue-1.0.1.tar.bz2

# tar -vxjf glue-1.0.1.tar.bz2

安裝:

./autogen.sh

./configure

make

make install

安裝 heartbeat,(前期都准備好的話,基本不需要其他依賴包)

# wget http://hg.linux-ha.org/dev/archive/STABLE-3.0.4.tar.bz2

# tar -vxjf STABLE-3.0.4.tar.bz2

安裝:

$ ./bootstrap

$ ./configure

$ make

$ sudo make install

初始化配置:

以下文件必須存在:

/etc/ha.d/ha.cf—全局配置文件

/etc/ha.d/authkeys – 節點之間進行驗證

ha.cf 簡單的配置:

autojoin none

禁止cluster Node 自動發現其他Node,直接使用配置文件中已經列出的node list。加快cluster啟動過程。

配置文件詳解:

ha.cf

logfile /var/log/ha-log 日志存儲位置

crm yes (是否開啟crm 集群資源管理功能)

bcast eth1 指明心跳檢測在eth1上以廣播的形式進行。

Keepalive 2 心跳檢測間隔時間S。

Warntime 10 心跳延遲的時間,超過後在日志中進行記錄。

Deadtime 30 超過此時間,則認為對方 node 已經dead,如果是master的話,則進行角色切換

initdead 120 系統重啟過程中,等待時間(至少為deadtime的兩倍)

udpport 694 廣播通信使用的端口

baud 19200 設置串行通信的波特率

serial /dev/ttyS0 選擇串行通信設備,

ucast eth0 ip 使用 eth0 udp 單播的形式進行心跳檢測,

mcast eth0 ip 使用 eth0 多播的形式進行心跳檢測

返回欄目頁:http://www.bianceng.cn/OS/Linux/

auto_failback on 當master恢復後,是否將服務自動切回。stonith baytech /etc/ha.d/conf/stonith.baytech stonith的主 要作用是使出現問題的節點從集群環境中脫離,進而釋放集群資源,避免兩個節點爭 用一個資源的情形發生。保證共享數據的安全性和完整性。

watchdog /dev/watchdog #該選項是可選配置,是通過Heartbeat來監控系統的運 行狀態。使用該特性,需要在內核中載入"softdog"內核模塊,用來生成實際的設備文件, 如果系統中沒有這個內核模塊,就需要指定此模塊,重新編譯內核。編譯完成輸入 "insmod softdog"加載該模塊。然後輸入"grep misc /proc/devices"(應為10), 輸入"cat /proc/misc |grep watchdog"(應為130)。最後,生成設備文件: "mknod /dev/watchdog c 10 130" 。即可使用此功能。(在半秒內,能檢測到系統故障)

node node1 #主節點主機名,"uname -n"查看。

node node2 #備用節點主機名。

ping ip ping節點僅僅用來測試網絡連接。ping節點選擇的越好,HA集群就越強壯, 可以選擇固定的路由器作為ping節點,但最好不要選擇集群中的成員作為ping節點

資源文件: /etc/ha.d/haresources

文件格式: node-name network <resource-group>

Haresources 文件用於指定系統中的主節點、集群ip、子網掩碼、廣播地址以及啟動的服務等集群資源。文件每一行可以包含一個或多個資源腳本名,資源之間空格隔開。參數之間使用::隔開,在兩個ha節點上該文件必須完全一致。

Node-name 表示主節點的主機名,network 為 設定集群的ip地址、netmask 、device resource-group 用來指定需要Heartbeat 托管的服務,這樣heartbeat會根據腳本的名稱自動去/etc/init.d 或者 /etc/ha.d/resource.d 目錄下找到相應的腳本。

舉例:

Node 1 IPaddr::192.168.60.200/24/eth0/ Filesystem::/dev/sdb5::/web/data:ext3 httpd tomcat

Node 1 是HA集群的主節點,IPaddr 為heartbeat自帶的一個執行腳本,它首先執行/etc/ha.d/resource.d/IPaddr 192.168.60.200/24 start 操作,虛擬出一虛擬ip(集群的ip地址)並指定使用的網絡接口是eth0,接著 heartbeat將共享磁盤分區的掛接操作,即:mount –t ext3 /dev/sdb5 /webdata 最後依次啟動httpd 和tomcat 服務。

注意點: master和slave中資源文件haresources 完全一樣。

認證文件 /etc/ha.d/authkeys

設定heartbeat的認證方式,三種認證,crc md5 sha1 不推薦 crc

Auth 1

1 md5

(必須保證主節點和備份節點的時間同步,相差10秒內是正常的)

本文出自 “技術成就夢想” 博客,請務必保留此出處http://weipengfei.blog.51cto.com/1511707/1058341

Copyright © Linux教程網 All Rights Reserved