天天看點

1 張圖秒懂 Nova 16 種操作 - 每天5分鐘玩轉 OpenStack(44)正常操作 故障處理 小節

前面我們讨論了 Instance 的若幹操作,有的操作功能比較類似,也有各自的适用場景,現在是時候系統地總結一下了。

1 張圖秒懂 Nova 16 種操作 - 每天5分鐘玩轉 OpenStack(44)正常操作 故障處理 小節

如上圖所示,我們把對 Instance 的管理按運維工作的場景分為兩類:正常操作和故障處理。

正常操作中,Launch、Start、Reboot、Shut Off 和 Terminate 都很好了解。 下面幾個操作重點回顧一下:

Resize

通過應用不同的 flavor 調整配置設定給 instance 的資源。

Lock/Unlock

可以防止對 instance 的誤操作。

Pause/Suspend/Resume

暫停目前 instance,并在以後恢複。

Pause 和 Suspend 的差別在于 Pause 将 instance 的運作狀态儲存在計算節點的記憶體中,而 Suspend 儲存在磁盤上。

Pause 的優點是 Resume 的速度比 Suspend 快;缺點是如果計算節點重新開機,記憶體資料丢失,就無法 Resume 了,而 Suspend 則沒有這個問題。

Snapshot

備份 instance 到 Glance。産生的 image 可用于故障恢複,或者以此為模闆部署新的 instance。

故障處理有兩種場景:計劃内和計劃外。

計劃内是指提前安排時間視窗做的維護工作,比如伺服器定期的微碼更新,添加更換硬體等。

計劃外是指發生了沒有預料到的突發故障,比如強行關機造成 OS 系統檔案損壞,伺服器掉電,硬體故障等。

對于計劃内的故障處理,可以在維護視窗中将 instance 遷移到其他計算節點。

涉及如下操作:

Migrate

将 instance 遷移到其他計算節點。

遷移之前,instance 會被 Shut Off,支援共享存儲和非共享存儲。

Live Migrate

與 Migrate 不同,Live Migrate 能不停機線上地遷移 instance,保證了業務的連續性。也支援共享存儲和非共享存儲(Block Migration)

Shelve/Unshelve Shelve 将 instance 儲存到 Glance 上,之後可通過 Unshelve 重新部署。

Shelve 操作成功後,instance 會從原來的計算節點上删除。

Unshelve 會重新選擇節點部署,可能不是原節點。

計劃外的故障按照影響的範圍又分為兩類:Instance 故障和計算節點故障

Instance 故障隻限于某一個 instance 的作業系統層面,系統無法正常啟動。

可以使用如下操作修複 instance:

Rescue/Unrescue

用指定的啟動盤啟動,進入 Rescue 模式,修複受損的系統盤。成功修複後,通過 Unrescue 正常啟動 instance。

Rebuild

如果 Rescue 無法修複,則隻能通過 Rebuild 從已有的備份恢複。Instance 的備份是通過 snapshot 建立的,是以需要有備份政策定期備份。

Instance 故障的影響範圍局限在特定的 instance,計算節點本身是正常工作的。如果計算節點發生故障,OpenStack 則無法與節點的 nova-compute 通信,其上運作的所有 instance 都會受到影響。這個時候,隻能通過 Evacuate 操作在其他正常節點上重建 Instance。

Evacuate

利用共享存儲上 Instance 的鏡像檔案在其他計算節點上重建 Instance。

是以提前規劃共享存儲是關鍵。

到這裡,我們已經學習了 OpenStack Nova 的架構,讨論了 Nova API,Scheduler,Compute 等重要元件,并通過案例詳盡的剖析了 Nova 各個操作,最後用一張圖總結了這些操作的用途和使用場景。

Nova 是 OpenStack 最重要的項目,處于 OpenStack 的中心。

其他 Keystone,Glance,Cinder 和 Neutron 項目都是為 Nova 其服務的,一定要好好了解。

下一節我們将學習 OpenStack 塊存儲服務 - Cinder。

1 張圖秒懂 Nova 16 種操作 - 每天5分鐘玩轉 OpenStack(44)正常操作 故障處理 小節

繼續閱讀