摘要:旨在發(fā)生單點(diǎn)故障后,消除單點(diǎn)故障的影像,盡可能在剩余資源池上運(yùn)行業(yè)務(wù)。首先需要找出屬于最大全連接組以下簡稱的,用選擇一個(gè),重啟丟失連接的。是通過在每個(gè)主機(jī)中進(jìn)行配置,高可用集群中,每個(gè)主機(jī)上該配置文件都必須保持一致,如果不一致將導(dǎo)致不可用。
概述
隨著云計(jì)算市場的快速發(fā)展,用戶對服務(wù)的實(shí)時(shí)性需求越來越高,系統(tǒng)的穩(wěn)定性和可用性顯得尤為重要。高可用性HA(High Availability)可以做到盡量縮短日常計(jì)劃維護(hù)的操作和突發(fā)的系統(tǒng)崩潰所導(dǎo)致的停機(jī)時(shí)間,以提高系統(tǒng)和應(yīng)用的可用性。所以HA是目前云計(jì)算中防止核心計(jì)算機(jī)系統(tǒng)因故障停機(jī)最有效的手段。那么在本文中我們一起探討一下,高可用性在XenServer中是如何應(yīng)用的。
前文回顧:還記得三大虛擬化技術(shù)之一的XenServer嗎
高可用集群(HA):
高可用集群在指發(fā)生單點(diǎn)故障時(shí),可以從其他正常工作的節(jié)點(diǎn)中選出一個(gè)節(jié)點(diǎn)替換故障節(jié)點(diǎn),繼續(xù)提供服務(wù),即將有故障節(jié)點(diǎn)上的資源和服務(wù)轉(zhuǎn)移到工作正常的節(jié)點(diǎn)上。保證服務(wù)不中斷,一直在線,用戶對底層的資源切換無任何感知。
XenServer的HA盡量保持VM一直處于運(yùn)行狀態(tài),即使當(dāng)管理員不在時(shí),發(fā)生資源池中的硬件損壞。下圖中展示了包含HA的資源池,兩個(gè)主機(jī)之間網(wǎng)絡(luò)連接出現(xiàn)問題前后的變化。
XenServer在啟用HA時(shí),資源池中所有的主機(jī),通過網(wǎng)絡(luò)定期交換心跳信息,并將心跳信息發(fā)送到共享存儲(chǔ)設(shè)備,不斷嘗試獲取共享存儲(chǔ)的“master lock”權(quán)限。
XenServer HA旨在發(fā)生單點(diǎn)故障后,消除單點(diǎn)故障的影像,盡可能在剩余資源池上運(yùn)行業(yè)務(wù)。首先需要找出屬于最大全連接組(以下簡稱“l(fā)iveset”)的VM,用“master lock”選擇一個(gè)Master,重啟丟失連接的VM。
XenServer HA實(shí)現(xiàn)的主要組件有xapi、xen、xhad。
Xapi用于配置HA策略,即哪些網(wǎng)絡(luò)存儲(chǔ)用于心跳,發(fā)生故障之后哪些VM需要重啟。配置和管理xhad心跳守護(hù)進(jìn)程。Xapi在本地?cái)?shù)據(jù)庫主要存儲(chǔ)了兩個(gè)設(shè)置:1.ha_disable_failover_actions通常設(shè)置為false,表示節(jié)點(diǎn)可以恢復(fù)VMs,在HA禁用過程中設(shè)為true,防止僅部分啟用HA發(fā)生腦裂 2. ha_armed設(shè)為true表示xapi在host啟動(dòng)加入liveset時(shí)啟動(dòng)xhad
Xen主要應(yīng)用于主機(jī)被集群部分或完全隔離時(shí),xen的監(jiān)控程序保證主機(jī)的隔離。
Xhad是集群成員守護(hù)進(jìn)程,通過網(wǎng)絡(luò)和存儲(chǔ)心跳維護(hù)集群中的主機(jī)。Xhad是通過在每個(gè)主機(jī)/etc/xensource/xhad.conf中進(jìn)行配置,高可用集群中,每個(gè)主機(jī)上該配置文件都必須保持一致,如果不一致將導(dǎo)致HA不可用。Xhad.conf是用XML編寫的,包含了資源池范圍配置和本地主機(jī)配置。資源池范圍配置包括集群所有活動(dòng)的主機(jī)及全局超時(shí)信息。本地主機(jī)配置記錄了本地主機(jī)的信息及用于本地網(wǎng)絡(luò)接口和塊存儲(chǔ)的心跳設(shè)備。以下是xhad.conf文件示例:
<?xml version="1.0" encoding="utf-8"?>
<xhad-config version="1.0">
<?。璸ool-wide configuration-->
<common-config>
<GenerationUUID>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</GenerationUUID>
<UDPport>694</UDPport>
<?。璮or each host, specify host UUID, and IP address-->
<host>
<HostID>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</HostID>
<IPaddress>xxx.xxx.xxx.xx1</IPaddress>
</host>
<host>
<HostID>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</HostID>
<IPaddress>xxx.xxx.xxx.xx2</IPaddress>
</host>
<host>
<HostID>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</HostID>
<IPaddress>xxx.xxx.xxx.xx3</IPaddress>
</host>
<?。璷ptional parameters [sec] -->
<parameters>
<HeartbeatInterval>4</HeartbeatInterval>
<HeartbeatTimeout>30</HeartbeatTimeout>
<StateFileInterval>4</StateFileInterval>
<StateFileTimeout>30</StateFileTimeout>
<HeartbeatWatchdogTimeout>30</HeartbeatWatchdogTimeout>
<StateFileWatchdogTimeout>45</StateFileWatchdogTimeout>
<BootJoinTimeout>90</BootJoinTimeout>
<EnableJoinTimeout>90</EnableJoinTimeout>
<XapiHealthCheckInterval>60</XapiHealthCheckInterval>
<XapiHealthCheckTimeout>10</XapiHealthCheckTimeout>
<XapiRestartAttempts>1</XapiRestartAttempts>
<XapiRestartTimeout>30</XapiRestartTimeout>
<XapiLicenseCheckTimeout>30</XapiLicenseCheckTimeout>
</parameters>
</common-config>
<!--local host configuration-->
<local-config>
<localhost>
<HostID>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx2</HostID>
<HeartbeatInterface> xapi1</HeartbeatInterface>
<HeartbeatPhysicalInterface>bond0</HeartbeatPhysicalInterface>
<StateFile>/dev/statefiledevicename</StateFile>
</localhost>
</local-config>
</xhad-config>
參數(shù)說明:
GenerationUUID:每次重新配置HA時(shí)生成的一個(gè)UUID。這個(gè)參數(shù)可以讓Xhad做到通知故障節(jié)點(diǎn),已將它從配置中移走,HA系統(tǒng)重置,UUID已經(jīng)發(fā)生變化。
UDPort:用于心跳的端口號。需要確保所有的主機(jī)上該端口號未被其他進(jìn)程占用,并且沒有被防火墻屏蔽。
HostID:標(biāo)識(shí)資源池中主機(jī)的UUID。
IPaddress: 遠(yuǎn)程主機(jī)的IP地址,通常配置xapi的管理網(wǎng)。
HeartbeatTimeout: 設(shè)定心跳包接收的超時(shí)時(shí)間。如果超過這個(gè)時(shí)間沒有收到心跳包,xhad認(rèn)為心跳失敗。用“T”來表示, T必須大于10,通常使用60秒。
StateFileTimeout:如果在設(shè)定的時(shí)間內(nèi)沒有得到主機(jī)存儲(chǔ)的更新,那個(gè)xhad認(rèn)為存儲(chǔ)心跳連接異常。一般設(shè)置和HeartbeatTimeout相同的時(shí)長T。
HeartbeatInterval: 心跳包發(fā)送時(shí)長間隔。通常使用2<=t<=6,根據(jù)HeartbeatTimeout 的值通過公式t=(T+10)/10計(jì)算得出。
StateFileInterval:存儲(chǔ)更新間隔時(shí)長,通常跟HeartbeatInterval設(shè)置為一樣的值。
HeartbeatWatchdogTimeout:如果主機(jī)在設(shè)置的時(shí)間內(nèi)沒有發(fā)送心跳,則主機(jī)監(jiān)視程序開始防護(hù),通常設(shè)置為T。
StateFileWatchdogTimeout:如果主機(jī)在設(shè)置時(shí)間內(nèi)沒有更新文件狀態(tài),則主機(jī)監(jiān)視程序開始防護(hù),通常設(shè)置為T+15
BootJoinTimeout:當(dāng)主機(jī)啟動(dòng)并加入集群時(shí),如果超過設(shè)置的值,將視為加入失敗,通常將該值設(shè)置為T+60
EnableJoinTimeout:當(dāng)主機(jī)首次啟動(dòng)HA時(shí),如果超過該設(shè)置時(shí)長,則認(rèn)為加入失敗。通常將該值設(shè)置為T+60
XapiHealthCheckInterval:“運(yùn)行狀況檢查”的間隔時(shí)長,通過運(yùn)行腳本檢查xapi是否響應(yīng)
XapiHealthCheckTimeout: 假設(shè)xapi死鎖之前等待時(shí)長
XapiRestartAttempts:停止未響應(yīng)的xapi之前,嘗試重啟xapi的最大次數(shù)
XapiRestartTimeout:重啟xapi等待時(shí)長
XapiLicenseCheckTimeout: xhad終止之前等待xapi 許可證檢查時(shí)長
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/5378.html
摘要:在協(xié)議實(shí)現(xiàn)里,虛擬路由器使用作為虛擬地址,就是唯一的,這個(gè)地址同一時(shí)間只有一個(gè)物理路由器占用。在虛擬路由器里面的物理路由器組里面通過多播地址來定時(shí)發(fā)送通告消息。負(fù)責(zé)健康檢查,包括常見的各種檢查方式。 公司內(nèi)部 OA 系統(tǒng)要做線上高可用,避免單點(diǎn)故障,所以計(jì)劃使用2臺(tái)虛擬機(jī)通過 Keepalived 工具來實(shí)現(xiàn) nginx 的高可用(High Avaiability),達(dá)到一臺(tái)nginx...
摘要:因?yàn)槲覀冋J(rèn)為正常情況下用戶的不會(huì)在短時(shí)間內(nèi)發(fā)生變化,所以當(dāng)我們選擇使用策略進(jìn)行負(fù)載均衡時(shí),意味著期望同一個(gè)用戶能夠一直訪問到同一臺(tái)服務(wù)器上,就像下圖這樣。但是,我們還需要明白一個(gè)事實(shí)嚴(yán)格來說保持本質(zhì)上是破壞了做負(fù)載均衡的初衷。 本文長度為3056字,預(yù)計(jì)讀完需1.1MB流量,建議閱讀8分鐘。 這篇是《分布式關(guān)注點(diǎn)系列》中「負(fù)載均衡」相關(guān)的內(nèi)容最后一發(fā)了,后續(xù)也會(huì)繼續(xù)講「高可用」相關(guān)的其...
摘要:憑借公司和其他一些大廠商近期聲明的推動(dòng),混合云已經(jīng)越來越吸引公眾的眼球了?;旌显凭邆浜芏嘁俗⒛康膬?yōu)勢,而且我們認(rèn)為這最終會(huì)使各種組織的云部署策略的游戲結(jié)束。 ????? 憑借VMware公司和其他一些大廠商近期聲明的推動(dòng),混合云已經(jīng)越來越吸引公眾的眼球了。混合云把公共的外部云和內(nèi)部私有云(其實(shí)目前就相當(dāng)于傳統(tǒng)的內(nèi)部IT環(huán)境)整合成更具功能性的解決方案。而混合云的秘訣就是處于中間的連接技術(shù)。...
摘要:的首次公開發(fā)行是在年。年,得到了廣泛的采用,和都將添加進(jìn)他們的虛擬化解決方案。收購之后將其產(chǎn)品整合,統(tǒng)一更名為。奠定了在服務(wù)器虛擬化市場的地位。年月日,項(xiàng)目被宣布作為一個(gè)合作項(xiàng)目移至基金會(huì)下。前言XenServer是一個(gè)由Citrix發(fā)起和管理的開源項(xiàng)目和社區(qū)。該項(xiàng)目開發(fā)的開源軟件實(shí)現(xiàn)了虛擬化的多種功能,允許在硬件設(shè)備上安全地運(yùn)行多個(gè)操作系統(tǒng)和應(yīng)用程序,完成硬件整合和自動(dòng)化;將靜態(tài)、復(fù)雜的I...
閱讀 2258·2019-08-30 10:51
閱讀 808·2019-08-30 10:50
閱讀 1503·2019-08-30 10:49
閱讀 3161·2019-08-26 13:55
閱讀 1624·2019-08-26 11:39
閱讀 3438·2019-08-26 11:34
閱讀 1968·2019-08-23 18:30
閱讀 3401·2019-08-23 18:22