heartbeat 2.14和drbd8.10構建雙機熱備常見的一些問題
我最近做了個雙機熱備,兩系統都是linux redhat enterprise as5,heartbeat是2.1.4版本,drbd是8.0.10版本,掛載了一個分區作為drbd的備份分區。
在測試當中,有幾種情況經常出現,
1,當雙機正常運行時,重啟主機,重啟后,此主機就不能正常掛載目錄了,目錄變為只讀,不能更改許可權,重啟後有可能會恢復
2,重啟后,雙機失去了連接,狀態為primary/unknow,用drbdadm connect r0重新建立聯繫,提示Failure: (125) Device has a net-config (use disconnect first)
Command 'drbdsetup /dev/drbd0 net 192.168.0.100:7898 192.168.0.101:7898 B --set-defaults --create-device --cram-hmac-alg=sha1 --shared-secret=FooFunFactory' terminated with exit code 10
3 在主機接管備機的資源時,有時會出現,heartbeat虛擬地址在主機,而drbd primary狀態在備機。
4,有幾次出現secondary/secondary狀態,次數很少
5 heartbeat啟動腳本載入目錄時,目錄沒能載入上
drbd配置文件為:
global { usage-count yes;}
common {syncer {rate 100M;}}
resource r0 {
protocol C;
net {
cram-hmac-alg sha1;
shared-secret "FooFunFactory";
}
on server01 {
device /dev/drbd0;
disk /dev/sda;
address 192.168.0.100:7898;
meta-disk internal;
}
on server02 {
device /dev/drbd0;
disk /dev/sda;
address 192.168.0.101:7898;
meta-disk internal;
}
}
載入的啟動腳本
#!/bin/sh
#
# High-Availability Pre-Startup/Shutdown Script
#
#Descriprion:Runs on Startup or shutdown of heartbeat(not resource based)
# Also runs before start,after start or before stop
# and after stop
#
#Author:Matterew Soffen
#
#Support:linux-ha@lists.linux-ha.org
#
#License:GNU Lesser General Public License(LGPL)
#
#Copyright:(C) 2002 Matthew Soffen
#
#
unset LC_ALL;export LC_ALL
unset LANGUAGE;export LANGUAGE
prefix=/usr
exec_prefix=/usr
./etc/ha.d/shellfuncs
case "$1" in
'start')
# /sbin/drbdadm -- --do-what-l-say primary all
#/sbin/drbdadm primary r0
/sbin/drbdadm primary r0
#drbdsetup /dev/drbd1 primary -o
/bin/mount /dev/drbd0 /data
;;
'pre-start')
;;
'post-start')
;;
'stop')
/bin/umount /data
/sbin/drbdadm secondary r0
;;
'pre-stop')
;;
'post-stop')
;;
*)
echo "Usage:$0 {start|pre-start|post-start|stop|pre-stop|post-stop}"
;;
esac
exit 0
這是我測試過程中都曾見過的現在,不知道有誰也測試過,大家一起來討論討論,怎麼解決
《解決方案》
回復 #1 cuchinaren 的帖子
這個問題的確是比較的常見
建議:1 drbd的切換腳本要檢測
2、要察看切換的體制信息中的明顯的出錯提示