故障演練是實現系統穩定性保障的關鍵手段,它通過向系統注入可控的特定故障,以驗證和促進系統的高可用性建設,以及訓練相關人員應急能力、驗證故障處理機制,從而減少真實故障發生時的故障恢復(MTTR,Mean Time To Repair)。阿里雲提供了以ecs-fault-{scenename}或ACS-ECS-{scenename}命名的雲助手外掛程式向ECS注入故障,可以更精確、便捷地進行演練,提升演練的效果和效率。
故障演練優勢
免費開源:所有執行過的外掛程式會自動儲存在雲助手目錄下,其中包含故障注入源碼和可執行檔。
遵循最小化原則:每個外掛程式都僅代表一個特定的演練情境,按需下載使用。
操作便捷高效:所有安裝雲助手的ECS執行個體均可執行,只需一行命令即可完成外掛程式的安裝和運行。
故障演練支援的情境
演練情境 | 說明 |
伺服器宕機是一種常見的故障現象,其根源來自於軟體和硬體上發生的異常,且幾乎無法避免。通過類比核心故障造成的ECS宕機,可以測試業務系統在宕機時的反應、檢測系統復原能力、驗證監控和警示機制的有效性等,並基於演練結果制定應對策略,確保生產環境發生宕機時系統能夠迅速恢複正常運行,降低業務中斷風險。 | |
CPU利用率是衡量業務系統是否健康的一個重要指標,為使業務達到足夠的穩定性,CPU利用率需保持在合理的範圍內。過高的CPU利用率會導致業務延遲甚至中斷。通過注入高CPU故障,可以測試業務系統在特定CPU負載時的反應、檢測系統復原能力、驗證監控和警示機制的有效性等,並基於演練結果制定應對策略,確保生產環境高CPU利用率時系統能夠迅速恢複正常運行,降低業務中斷風險。 | |
通過注入進程不斷消耗記憶體,類比Elastic Compute Service發生OOM(即記憶體溢出)情況,測試業務進程是否會被終止、檢測系統復原能力、驗證監控和警示機制的有效性等,並基於演練結果制定應對策略,確保生產環境發生OOM時系統能夠迅速恢複正常運行,降低業務中斷風險。 | |
網路演練 | |
磁碟和IO演練 |
|
系統資源演練 |
|
使用方法
本最佳實務依賴雲助手及雲助手外掛程式,使用格式如下。
故障注入
sudo acs-plugin-manager --exec --plugin {plugin-name} --params inject,paramA=a,paramB=b故障恢複
sudo acs-plugin-manager --exec --plugin {plugin-name} --params recover
{plugin-name}為對應雲助手外掛程式的外掛程式名。外掛程式一般分為注入(inject)和恢複(recover)兩個動作。
故障注入會拼接注入參數,參數索引值對內用等號串連,參數對之間用逗號串連。