故障演練
故障演練是實(shí)現(xiàn)系統(tǒng)穩(wěn)定性保障的關(guān)鍵手段,它通過(guò)向系統(tǒng)注入可控的特定故障,以驗(yàn)證和促進(jìn)系統(tǒng)的高可用性建設(shè),以及訓(xùn)練相關(guān)人員應(yīng)急能力、驗(yàn)證故障處理機(jī)制,從而減少真實(shí)故障發(fā)生時(shí)的故障恢復(fù)時(shí)間(MTTR,Mean Time To Repair)。阿里云提供了ECS故障注入的云助手插件ecs-fault-{scenename}
或ACS-ECS-{scenename}
進(jìn)行故障注入,可以更精確、便捷地進(jìn)行演練,提升演練的效果和效率。
故障演練優(yōu)勢(shì)
免費(fèi)開(kāi)源:所有執(zhí)行過(guò)的插件會(huì)自動(dòng)保存在云助手目錄下,其中包含故障注入源碼和可執(zhí)行文件。
遵循最小化原則:每個(gè)插件都僅代表一個(gè)特定的演練場(chǎng)景,按需下載使用。
操作便捷高效:所有安裝云助手的ECS實(shí)例均可執(zhí)行,只需一行命令即可完成插件的安裝和運(yùn)行。
故障演練支持的場(chǎng)景
演練場(chǎng)景 | 說(shuō)明 |
服務(wù)器宕機(jī)是一種常見(jiàn)的故障現(xiàn)象,其根源來(lái)自于軟件和硬件上發(fā)生的異常,且?guī)缀鯚o(wú)法避免。通過(guò)模擬內(nèi)核故障造成的ECS宕機(jī),可以測(cè)試業(yè)務(wù)系統(tǒng)在宕機(jī)時(shí)的反應(yīng)、檢測(cè)系統(tǒng)恢復(fù)能力、驗(yàn)證監(jiān)控和告警機(jī)制的有效性等,并基于演練結(jié)果制定應(yīng)對(duì)策略,確保生產(chǎn)環(huán)境發(fā)生宕機(jī)時(shí)系統(tǒng)能夠迅速恢復(fù)正常運(yùn)行,降低業(yè)務(wù)中斷風(fēng)險(xiǎn)。 | |
CPU利用率是衡量業(yè)務(wù)系統(tǒng)是否健康的一個(gè)重要指標(biāo),為使業(yè)務(wù)達(dá)到足夠的穩(wěn)定性,CPU利用率需保持在合理的范圍內(nèi)。過(guò)高的CPU利用率會(huì)導(dǎo)致業(yè)務(wù)延遲甚至中斷。通過(guò)注入高CPU故障,可以測(cè)試業(yè)務(wù)系統(tǒng)在特定CPU負(fù)載時(shí)的反應(yīng)、檢測(cè)系統(tǒng)恢復(fù)能力、驗(yàn)證監(jiān)控和告警機(jī)制的有效性等,并基于演練結(jié)果制定應(yīng)對(duì)策略,確保生產(chǎn)環(huán)境高CPU利用率時(shí)系統(tǒng)能夠迅速恢復(fù)正常運(yùn)行,降低業(yè)務(wù)中斷風(fēng)險(xiǎn)。 | |
通過(guò)注入進(jìn)程不斷消耗內(nèi)存,模擬云服務(wù)器ECS發(fā)生OOM(即內(nèi)存溢出)情況,測(cè)試業(yè)務(wù)進(jìn)程是否會(huì)被終止、檢測(cè)系統(tǒng)恢復(fù)能力、驗(yàn)證監(jiān)控和告警機(jī)制的有效性等,并基于演練結(jié)果制定應(yīng)對(duì)策略,確保生產(chǎn)環(huán)境發(fā)生OOM時(shí)系統(tǒng)能夠迅速恢復(fù)正常運(yùn)行,降低業(yè)務(wù)中斷風(fēng)險(xiǎn)。 | |
| |
|
使用方法
本最佳實(shí)踐依賴云助手及云助手插件,使用格式如下。
故障注入
sudo acs-plugin-manager --exec --plugin {plugin-name} --params inject,paramA=a,paramB=b
故障恢復(fù)
sudo acs-plugin-manager --exec --plugin {plugin-name} --params recover
{plugin-name}
為對(duì)應(yīng)云助手插件的插件名。插件一般分為注入(inject)和恢復(fù)(recover)兩個(gè)動(dòng)作。
故障注入會(huì)拼接注入?yún)?shù),參數(shù)鍵值對(duì)內(nèi)用等號(hào)連接,參數(shù)對(duì)之間用逗號(hào)連接。