本节经过日志文件详细分析 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 操做。