跳转到主要内容
你行网

Main navigation

  • 首页
  • Drupal
  • 编程与开发
  • 数据库
  • 操作系统与应用
  • 服务器与运维
  • 社区
User account menu
  • 登录

面包屑

  1. 首页

kvm虚拟机启动失败:default网络未激活

由 hrs, 21 八月, 2025
启动域时出错: Requested operation is not valid: network 'default' is not active
Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 72, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 108, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 57, in newfn
    ret = fn(self, *args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/virt-manager/virtManager/object/domain.py", line 1402, in startup
    self._backend.create()
  File "/usr/lib/python3/dist-packages/libvirt.py", line 1379, in create
    raise libvirtError('virDomainCreate() failed')
libvirt.libvirtError: Requested operation is not valid: network 'default' is not active

这个错误表明您的虚拟机(通过 virt-manager 或 virsh 启动)依赖于一个名为 'default' 的虚拟网络,但这个网络当前处于未激活(inactive)状态。

简单来说:虚拟机需要连接到一个网络才能启动,但它指定的“default”网络没有运行,所以启动失败了。

问题原因分析
在 libvirt(管理虚拟化的工具包)中,'default' 通常是一个由 libvirt 自己创建和管理的 NAT 类型虚拟网络。它允许虚拟机通过宿主机(物理机)访问外部网络(如互联网),但外部网络无法直接访问虚拟机,这是最常见的默认配置。

这个 'default' 网络可能因为以下原因没有启动:

最常见原因:libvirt 的守护进程(libvirtd)或其网络部分没有设置成开机自启,或者被意外停止了。

系统重启后,虚拟网络没有自动启动。

该网络被手动停止了。

解决方法
您需要做的就是启动这个 'default' 虚拟网络,并将其设置为开机自启,以防下次重启后再次出现此问题。

请按照以下步骤在终端中操作:

1. 检查虚拟网络的状态
首先,确认 'default' 网络确实存在但未激活。

bash
sudo virsh net-list --all
这条命令会列出所有定义的虚拟网络。您会看到类似下面的输出:

text
名称 状态 自动启动 持久
-----------------------------------------
default 不活跃 否 是
如果 状态 列显示为 不活跃,那就确认了我们的问题。

2. 启动 default 网络
使用 virsh 命令启动它:

bash
sudo virsh net-start default
如果成功,终端不会有太多输出。再次运行 sudo virsh net-list(不加 --all),你应该能看到 default 网络的状态变为 活跃。

3. 设置 default 网络为开机自启
为了避免每次重启电脑后都要手动启动这个网络,请将其设置为自动启动:

bash
sudo virsh net-autostart default
输出会提示:网络 default 标记为自动启动。

4. 再次启动虚拟机
现在,回到 virt-manager 图形界面或者使用 sudo virsh start <虚拟机名称> 命令,再次尝试启动你的虚拟机,应该就可以成功启动了。

如果上述方法无效?
如果 sudo virsh net-list --all 命令根本没有显示 default 网络,或者执行 net-start 时报错,那可能是 default 网络的定义文件丢失或损坏了。

这时,你可以尝试重新定义默认网络:

bash
# 首先确保 libvirt 的网络服务是活动的
sudo systemctl enable --now libvirtd

# 重新创建并启动 default 网络
sudo virsh net-define /usr/share/libvirt/networks/default.xml
sudo virsh net-start default
sudo virsh net-autostart default
如果连 /usr/share/libvirt/networks/default.xml 这个文件都不存在,那问题可能更复杂一些,可能需要重新安装 libvirt 的相关包(如 libvirt-daemon-config-network),但这在常见的 Linux 发行版(如 Ubuntu, CentOS, Fedora)上非常罕见。

总结
问题    原因    解决方案
network 'default' is not active    名为 default 的 libvirt 虚拟网络未启动    1. 使用 sudo virsh net-start default 启动网络
2. 使用 sudo virsh net-autostart default 设置开机自启
绝大多数情况下,执行第2步和第3步的命令就能完美解决这个问题

  • 登录或注册以发表评论
内容类型分类
技术文章
文章归类
操作系统与运用

文章标签

  • KVM

评论

文章标签

Excel
CSS
ubuntu
php
vim
五笔
VPN
Linux
command
HTML
drupal 8
centos
drupal 7
composer
Mysql
模块(module)
drush
Drupal
JavaSrcipt
apache
英语
drupal 9
nerdtree
network
果树种植
surround
drupal10
SEO
主题(theme)
二进制
更多

相关文章

  • 因权限问题导致drupal cms 无法正常安装,那么该如何解决这个问题
  • ubuntu 安装kvm 虚拟机
  • foreach 是 PHP 循环语句使用方法
  • implode() 函数的定义和用法
  • Drupal 11 主题制作教程
  • 检查 Composer 是否为官方源
  • 在 Drupal 中权重(Weight)是怎样排序的
  • 解决 Drupal 主题缺失问题
  • 为什么学习php 会一边学,一边忘
  • WPS文字(WPS Writer)中的装订线设置方法
RSS源

友情链接 网站地图 版权信息 联系我们 网址导航 社区

Copyright © 2019 - 2021 你行网 版权所有  粤ICP备19072650号-1