• openstack shelve/unshelve/stop浅析


    声明:

    本博客欢迎转发,但请保留原作者信息!

    博客地址:http://blog.csdn.net/halcyonbaby

    内容系本人学习、研究和总结,如有雷同,实属荣幸!


    stop的虚拟机仅仅是将虚拟机停止,并未在hypervisor释放改虚拟机。虚拟机仍然占用着暂时存储资源。
    系统也为虚拟机保留着cpu/memory资源,以确保启动能够成功。

    当我们须要彻底释放cpu/memory/暂时存储资源,我们引入了shelve。
    shelve原理是将虚拟机从hypervisor上释放。虚拟机的cpu/memory不再预留。
    对暂时存储,我们通过快照将磁盘数据放置在glance上。
    对cinder后端的存储,我们无须这么复杂。


    shelve包括三个操作:

    shelve :将虚拟机停止并设置为shelved状态。将暂时存储进行快照,并存放在glance上。
    等待shelve-offload操作或者shelve周期到达。
    shelve-offload :将shelved的虚拟机从hypervisor上彻底释放。虚拟机状态转变为shelve-offload。
    unshelve :又一次选择节点启动处于shelve-offload状态的虚拟机。(之后会删除glance上的镜像)


    一个周期性任务:

    坚持处于shelved状态的虚拟机,当shelve周期到达,将虚拟机从hypervisor上释放。


    存在的缺点:

    1. unshelve可能因为资源不足而失败。
    2. 启动速度比stop的虚拟机启动慢。尤其是暂时存储(须要下载镜像)。
    3. 仅仅对系统盘进行快照,因此其它盘数据会丢失(暂时存储时)。
    4. 因为快照时,暂时存储的差分卷和母卷合并了,因此unshelve后占用的暂时存储会增大。(相当于有多份母卷)

  • 相关阅读:
    引用与指针的区别联系
    单链表热点面试题
    C语言实现的单链表
    C语言实现的顺序表
    自己实现的库函数2(memset,memcmp,memcpy,memmove)
    自己实现的库函数1(strlen,strcpy,strcmp,strcat)
    Python文件练习_注册
    Python文件练习_自动生成密码文件
    Python文件练习_读取文件并计算平均分
    Python学习笔记七_文件读写
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4305192.html
Copyright © 2020-2023  润新知