本節經過日誌文件詳細分析 instance start 操做。web
下面是 start instance 的流程圖 api
向 nova-api 發送請求 spa
nova-api 發送消息 日誌
nova-compute 執行操做 orm
下面咱們詳細討論每個步驟。 blog
客戶(能夠是 OpenStack 最終用戶,也能夠是其餘程序)向API(nova-api)發送請求:「幫我啓動這個 Instance」 隊列
查看日誌 /opt/stack/logs/n-api.log rpc
nova-api 向 Messaging(RabbitMQ)發送了一條消息:「啓動這個 Instance」 查看源代碼 /opt/stack/nova/nova/compute/api.py 的 2002 行,方法是 start。 消息隊列
self.compute_rpcapi.start_instance() 的做用就是向 RabbitMQ 上 nova-compute 的消息隊列裏發送一條 start instance 的消息。 it
查看日誌 /opt/stack/logs/n-cpu.log
開始啓動
準備虛擬網卡
準備 instance 的 XML 文件
準備 instance 鏡像文件
成功啓動
Start 操做的分析就得這裏,下節繼續討論其餘 nova 操做。