nova evacuate 实现当虚拟机所在宿主机出现宕机后,虚拟机可以通过evacuate将虚拟机从宕机的物理节点迁移至其它节点。 nova evacuate其实是通过虚拟机rebuild的过程完成的,原compute节点在重新恢复后会进行虚拟机删除
openstack nova启动虚拟机底层通过调用libvirt spawn方式创建虚拟机,创建虚拟机的instancem,network_info等参数在调用spawn方法的时候进行了传递进来
Nova 虚拟机启动流程包括从novaclient封装url请求 —–> nova-api接受请求 ——> nova-conductor —–> nova-scheduler根据调度选择host节点 —–> nova-compute根据虚拟机信息开始创建 —–> libvirt具体创建虚拟机 —–> 记录创建结果到数据库
Soft Delete 假删除,用户在配置的时间内可恢复。通过配置nova.conf中reclaim_instance_interval,启用Nova 软删除,底层将虚拟机假删除置为关机状态,只是在这个过程中删除了租户对quota配额的占用。reclaim_instance_interval时间到达后执行真正的物理上删除,删除后不可在恢复
HOT用来代替Amazon的CFN, 基于YAML. 描述资源(server, floating ip, volume, etc.)之间的关系.
super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。总之前人留下的经验就是:保持一致性。要不全部用类名调用父类,要不就全部用 super,不要一半一半。