1 張圖秒懂 Nova 16 種操作 - 每天5分鍾玩轉 OpenStack(44)


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

image320.png

如上圖所示,我們把對 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 的操作系統層面,系統無法正常啟動。 可以使用如下操作修復 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。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM