创建虚拟机的步骤如下:
1)Horizon通过Keystone获取Compute组件的访问地址(URL),并获取授权令牌(Token)。
2)携带授权令牌,发送创建虚拟机指令,如图1-13和图1-14所示。
3)nova-compute组件通过glance-api下载虚拟机镜像,Glance镜像中有缓存机制,通常将缓存文件放入名为_base的目录中(base缓存),如图1-15所示。镜像分两个阶段,第一个阶段是:如果base缓存中没有此次的虚拟机镜像文件,则从Glance下载镜像到base缓存;第二个阶段是:从base缓存复制到本地镜像目录。base缓存可关闭,默认为开启。建议不要修改此默认值,因为如果每次镜像都通过Glance下载,会消耗大量的网络带宽。base缓存的存在就是为了解决虚拟机镜像文件传输消耗带宽的问题。
图1-13 创建虚拟机的流程1
图1-14 创建虚拟机的流程2
图1-15 创建虚拟机的流程3
4)Glance检索后端镜像,Glance后端存储不一定要使用Swift,只要能存放镜像的文件系统就可以,如图1-16所示。
5)获取网络信息,决定虚拟机网络模式及建立网络连接,如图1-17所示。
6)nova-compute发送启动虚拟机指令,如图1-18所示。
图1-16 创建虚拟机的流程4
图1-17 创建虚拟机的流程5
图1-18 创建虚拟机的流程6
至此,虚拟机创建完成。