帶有 Xen、Heartbeat、Pacemaker 的 Linux HA 集群。domU 不會故障轉移到輔助節點
我在使用 OenSuSE + Heartbeat + Pacemaker + Xen HA 集群時遇到了以下問題:當執行 Xen domU 的節點“死”時,在其上執行的 Xen domU不會在第二個節點上重新啟動。
集群設置有兩個節點,每個節點在 CRM 模式下執行 OpenSuSE-11.3、Heartbeat 3.0 和 Pacemaker 1.0。對於儲存,我在 iSCSI SAN 設備上使用 LUN;LUN 使用 OCFS2 格式化並使用 LVM 進行管理。Xen domU 有兩個邏輯卷;一個用於root,另一個用於交換。我將 IPMI 卡用於 STONITH 設備,並使用專用乙太網鏈路進行心跳通信。
ha.cf 文件如下: `keepalive 1
deadtime 10
warntime 5
udpport 694
ucast eth1
auto_failback off
node dhcp-166
node stage
use_logd yes
crm yes`
我的資源如下所示:
Xen domU 配置文件如下: `shocrm(live)configure# show
node $id=“5c1aa924-bba4-4f95-a367-6c9a58ac4a38” dhcp-166
node $id=“cebc92eb-af24-4833-aaf0-672adf80b58e” stage
primitive Xen-Util ocf:heartbeat:Xen \
meta target-role=“Started” \
operations $id=“Xen-Util-operations” \
op start interval=“0” timeout=“60” start-delay=“0” \
op stop interval=“0” timeout=“120” \
params xmfile="/etc/xen/vm/xen-util"
primitive my-stonith stonith:external/ipmi \
params hostname=“dhcp-166” ipaddr=“192.168.3.106” userid=“ADMIN” passwd=“xxx” \
op monitor interval=“2m” timeout=“60s”
primitive my-stonith2 stonith:external/ipmi \
params hostname=“stage” ipaddr=“192.168.3.105” userid=“ADMIN” passwd=“xxx” \
op monitor interval=“2m” timeout=“60s”
property $id=“cib-bootstrap-options” \
dc-version=“1.0.9-89bd754939df5150de7cd76835f98fe90851b677” \
cluster-infrastructure=“Heartbeat”`
`name = “xen-util”
bootloader = “/usr/lib/xen/boot/domUloader.py”
#bootargs = “xvda1:/vmlinuz-xen,/initrd-xen”
bootargs = “–entry=xvda1:/boot/vmlinuz-xen,/boot/initrd-xen”
memory = 4096
disk = [ ‘phy:vg_xen/xen-util-root,xvda1,w’,
‘phy:vg_xen/xen-util-swap,xvda2,w’, ]
root = “/dev/xvda1”
vif = [ ‘mac=00:16:3e:42:42:06’ ]
#vfb = [ ’type=vnc,vncunused=0,vnclisten=192.168.3.172’ ]
extra = “"`
說 domU “Xen-Util” 正在節點 “stage” 上執行;如果“stage”關閉,“Xen-Util”不會在節點“dhcp-166”上重新啟動。似乎想嘗試一下,因為“xm 列表”會顯示幾秒鐘,如果您使用“xm 控制台 xen-util”,它會給出一條消息,例如“將 /boot/kernel.gz 從 xvda1 複製到 /var/lib /xen/tmp/kernel.a53gs 用於引導”。但是,它永遠不會超過,最終放棄,不再出現在“xm 列表”中。現在,當節點“stage”在重啟後重新上線時,它檢測到“Xen-Util”沒有執行,並啟動它(在舞台上)。
我嘗試在沒有執行集群的情況下在節點“dhcp-166”上啟動“Xen-Util”,它工作正常。沒問題。所以,我知道它在這方面是有效的。
有任何想法嗎?謝謝!
經過更多的試驗和錯誤,我想通了。正如在 ServerFault 上的這篇文章中所提到的,我在太快地備份堆棧時遇到了 iSCSI 錯誤。
除了更改上面文章中概述的變數外,我還跟踪了一些網路電纜,發現節點 #2 位於 100Mb 鏈路上,而節點 #1 與 SAN 一起位於 Gig 鏈路上。經過一些仔細的改組後,所有網路連接現在都以 Gig 速度執行。
最後,我將 Linux 介面上的 MTU 從 1500 更改為 9000,這似乎也加快了速度。
最終結果是一個工作集群,其中 domU 在節點 #1 上的啟動速度甚至比以前更快。
乾杯,
肯德爾