OpenStack Nova秒级创建虚拟机方案

本文探讨了OpenStack Nova在不同存储和启动方式下创建虚拟机的组合,指出镜像启动和卷启动的四种模式均涉及镜像下载、上传或拷贝,耗时较长。为了实现秒级创建,建议将Glance、Cinder和Nova后端统一为Ceph,并详细介绍了优化步骤,包括修改Glance配置、转换镜像格式、清理缓存镜像等,以实现基于Ceph的写时复制(copy on write)技术,大幅提高创建速度。
摘要由CSDN通过智能技术生成

OpenStack管理虚拟机生命周期的组件是Nova,Nova创建虚拟机从后端存储类型分为本地LVM存储和远程分布式存储(例如:Ceph/SheepDog/GlusterFS),从启动方式一般分为镜像启动和卷启动两大类,按启动方式和存储后端可以有4种组合:

组合1本地LVM + 镜像启动

此种方式,虚拟机镜像事先一般也会存放在远端的分布式存储上(Ceph或Swift)。当在计算节点首次创建虚拟机时,会从远端分布式存储下载镜像到计算节点做格式转换并缓存为base-image,然后复制完整的镜像到/var/lib/nova/instances/{instance-uuid}目录下作为系统盘,耗时跟镜像大小和带宽有关,一般约数分数以上。

如果在相同的计算节点上第二次以相同的镜像创建虚拟机,因为已经有了镜像缓存,不需要再到远端分布式存储下载镜像,直接从本地计算节点拷贝镜像到虚拟机启动目录作为系统盘,耗时跟镜像大小有关,一般也得数分钟以上。

组合2:本地LVM + 卷启动

此种方式,虚拟机镜像事先一般也会存放在远端的分布式存储上(Ceph或Swift)。当在计算节点首次创建虚拟机时,会从远端分布式存储下载镜像到计算节点做格式转换并缓存为base-image,然后调用cinder在控制节点以base-image创建可bootable的卷,最后以该卷启动虚拟机。耗时跟镜像大小和带宽有关,一般也得数分钟以上。

如果在相同的计算节点上第二次以相同的镜像从卷启动创建虚拟机,因为已经有了镜像缓存,不需要再到远端分布式存储下载镜像,直接调用cinder在控制节点以base-image创建可bootable的卷,最后以该卷启动虚拟机。耗时跟镜像大小和带宽有关,一般也得数分钟以上。

组合3:远程分布式存储Ceph + 镜像启动(采用默认配置)

此种方式,虚拟机镜像事先一般也会存放在远端的分布式存储Ceph上。当在计算节点首次创建虚拟机时,首先会从远程Ceph上下载镜像到该计算节点做格式转换并缓存为base-image,然后上传base-image到远程Ceph Rbd 的pool中作为系统盘,最后以CephRbd pool中的系统盘启动虚拟机。耗时跟镜像大小和带宽有关,一般也得数分钟以上。

在相同的计算节点上第二次以相同的镜像创建虚拟机,因为已经有了镜像缓存,不需要再到远端Ceph下载镜像,直接上传base-image到远程Ceph Rbd 的pool中作为系统盘,最后以CephRbd pool中的系统盘启动虚拟机。耗时跟镜像大小和带宽有关,一般也得数分钟以上。

组合4:远程分布式存储Ceph + 卷启动(采用默认配置)

此种方式,虚拟机镜像事先一般也会存放在远端的分布式存储Ceph上。当在计算节点首次创建虚拟机时,首先会从远程Ceph上下载镜像到该计算节点做格式转换并缓存为base-image,然后调用cinder通过base-image在远程Ceph Rbd 的pool中创建可bootable的启动卷,最后以Ceph Rbd pool中的卷启动虚拟机。耗时跟镜像大小和带宽有关,一般也得数分钟以上。

在相同的计算节点上第二次以相同的镜像以卷启动创建虚拟机,因为已经有了镜像缓存,不需要再到远端Ceph下载镜像,直接调用cinder通过base-image在远程Ceph Rbd 的pool中创建可bootable的启动卷,最后以Ceph Rbd pool中的卷启动虚拟机。耗时跟镜像大小和带宽有关,一般也得数分钟以上。

秒级创建虚拟机优化方案

在优化之前,如果按照上述4种组合任一一种来创建虚拟机,如果批量创建几百台虚拟机,因为有镜像的下载、上传或者拷贝流程,整个创建流程会非常耗时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值