RHCS集群切換問題。求教!!
我的兩台IBM3850伺服器。fence設備用的bmc晶元。即ipmilan模式的。現在配置好后,載入服務能夠起來,浮動ip。盤櫃都能起來,用命令切換是正常的(5.1的版本圖形界面有bug)。但如果進行以下測試就切換不過來。麻煩大家分析一下大概問題在哪?我看了下日誌,好像是fence設備有問題。系統檢測到cluster有問題。但卻fence不了那台伺服器。
(1) 正常切換測試:使用集群軟體進行集群切換,查看切換后資料庫狀態
測試切換正常
(2) 災難切換測試:強制關閉Online狀態伺服器,查看切換后資料庫狀態
測試失敗:
關閉Oline狀態伺服器后,集群服務不能夠切換到備機,通過集群服務管理軟體偵測到的備用伺服器的集群狀態如下。
# clustat
Member Status: Quorate
Member Name ID Status
------ ---- ---- ------
hfdb01 1 Offline
hfdb02 2 Online, rgmanager
Service Name Owner (Last) State
------- ---- ----- ------ -----
service:oracled hfdb01 started
集群軟體雖然已經偵測到hfdb01已經故障,但是集群服務oracled還是在hfdb01上運行,但此時hfdb01已經被強制關機。
(3) 網卡冗餘測試:斷開資料庫伺服器online狀態伺服器的1個網口
測試失敗:
斷開Oline狀態伺服器的網口后,處於Oline狀態的伺服器已經沒有網路和生產網通訊,但是集群軟體也不能夠切換到網路狀態正常的備機。
通過集群服務管理軟體偵測到的備用伺服器的集群狀態如下
# clustat
Member Status: Quorate
Member Name ID Status
------ ---- ---- ------
hfdb01 1 Offline
hfdb02 2 Online, rgmanager
Service Name Owner (Last) State
------- ---- ----- ------ -----
service:oracled hfdb01 started
《解決方案》
照你這麼說,我感覺還真是見了鬼了!哈哈!
不過我還是提醒一下你:
首先你提供的信息不能說明任何問題。因為沒有日誌,沒有配置文件,沒有拓撲結構圖,沒有操作說明。
這種情況下的猜測只是在做無用功,所以我建議你把我說的這些東西都提供一下吧,如果你真想解決問題的話。
《解決方案》
回復 #2 jerrywjl 的帖子
配置文件如下:我做了兩套cluster。這個配置文件是應用伺服器的,不過故障現象一樣。
<?xml version="1.0" ?>
<cluster config_version="9" name="hfcard_cluster">
<fence_daemon post_fail_delay="0" post_join_delay="3"/>
<clusternodes>
<clusternode name="hfapp01" nodeid="1" votes="1">
<fence>
<method name="1">
<device name="fence1"/>
</method>
</fence>
</clusternode>
<clusternode name="hfapp02" nodeid="2" votes="1">
<fence>
<method name="1">
<device name="fence2"/>
</method>
</fence>
</clusternode>
</clusternodes>
<cman expected_votes="1" two_node="1"/>
<fencedevices>
<fencedevice agent="fence_ipmilan" auth="none" ipaddr="10.0.1.23" login="root" name="fence1" passwd="111111"/>
<fencedevice agent="fence_ipmilan" auth="none" ipaddr="10.0.1.24" login="root" name="fence2" passwd="111111"/>
</fencedevices>
<rm>
<failoverdomains>
<failoverdomain name="hfcard" ordered="0" restricted="1">
<failoverdomainnode name="hfapp01" priority="1"/>
<failoverdomainnode name="hfapp02" priority="1"/>
</failoverdomain>
</failoverdomains>
<resources>
<fs device="/dev/emcpowerb1" force_fsck="0" force_unmount="1" fsid="34178" fstype="ext3" mountpoint="/app" name="emcpowerb1" options="" self_fence="1"/>
<ip address="10.0.1.15" monitor_link="1"/>
<script file="/etc/init.d/hfcardd" name="hfcardd"/>
</resources>
<service autostart="1" domain="hfcard" exclusive="1" name="hfcardd">
<ip ref="10.0.1.15"/>
<fs ref="emcpowerb1"/>
<script ref="hfcardd"/>
</service>
</rm>
</cluster>
[ 本帖最後由 yfort 於 2008-7-2 09:11 編輯 ]
《解決方案》
日誌文件大概意思是說,備節點發現主節點失效,但fence主節點的時候失敗。用fence_ipmilan命令是可以控制伺服器開關機的。當時fence_ipmilan reboot的時候確是關機。
《解決方案》
從配置文件上看,基本上沒有問題,不過信息不全,繼續等。
《解決方案》
我感覺樓主的問題應該跟我的那個問題差不多,同樣都是ipmi作fence的問題,關鍵是網線怎麼接的問題,我想知道服務與心跳怎麼可以都放在eth0上?
《解決方案》
兩台伺服器分別連交換機分配10網段的地址,管理口在bios里設置了地址也是10段的,同時連接交換機。這樣可以在伺服器上ping通fence設備(即管理口,不過延時比一般網口大)。不過問了800.這種內置的fence是不能做拔電源測試的。詳細的日誌下午去客戶那抓一些回來。
《解決方案》
原帖由 txl829 於 2008-7-2 09:33 發表 http://linux.chinaunix.net/bbs/images/common/back.gif
我感覺樓主的問題應該跟我的那個問題差不多,同樣都是ipmi作fence的問題,關鍵是網線怎麼接的問題,我想知道服務與心跳怎麼可以都放在eth0上?
為什麼不行?恰恰相反我還是推薦這麼做。
《解決方案》
我的差不多搞定了,不能切換是xen內核的原因;
我發現重啟服務所在機器,並不會發生fence的動作;
如果用直連線作心跳,拔掉心跳后,兩個節點都會有fence的動作。我這邊的fence還是不能成功。
我嘗試把心跳和服務都做在eth0上,但是互相都檢測不到心跳,這又回到我幾天前發貼問的那個問題。另外,我的主機的第三塊網卡eth2接到一台備用交換機,主備交換機用直連線相連。我嘗試用eth2 做心跳,也還是互相都檢測不到心跳。不知道會不會是交換機的問題
《解決方案》
xen內核在啟動的時候改變一些網路參數,包括防火牆的配置;
重啟服務所在的機器,只要心跳丟失,肯定產生fence動作。
直連心跳有可能會造成錯誤fence的問題。如果fence不能成功,需要檢查fence的鏈路和你的fence設備配置。
至於互相檢測不到心跳,原因很多:檢查硬體、防火牆,以及你使用的kernel等。