【問(wèn)題描述】
某天早上,公司內(nèi)部好多辦公系統(tǒng)登錄失敗。郵件系統(tǒng)、流程管理、代碼管理等。但是過(guò)了大概一個(gè)小時(shí),基本所有情況都恢復(fù)正常。
【問(wèn)題確認(rèn)】
業(yè)務(wù)系統(tǒng)的狀況:沒(méi)有任何異常情況,一切訪問(wèn)正常。
數(shù)據(jù)中心基礎(chǔ)實(shí)施:連續(xù)好多系統(tǒng)報(bào)警,而且還有物理主機(jī)報(bào)警,問(wèn)題一大堆。
【解決過(guò)程】
先來(lái)描述一下環(huán)境,基本90%以上系統(tǒng)運(yùn)行在Vmware虛擬化平臺(tái)之上,業(yè)務(wù)系統(tǒng)和內(nèi)部辦公管理系統(tǒng)完全隔離為兩個(gè)不同的集群環(huán)境。
辦公區(qū)為8臺(tái)宿主機(jī)組成的物理集群,集群共享一臺(tái)存儲(chǔ)設(shè)備上的存儲(chǔ)資源。
首先,我們?cè)僖淮未_認(rèn)了宿主機(jī)的情況,5臺(tái)宿主機(jī)當(dāng)前運(yùn)行狀態(tài)正常,虛擬機(jī)也處于正常狀態(tài)。只有一臺(tái)宿主機(jī)處于失聯(lián)狀態(tài)。當(dāng)把這一臺(tái)宿主機(jī)再次重新啟動(dòng)之后,它也恢復(fù)正常了。
再次,查看問(wèn)題發(fā)生時(shí)間的日志,包括宿主機(jī)日志。我們發(fā)現(xiàn)有好多虛擬機(jī)發(fā)生了HA切換,不僅僅是故障主機(jī)上的虛擬機(jī),而且還包括其他非故障主機(jī)上的虛擬機(jī)。再仔細(xì)看,還有好多虛擬機(jī)發(fā)生了熱遷移,有的遷移失敗,有的遷移成功??傊畮缀跛兄鳈C(jī)上的虛擬機(jī)發(fā)生過(guò)HA和熱遷移現(xiàn)象。
隨后,我們?cè)俅未_認(rèn)宿主機(jī)硬件日志,發(fā)現(xiàn)故障時(shí)刻點(diǎn)先后有三臺(tái)宿主機(jī)發(fā)生重新啟動(dòng)。這樣的話,事情就清楚了,幾臺(tái)宿主機(jī)先后發(fā)生重新啟動(dòng),觸發(fā)宿主機(jī)上的虛擬機(jī)發(fā)生HA,在這個(gè)過(guò)程中由于資源使用的瞬間不均衡,又觸發(fā)了DRS的自動(dòng)遷移。這么多事情發(fā)生的時(shí)間又是如此之集中,導(dǎo)致面積性的故障發(fā)生。
【問(wèn)題總結(jié)】
此次問(wèn)題之后,我們根據(jù)環(huán)境資源重新評(píng)估了HA和DRS等的策略,將激進(jìn)策略修改為相對(duì)保守的策略。
本來(lái)虛擬化的HA和DRS策略是為了保障虛擬機(jī)的平衡和高可用性的機(jī)制,但是在某種不合理策略策略和極端物理故障場(chǎng)合下就有可能導(dǎo)致比正常故障范圍還要大很多的面積性故障。試想,如果DRS處于非激進(jìn)狀態(tài),那么在發(fā)生HA的時(shí)候,即使資源不夠,那么故障范圍僅限于很小一部分虛擬機(jī),不會(huì)發(fā)生彼此影響,而且時(shí)間集中化的影響。尤其是Windows的虛擬機(jī),成功熱遷移的概率比Linux要低很多。所以提醒大家合理設(shè)置高可用策略。
在基于X86虛擬化架構(gòu)實(shí)現(xiàn)的過(guò)程當(dāng)中,相信每一個(gè)工程師在回憶的時(shí)候都不會(huì)覺(jué)得里面有太復(fù)雜太難以忘卻的困難點(diǎn),都覺(jué)得是一個(gè)非常容易上手的項(xiàng)目。但是是否能夠提供一個(gè)穩(wěn)固安全高效的虛擬化架構(gòu)平臺(tái)其實(shí)并不是一件很簡(jiǎn)單的事情。
上述故障及其解決只是其中一個(gè)案例。
網(wǎng)絡(luò)虛擬化設(shè)計(jì)、集群高可用設(shè)計(jì)、資源調(diào)度策略設(shè)計(jì)、存儲(chǔ)的高可用高性能設(shè)計(jì)、部署實(shí)現(xiàn)動(dòng)態(tài)化及運(yùn)維的自動(dòng)化等等都是需要精心考慮、細(xì)致琢磨、頻繁優(yōu)化才能使其成為一個(gè)功能擴(kuò)展性強(qiáng)、功能穩(wěn)定可靠、性能發(fā)揮持久化的基礎(chǔ)平臺(tái)。
為此,社區(qū)在12月30日將基于虛擬化架構(gòu)當(dāng)中的高可用設(shè)計(jì)方面進(jìn)行細(xì)致深入探討。
擬從以下幾個(gè)方面展開(kāi):
1 集群的高可用性策略及參數(shù)選擇。
2 集群的資源分配策略制定。
3 集群的資源調(diào)度功能策略規(guī)劃。
4 在復(fù)雜應(yīng)用負(fù)載均衡策略條件下的HA及DRS策略規(guī)劃細(xì)節(jié)。
5 存儲(chǔ)高可用實(shí)現(xiàn)的方式以及優(yōu)劣選擇。
希望有更多的同業(yè)兄弟,能夠基于這些方面以及相關(guān)的擴(kuò)展方面仔細(xì)回憶,把自己珍貴的經(jīng)歷和總結(jié)分享給大家。
同時(shí)也希望在這些方面有過(guò)疑問(wèn)以及現(xiàn)在仍然有很多疑問(wèn)的的兄弟提出自己的問(wèn)題和思考,我們一起討論一起分析。使我們?cè)谶@條路上多些朋友多些見(jiàn)解,共同成長(zhǎng)。
·············
信息來(lái)源:AIX專家俱樂(lè)部
原文點(diǎn)擊:
高可用策略不合理導(dǎo)致的面積性故障