Pause/Resume Instance 操作詳解 - 每天5分鐘玩轉 OpenStack(34)
本節通過日誌詳細分析 Nova Pause/Resume 操作。
有時需要短時間暫停 instance,可以通過 Pause 操作將 instance 的狀態保存到宿主機的內存中。當需要恢復的時候,執行 Resume 操作,從內存中讀回 instance 的狀態,然後繼續運行 instance。
下面是 pause instance 的流程圖
向 nova-api 發送請求
nova-api 發送消息
nova-compute 執行操作
下面我們詳細討論每一個步驟。
向nova-api發送請求
客戶(可以是 OpenStack 最終用戶,也可以是其他程序)向 API(nova-api)發送請求:“幫我暫停這個 Instance”
查看日誌 /opt/stack/logs/n-api.log
注:對於 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。
nova-compute 執行操作
查看日誌 /opt/stack/logs/n-cpu.log
暫停操作成功執行後,instance 的狀態變爲 Paused
Resume 操作的日誌分析留給大家練習。 提示:這裏的 Resume 操作實際上是 Unpause 操作,可以通過關鍵字“unpause”定位日誌。 以上就是 Pause/Resume 的詳細分析,下一節我們繼續分析 Suspend/Resume 操作。