天天看點

Pause/Resume Instance 操作詳解 - 每天5分鐘玩轉 OpenStack(34) 向nova-api發送請求 nova-api 發送消息 nova-compute 執行操作

Pause/Resume Instance 操作詳解 - 每天5分鐘玩轉 OpenStack(34) 向nova-api發送請求 nova-api 發送消息 nova-compute 執行操作

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

有時需要短時間暫停 instance,可以通過 Pause 操作将 instance 的狀态儲存到主控端的記憶體中。當需要恢複的時候,執行 Resume 操作,從記憶體中讀回 instance 的狀态,然後繼續運作 instance。

下面是 pause instance 的流程圖

Pause/Resume Instance 操作詳解 - 每天5分鐘玩轉 OpenStack(34) 向nova-api發送請求 nova-api 發送消息 nova-compute 執行操作

向 nova-api 發送請求

nova-api 發送消息

nova-compute 執行操作

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

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

Pause/Resume Instance 操作詳解 - 每天5分鐘玩轉 OpenStack(34) 向nova-api發送請求 nova-api 發送消息 nova-compute 執行操作

檢視日志 /opt/stack/logs/n-api.log

Pause/Resume Instance 操作詳解 - 每天5分鐘玩轉 OpenStack(34) 向nova-api發送請求 nova-api 發送消息 nova-compute 執行操作

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

例如這裡就沒有記錄 nova.api.openstack.compute.servers 和 nova.compute.api 代碼子產品的日志,這可能是因為這個操作邏輯比較簡單,開發人員在編碼時沒有加入日志。

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

Pause/Resume Instance 操作詳解 - 每天5分鐘玩轉 OpenStack(34) 向nova-api發送請求 nova-api 發送消息 nova-compute 執行操作

檢視日志 /opt/stack/logs/n-cpu.log

Pause/Resume Instance 操作詳解 - 每天5分鐘玩轉 OpenStack(34) 向nova-api發送請求 nova-api 發送消息 nova-compute 執行操作

暫停操作成功執行後,instance 的狀态變為 Paused

Pause/Resume Instance 操作詳解 - 每天5分鐘玩轉 OpenStack(34) 向nova-api發送請求 nova-api 發送消息 nova-compute 執行操作

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

Pause/Resume Instance 操作詳解 - 每天5分鐘玩轉 OpenStack(34) 向nova-api發送請求 nova-api 發送消息 nova-compute 執行操作

繼續閱讀