O04一、Resize Instance 操做详解

 
Resize 的做用是调整instance的vCPU、内存和磁盘资源。
 
Instance 须要多少资源是定义在flavor中的,Resize操做是经过为Instance选择新的flavor来调整资源的分配。
 
有了前面对 Migrate的分析,再来看Resize的实现就很是简单了。由于 Instance 须要分配的资源发生了变化,在Resize以前须要借助nova-scheduler 从新为Instance 选择一个合适的计算节点,若是选择的节点与当前节点不是同一个,那么就须要作Migrate。
 
因此本质上讲:Resize 是在Migrate 的同时应用新的flavor。Migrate 能够看作是一个Resize的特例: flavor 没有发生变化的Resize,这也是为何咱们在上一节日志汇总看到 Migrate其实是在执行Resize操做。
 
Resize 分两种状况:
 
    A、nova-scheduler 选择的目标节点与源节点不一样,操做过程和上一节中的Migrate彻底同样,只是在目标节点启动Instance时按照新的flavor分配资源。
    B、目标节点与源节点是同一节点,下面将是操做流程
 
    一、nova-api发送Resize请求到Messaging
    二、nova-scheduler 收到Resize请求后选择合适的节点,最终选择了源节点
    三、nova-scheduler 发送在源节点Resize的信息给Messaging
    四、nova-compute在目标节点上按照新的flavor为Instance准备 cpu、mem、disk
    五、关闭Instance
    六、建立新的Instance镜像文件
    七、将Instance的目录备份一份,命名为_resize,以便revert
    八、建立新的Instance xml 定义文件
    九、准备虚拟网络
    十、启动Instance 
    十一、询问用户 Resize仍是回退
    十二、继续Resize 则删掉原Instance目录_resize。回退的话,关闭新的Instance,用_resize 恢复Instance目录,最后启动Instance
相关文章
相关标签/搜索