Pause/Resume Instance 操作詳解 - 每天5分鐘玩轉 OpenStack(34)

Pause/Resume Instance 操作詳解 - 每天5分鐘玩轉 OpenStack(34)

wKioL1hc1ovgGygzAAD70UB88fg565.png

本節通過日誌詳細分析 Nova Pause/Resume 操作。

有時需要短時間暫停 instance,可以通過 Pause 操作將 instance 的狀態保存到宿主機的內存中。當需要恢復的時候,執行 Resume 操作,從內存中讀回 instance 的狀態,然後繼續運行 instance。

下面是 pause instance 的流程圖

wKiom1hc1pfTI9D7AABrtUN39DY117.jpg

  1. 向 nova-api 發送請求

  2. nova-api 發送消息

  3. nova-compute 執行操作

下面我們詳細討論每一個步驟。

向nova-api發送請求

客戶(可以是 OpenStack 最終用戶,也可以是其他程序)向 API(nova-api)發送請求:“幫我暫停這個 Instance”

wKioL1hc1qTziyPpAAAFEWuDDLw066.jpg

查看日誌 /opt/stack/logs/n-api.log

wKiom1hc1rCB7lr4AAAlXzb-JfQ516.jpg

注:對於 Pause 操作,日誌沒有前面 Start 記錄得那麼詳細。

例如這裏就沒有記錄 nova.api.openstack.compute.servers 和 nova.compute.api 代碼模塊的日誌,這可能是因爲這個操作邏輯比較簡單,開發人員在編碼時沒有加入日誌。

nova-api 發送消息

nova-api 向 Messaging(RabbitMQ)發送了一條消息:“暫停這個 Instance” 查看源代碼 /opt/stack/nova/nova/compute/api.py,方法是 pause。

wKioL1hc1rvCltwyAAAjGlLit80333.jpg

nova-compute 執行操作

查看日誌 /opt/stack/logs/n-cpu.log

wKioL1hc1sbzTzk5AABY14RgVik918.jpg

暫停操作成功執行後,instance 的狀態變爲 Paused

wKioL1hc1tKRiiqNAAAHqawp-Ec374.jpg

Resume 操作的日誌分析留給大家練習。 提示:這裏的 Resume 操作實際上是 Unpause 操作,可以通過關鍵字“unpause”定位日誌。 以上就是 Pause/Resume 的詳細分析,下一節我們繼續分析 Suspend/Resume 操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章