创建云主机你不知道的那些事
本文分享自天翼云开发者社区《创建云主机你不知道的那些事》,作者:乐道
在界面上简简单单点击了一下创建云主机,但是后台发生了什么?大家清楚吗?本文将详细为大家讲述整个云主机创建的流程
1、根据资源 ID 查询云主机基础信息表,如果该表里面存在云主机相关信息,会抛出异常(应该只是针对云主机名称重复场景)
2、上述云主机表查询云主机信息不存在,之后便会会生成云主机名称和云主机展示名称信息,同时生成云主机的一些其他基础信息(这块是创建云主机传入的一些参数信息)
3、前置校验如果走到克隆场景,克隆的话会校验被克隆的云主机是否存在(即云主机 A 是否存在),云主机 A 不存在抛异常
4、前置校验 image 镜像是否存在,不存在抛异常
5、前置校验 flavor 规格是否存在,不存在抛异常
6、根据 image 镜像和 flavor 规格,来更新云主机基础信息表
7、调用底层余量校验查询,如果余量不足的话,会抛异常,如果余量查询服务有问题,忽略继续往下进行(不会因为余量查询服务异常导致最终创建云主机失败)
8、网卡创建,调用网络的接口
9、前置系统盘创建,调用存储的接口
9.1、是否存在 vm_clone 参数,如果这个参数为 1,说明走的是克隆流程,需要先创建云主机快照,如果 vm_clone 参数为 0,说明非克隆流程(其中克隆云主机和通过快照创建云主机基本流程一致,唯一的区别是克隆云主机是先创建快照,再通过快照创建云主机,之后再删除快照)
9.2、判断入参是否有快照 id 或者是否为克隆场景,如果均不是的话,说明就是普通的云主机创建场景或者备份创建云主机场景
9.3、判断入参是否有系统盘 id,有的话就是普通云主机创建场景,没有的话就是备份创建云主机场景
9.4、判断入参是否有备份 id,有的话通过备份 id 创建系统盘
10、网卡和系统盘创建完之后,会通过是否有网卡和数据盘来决定 only_define 参数的值,当 only_define=true,创建完云主机后需要将云主机关机,再挂载网卡和数据盘,之后再开机,如果 only_define=false,创建完云主机就直接开机
11、之后判断入参是否有云主机组,有的话将云主机加入到云主机组中,更新云主机基础信息表
12、查询网卡信息,更新网卡信息表
13、根据传入的安全组,对云主机进行绑定和解绑安全组
14、创建并绑定 eip
15、数据盘创建和绑定,关机情况下挂载数据盘
16、判断是否为克隆云主机场景,是的话,删除快照,然后再开机,如果不是克隆场景,继续往下走
截止到这块,云主机就创建出来了,大家都懂了吗?
评论