无法从快照创建实例:gVNIC不兼容问题排查
问题描述
我创建了名为“instance-template”的c4-standard实例(系统为Ubuntu 22.04.5 LTS),将其作为模板使用。完成配置后创建磁盘快照,尝试基于该快照创建同类型实例时,持续报错“This boot disk source does not support gVNIC”。但根据官方文档指引,我已通过命令sudo lshw -class network验证源实例已启用gVNIC,请问我遗漏了什么?
排查与解决方案
以下是几个接地气的排查方向,按优先级尝试:
未持久化gVNIC系统配置
用lshw看到的只是当前运行时的gVNIC状态,如果没把配置写入系统持久化文件,快照恢复后新实例启动时不会自动加载gVNIC。
操作步骤:- 登录源实例,检查
/etc/netplan目录下的配置文件,确保包含gVNIC相关设置(比如指定网卡使用networkd管理,或明确配置gVNIC参数); - 执行
sudo netplan apply让配置生效,然后重启源实例; - 重启后再次用
sudo lshw -class network确认gVNIC仍正常运行,再重新创建快照。
- 登录源实例,检查
快照未继承gVNIC兼容标记
源实例的磁盘可能带有gVNIC兼容标记,但创建快照时这个标记没被同步到快照中。
操作:基于快照创建实例时,显式开启gVNIC选项——控制台创建时在“网络接口”设置里勾选“启用gVNIC”;用命令行创建则添加参数--network-interface nic-type=gVNIC。缺少gVNIC内核模块
Ubuntu 22.04.5的默认内核可能没预装gVNIC所需的iavf模块,源实例运行时可能临时加载了,但快照里没保存模块的安装状态。
操作步骤:- 在源实例执行
sudo apt install linux-modules-extra-$(uname -r)安装对应内核版本的额外模块; - 执行
lsmod | grep iavf确认模块已加载; - 重启源实例后重新创建快照。
- 在源实例执行
目标子网不支持gVNIC
即使源实例所在子网支持gVNIC,新实例选择的子网可能不兼容。
操作:确认创建实例时选择的子网属于支持gVNIC的区域,且子网配置未限制gVNIC的使用。
内容的提问来源于stack exchange,提问作者Jorvis
相关产品推荐
相关产品推荐

