宝塔面板博客官方技术博客
宝塔面板

宝塔面板 KVM 虚拟机管理器怎么用?安装、创建虚拟机、装系统、备份全流程

更新于 2026 年 10 月 11 日

想在宝塔面板所在的 Linux 服务器上直接跑几台虚拟机,又不想离开面板去敲 virsh 命令,可以用宝塔面板的 KVM 虚拟机管理器插件。它把 ISO 镜像、虚拟网络、存储池、虚拟机、模板、快照和备份都收进面板页面,并通过 VNC 控制台装系统、维护客体系统。

先明确适用场景:这是单台 Linux 宿主机上的虚拟化插件,libvirt 连接的是本机 qemu:///system,不是多机集群管理。宿主机要求 Debian 12 及以上(含 Debian 13) 或 Ubuntu 22.04 及以上(含 Ubuntu 24.04),且能通过 apt-get 安装软件包。

一、安装插件

登录宝塔面板,进入 软件商店,搜索 KVM 虚拟机管理器,点【安装】即可。

在宝塔面板软件商店搜索并安装 KVM 虚拟机管理器

插件的安装脚本只做三件事:装插件代码、创建插件数据/任务/锁/上传和 VNC 会话目录、安装宝塔面板的 VNC WebSocket 转发类。此时不会自动装 QEMU、libvirt,也不会创建虚拟机或修改宿主机网络。

二、首次初始化(四步向导)

装完打开插件,会进入【安装与初始化】向导,依次是【环境检测】、【安装确认】、【安装进度】、【存储初始化】四步。

环境检测会检查:操作系统是否受支持、/dev/kvm 是否可用、当前用 KVM 还是 TCG、QEMU/libvirt 是否已装、默认存储是否已初始化。如果环境已完整,向导会直接跳到存储初始化。

安装 KVM 环境这一步点击下一步、勾选安装确认后,插件会安装 qemu-system-x86、libvirt-daemon-system、libvirt-clients、virtinst、bridge-utils、ovmf 等一整套虚拟化软件包,启用 libvirt 服务,并在缺少 default 网络时自动创建默认 libvirt NAT 网络。

初始化存储是最后一步,二选一:

  • 使用现有目录存储池:从列表里选一个目录型存储池,点【完成初始化】。
  • 创建目录存储池:输入存储池名称(如 kvm)和专用绝对路径(如 /www/kvm),点【完成初始化】。

存储根目录要选专用目录(如 /www/kvm),不要把 /、/www、/var、/home、/usr、/etc、/root、/tmp 这类范围过大的目录直接当作存储根目录。

初始化后,存储根目录下会生成 iso/(ISO 镜像)、disks/(虚拟机 qcow2 磁盘)、templates/(模板)、backups/(备份)几个子目录。

三、准备 ISO 镜像

【镜像管理】页当前只管理 ISO。有三种方式:

  1. 浏览器上传:点【上传镜像】选 .iso 文件,页面会显示上传字节数、分片数、进度和速度。
  2. 本地路径导入:ISO 已在宿主机上时用【从本地路径导入】,导入是复制文件、不移动也不删除原文件。
  3. URL 下载:填 HTTP/HTTPS 地址,可设置目标文件名、同名处理策略和可选的 SHA256 校验值。

下载时插件默认禁止回环、链路本地、私网和保留地址,也禁止带 URL 凭据和非 HTTP/HTTPS 协议,以降低 DNS 重绑定和 SSRF 风险。确有需要访问私有镜像源时,要在【系统设置】里启用「允许 URL 下载访问私网地址」——该选项有 SSRF 和证书伪造风险,只在确认目标可信时开启。

四、创建虚拟机

在【虚拟机】页面点【创建虚拟机】,流程分【选择系统】、【配置资源】、【确认创建】三步。

选择系统:填虚拟机名称(必须以英文字母开头,只允许字母、数字、下划线、点和短横线),选 ISO 镜像和操作系统类型(支持 Debian 12/13、Ubuntu 22.04/24.04 或其他 Linux)。

配置资源:可选快捷规格,也可手动设置。

为新虚拟机选择快捷规格并配置 CPU 内存磁盘和网络

主要参数范围:vCPU 1 至 512 核、内存 256 MB 至 1048576 MB、系统盘 1 GB 至 65536 GB、数据盘最多 15 块。固件可选 BIOS 或 UEFI,CPU 模式可选 host-passthrough 或 host-model,系统盘总线可选 VirtIO 或 SATA,网卡型号可选 VirtIO 或 e1000。网络可选 libvirt 网络、macvtap 或已有 Linux 网桥。

确认创建前插件会做容量预检:检查名称和磁盘文件是否冲突、ISO 是否存在、存储池是否运行且可写、可用空间、网络来源、CPU/内存/磁盘参数是否合法。CPU 和内存超配只显示警告;磁盘空间不足、名称冲突或网络无效会阻止创建。确认后生成后台任务,可在【任务记录】里看进度。

五、管理虚拟机:启动、关机、快照、VNC

【虚拟机】页支持搜索、筛选、分页和自动刷新,也支持单台或批量操作。

KVM 虚拟机列表和启动关机等生命周期操作入口

生命周期操作:启动、正常关机(向虚拟机发 ACPI 关机请求)、强制停止(相当于立即断电,可能损坏客体文件系统)、重启、克隆(要求源虚拟机完全关机)、删除(要求完全关机并输入名称确认,可选择是否同时删除磁盘)。

快照:支持运行中、暂停和关机状态,可创建、恢复、删除,快照描述不能超过 200 个字符。注意运行中快照不会自动执行 guest agent 文件系统冻结,应按崩溃一致性理解,数据库等业务建议先停止写入。

VNC 控制台:虚拟机运行且带 VNC 图形设备时可用。打开详情→点 VNC 入口,插件创建一次性临时令牌(约 90 秒有效、只能消费一次)并建立 WebSocket 通道,连接宿主机本地的虚拟机 VNC 端口。插件不把 VNC 端口直接暴露公网,也不设置或管理 VNC 密码。

模板:在【存储与备份→模板】点【从虚拟机制作模板】,源虚拟机必须完全关机、磁盘为文件型 qcow2。制作时会复制磁盘、执行 virt-sysprep 再压缩生成模板。之后可从模板创建虚拟机,完整克隆占用更多空间但创建后不依赖模板,链接克隆更快但必须保留父模板。

六、备份与恢复

【存储与备份→备份】里选择来源虚拟机、填备份名称、选目标目录存储池即可。

  • 关机备份:用 qemu-img convert 复制全部磁盘,离线一致性,适合数据库和重要业务。
  • 运行/暂停备份:用 libvirt backup-begin 复制磁盘,崩溃一致性。

恢复时要求输入新虚拟机名称,恢复始终创建新虚拟机、不覆盖原虚拟机。删除备份会删掉整个备份目录,不影响原虚拟机和已恢复出的新虚拟机。

七、卸载与清空数据(两个不同的动作)

仅卸载插件:只删插件代码和 VNC WebSocket 类,QEMU/libvirt 套件、虚拟机、磁盘、ISO、模板、备份、libvirt 网络和存储池定义都保留,重装插件后通常还能继续管理原有资源。

清空虚拟化数据与环境:在【系统设置→清空虚拟化数据与环境】里,先停止其他任务、核对清理预检列表(会列出将删除的虚拟机、磁盘、ISO、模板、备份和将卸载的软件包),勾选「我已备份重要数据」、输入动态确认短语后执行。这是不可恢复的高风险操作,执行前务必完成外部备份。

常见问题

  • 系统装完后为什么又进安装界面? 检查启动顺序是否为「光驱、硬盘」,建议改成「硬盘、光驱」,或装完后卸载 ISO。
  • 为什么内存占用显示「暂不可用」? 真实内存依赖客体 balloon 统计,需要虚拟机用 balloon 设备并装好驱动或 guest agent;没有有效数据时插件不会拿估算值顶替。
  • 虚拟机为什么获取不到 IP? 确认网络已启动、DHCP 可用,并检查虚拟机内网卡配置。macvtap 还取决于上游网络是否允许多个 MAC 地址。
  • VNC 连不上怎么办? 确认虚拟机在运行、域 XML 里有 VNC 图形设备,并在【系统设置→查看完整诊断】里检查 VNC 面板桥接,必要时重启宝塔面板让 WebSocket 类重新加载。

常见问题

KVM 虚拟机管理器支持哪些宿主机系统?

支持 Debian 12 及以上版本(包括 Debian 13)、Ubuntu 22.04 及以上版本(包括 Ubuntu 24.04),且宿主机需要能够使用 apt-get 安装软件包。它是宝塔面板(BT Panel)所在单台 Linux 宿主机上的插件。

宿主机没有 /dev/kvm 还能创建虚拟机吗?

能。当宿主机存在可用的 /dev/kvm 且 libvirt 确认支持时,插件使用 KVM 硬件加速;没有 /dev/kvm 时会改用 TCG 软件模拟。TCG 可以创建和运行虚拟机,但性能明显低于 KVM,在系统安装、磁盘操作和高负载场景尤其明显。

怎么创建第一台虚拟机?

先在软件商店安装「KVM 虚拟机管理器」并完成首次初始化(环境检测→安装确认→安装进度→存储初始化),再上传或导入 ISO 镜像,然后在「虚拟机」页面点「创建虚拟机」,依次完成「选择系统→配置资源→确认创建」三步,设置 vCPU、内存、磁盘、网络后提交即可。

虚拟机怎么安装操作系统?

创建虚拟机时选择好 ISO 镜像,启动虚拟机后通过 VNC 控制台进入安装界面完成系统安装。默认启动顺序为「硬盘、光驱」,空系统盘首次启动会继续尝试 ISO;如果手动改成「光驱、硬盘」,装完后记得卸载 ISO 或把硬盘调回第一启动项,否则再次开机可能重新进入安装界面。

运行中的虚拟机怎么备份?

在「存储与备份→备份」选择来源虚拟机即可。关机状态用 qemu-img convert 复制全部磁盘,属于离线一致性;运行或暂停状态用 libvirt backup-begin 复制磁盘,属于崩溃一致性。重要数据库业务建议在关机状态下备份,或在运行中备份前自行冻结应用写入。

卸载插件会删掉我的虚拟机吗?

不会。仅卸载插件只会删除插件代码和面板 VNC WebSocket 类,不会卸载 QEMU/libvirt 套件,也不会删除虚拟机、磁盘、ISO、模板、备份、libvirt 网络和存储池定义。真正删除资源要在「系统设置→清空虚拟化数据与环境」里二次确认后执行。