heartbeat DRBD高可用筆記

2021-07-24 17:23:47 字數 2875 閱讀 8721

1.heartbeat提供高可用,一台宕機另一台接管。

2.心跳線盡量使用串列埠或者直連線,否則可能發生裂腦情況,雙方同時接不到心跳,同時啟伺服器和vip。

3.防止裂腦發生的辦法:

多條心跳線,使用stonith裝置強行殺死主節點(斷電),對裂腦進行監控報警人工再去處理,磁碟鎖,接管時間設定比較長給人上去檢視是否裂腦留時間,增加仲裁機制。

4.裂腦告警只需檢視備機的vip出現即可,出現vip不是正常接管就是裂腦

5.ha.cf配置檔案:

debugfile /var/log/ha-debug

logfile /var/log/ha-log

logfacility local1

keepalive 2

deadtime 30

warntime 10

initdead 60

#bcast eth1

mcast eth2 225.0.0.7 694 1 0

auto_failback off

node data-1-1

node data-1-2

crm no

5.配置別名ip:

ifconfig eth0:0 172.16.1.252 netmask 255.255.255.0 (即將淘汰)

ip addr add 172.16.1.23/24 dev eth0

ip addr del 172.16.1.23/24 dev eth0 (刪除別名)

6.資源生效順序:從左到右

7.讓heartbeat執行drbd的自動切換角色,並且掛載drbd磁碟到datab,並且新增vip,重新掛載客戶端nfs:

sh_t_nfs_01 drbddisk::data filesystem::/dev/drbd0::/data::ext4 ipaddr::172.16.1.227/24/eth0 remount-nfs (配置drbd是主,掛載並且切換vip)

------------------drbd------------------------------------

1.非同步同步:

a模式:寫入成功主裝置傳送到本端tcp返回成功

b模式:寫入成功主裝置傳送到對端tcp返回成功

2.實時同步:c模式,主備裝置需要全部寫入成功才返回成功(公司一般選這項,資料最安全)

3.裂腦後人工處理辦法:

在選定的非主節點上執行:

drbdadm secondary data (更新備節點位狀態)

drbdadm disconnect data  (斷開連線)

drbdadm -- --discard-my-data connect data (放棄本地更新資料進行連線)

主節點上執行: (檢視如果不是wfc)

drbdadm disconnect data  (斷開連線)

drbdadm connect data (主節點進行連線)

4.大於16tb的磁碟分割槽:用xfs或者e2fsprogs分割槽。

5.大於2t的磁碟用parted分割槽:

parted /dev/sdb mklabel gpt yes   (初始化分割槽表)

parted /dev/sdb mkpart primary ext4 0 1000 ignore    (劃分乙個1g的ext4分割槽)

parted /dev/sdb mkpart primary ext4 1001 2000 yes ignore   (在劃分乙個1g的ext4分割槽)

parted /dev/sdb p (檢視)

6.安裝drbd:

wget -q 

yum install drbd kmod-drbd84 -y

modprobe drbd (載入到核心)

lsmod |grep drbd   (檢視是否載入到核心)

7.修改配置檔案:

global {

usage-count no;

common {

syncer { 

rate 10m; 

verify-alg crc32c;

# primary for drbd1

resource data {

protocol c;

disk {

on-io-error   detach;

on drbd1 {

device    /dev/drbd0;

disk      /dev/sdb5;

address   10.0.0.14:7788;

meta-disk /dev/sdb7[0];

on drbd2 {

device     /dev/drbd0;

disk       /dev/sdb5;

address    10.0.0.15:7788;

meta-disk  /dev/sdb7[0];

8.啟用drbd:

drbdadm create-md data

/etc/init.d/drbd start   或者   drbdadm up all

cat /proc/drbd  (檢視狀態)

drbdadm -- --overwrite-data-of-peer primary  data (以本地為主,強制同步對端資料)

9.格式化主伺服器磁碟:

mkfs.ext4 /dev/drbd1    (必須在primary的伺服器上面才能格式化)

tune2fs -c -1 /dev/drbd1   (關閉強制檢查掛載次數限制)

10.使用drbd從小硬碟同步到大硬碟上面,如何恢復大硬碟的原始分割槽大小的方法:

e2fsck -f /dev/sdb1   (檢查磁碟分割槽表)

resize2fs /dev/sdb1   (對磁碟從新掃瞄分割槽大小)

heartbeat DRBD高可用筆記

1.heartbeat提供高可用,一台宕機另一台接管。2.心跳線盡量使用串列埠或者直連線,否則可能發生裂腦情況,雙方同時接不到心跳,同時啟伺服器和vip。3.防止裂腦發生的辦法 多條心跳線,使用stonith裝置強行殺死主節點 斷電 對裂腦進行監控報警人工再去處理,磁碟鎖,接管時間設定比較長給人上去...

Haproxy與keepalived高可用搭建

1 配置網路,安裝軟體yum y install haproxy2 修改配置檔案vim etc haproxy haproxy.cfgglobal log listen websrv rewrite 0.0.0.0 80 balance roundrobin server web1 192.168....

thanos實現prometheus高可用

thanos元件 通用api store api提供服務給查詢介面,通過grpc查詢prometheus的remote read介面,rule的storeapi,store gateway的storeapi。一 thanos query 1 封裝prometheus query api,支援prom...