nova源码分析--创建虚拟机(7)

本文深入探讨了Nova中的虚拟机创建过程,重点关注driver.py中spawn()函数,包括blockinfo.get_disk_info()获取磁盘信息,_create_image()准备启动盘,_create_and_inject_local_root()注入数据,以及最后的虚拟机XML配置和启动。在启动盘准备环节,详细介绍了如何根据用户指定方式创建qcow2或raw文件,或者挂载远程volume,以及如何从Glance下载并转换镜像文件。最后,虚拟机通过libvirt根据XML配置创建并启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件./nova/virt/libvirt/driver.py中spawn()函数负责创建和启动虚拟机,代码如下:

    def spawn(self, context, instance, image_meta, injected_files,
              admin_password, network_info=None, block_device_info=None):
        disk_info = blockinfo.get_disk_info(CONF.libvirt.virt_type,
                                            instance,
                                            image_meta,
                                            block_device_info)
        injection_info = InjectionInfo(network_info=network_info,
                                       files=injected_files,
                                       admin_pass=admin_password)
        gen_confdrive = functools.partial(self._create_configdrive,
                                          context, instance,
                                          injection_info)
        self._create_image(context, instance, disk_info['mapping'],
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值