O041、Resize Instance 操作详解


参考https://www.cnblogs.com/CloudMan6/p/5548294.html   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、目标节点与源节点是同一节点,下面将是操作流程       1、nova-api发送Resize请求到Messaging     2、nova-scheduler 收到Resize请求后选择合适的节点,最终选择了源节点     3、nova-scheduler 发送在源节点Resize的信息给Messaging     4、nova-compute在目标节点上按照新的flavor为Instance准备 cpu、mem、disk     5、关闭Instance     6、创建新的Instance镜像文件     7、将Instance的目录备份一份,命名为_resize,以便revert     8、创建新的Instance xml 定义文件     9、准备虚拟网络     10、启动Instance      11、询问用户 Resize还是回退     12、继续Resize 则删掉原Instance目录_resize。回退的话,关闭新的Instance,用_resize 恢复Instance目录,最后启动Instance    

相关