# 虚拟化管理（容器 LXD / 虚拟机 KVM）

> 文档更新：2026-09-29 ｜ 适用版本：v3 ｜ 功能位置：侧边栏「虚拟化」→ 状态概览（/virt/overview）、实例列表（/virt/instances）；创建实例（/virt/create）从实例列表右上角进入

## 这组功能是干什么的

在**虚拟化节点**（vmnode）上通过 Incus 创建和管理两类实例：**容器实例**（LXD，轻量、秒级启动）与**虚拟机**（KVM，完整系统内核）。三个页面各司其职：状态概览看宿主机与环境、创建实例拉起新实例、实例列表做日常管理。适用于把一台服务器切成多个独立环境，或在一台物理机上开 Windows 虚拟机。

## 容器实例与虚拟机：能力边界（重点）

| 对比项 | 容器实例（LXD） | 虚拟机（KVM） |
|---|---|---|
| 宿主要求 | 普通云服务器即可运行 | 宿主机需支持虚拟化（通常为物理机 / 裸金属产品） |
| 系统支持 | 仅 Linux | Linux / Windows 均可 |
| Docker | **不能安装** | 可以安装 |
| 宝塔面板 | 可以安装 | 可以安装 |
| 1Panel / 星梦面板通用被控 | **不能安装** | 可以安装 |

容器不是轻量虚拟机：它共享宿主机内核，因此跑不了 Docker（嵌套容器化不支持），也不能安装依赖完整系统环境的组件（1Panel、通用被控）。需要这些时请创建虚拟机，创建页会自动检测节点 KVM 设备是否可用，不可用会有明确提示。

## 环境初始化

节点首次使用时，状态概览页会出现环境状态卡，引导完成 Incus 一键初始化（含宿主机拒绝 LXD 安装场景的处理）。初始化完成前，创建实例与实例列表均不可用。KVM 卡显示节点是否检出可用的硬件虚拟化——没有该设备时虚拟机无法启动（容器实例不受影响）。

## 创建实例

表单分区：基础信息、镜像、登录配置、端口映射（仅容器）、资源限制。

- **实例类型**：容器实例 / 虚拟机；**系统来源**：镜像库 / 空白磁盘；
- **镜像源**：推荐 XMPanel 源（境内加速）；备选清华 TUNA、官方源（境外较慢）。创建失败且提示镜像源异常时，切换其他镜像源重试即可；
- **拉取别名**：镜像均为 Cloud 变体（预装 cloud-init）。同节点重复创建同版本镜像会命中本地缓存，秒级完成；
- **登录配置**：密码经 cloud-init 注入镜像默认用户（debian→debian、ubuntu→ubuntu），**非 root**；创建时自动安装 SSH 服务，就绪后即可连接；
- **端口映射**（仅容器）：宿主机端口 → 容器内端口（proxy 设备），外部通过「宿主机 IP:宿主端口」访问；虚拟机有独立网络栈，无需此项；
- **资源限制**：CPU / 内存留空表示不限制；磁盘大小仅虚拟机生效（容器使用存储池原生容量）；
- **已知限制（老 CPU）**：Rocky Linux 10 无法在 E5 v2 等老 CPU 上运行（缺少新指令集，实例无法启动）；老 CPU 机器请选 Rocky 9 或 Debian / Ubuntu——越新的系统对 CPU 代际要求越高，选择过新的系统前先确认宿主机 CPU；
- **耗时预期**：节点**首次**拉取某镜像需完整下载，30 分钟也在合理范围内；提交后走异步任务，可在任务监控中查看进度；
- **空白磁盘模式**：不预装系统（自动切换为虚拟机类型，磁盘建议 ≥20GB）。创建后在实例详情「光盘」页挂载安装 ISO（ISO 经文件管理上传到 virt-iso 目录），从「显示器」连接控制台安装系统；Windows 建议同时挂载 virtio 驱动光盘。装完卸载光盘并重启。首次从光盘引导时，固件会依次尝试各启动设备（含 PXE 网络启动超时），可能需等待 1-3 分钟，属正常现象；等待期间可按 ESC 进入启动菜单，手选 CD-ROM 立即引导。详细指引见官网：
  - 驱动下载与安装流程：https://www.xmpanel.cn/wiki/vmiso
  - 安装后公网 IP 配置：https://www.xmpanel.cn/wiki/vmip

## 状态概览页

宿主机仪表盘，30 秒自动刷新：

- **环境状态卡**：仅未就绪时出现（初始化引导）；就绪后收起为顶部状态标签；
- **宿主资源卡**：CPU / 内存使用率与磁盘明细——判断还能否开新实例的第一依据；
- **防火墙联动卡**：把面板端口转发规则同步到宿主机防火墙；
- **宿主 IP 卡**：查看宿主机出口 IP，绑定公网 IP 后可重新宣告；
- **Profile / KVM / 实例汇总卡**：Incus 配置档、KVM 设备可用性、实例数量概况。

## 实例列表页

当前节点全部实例，30 秒自动刷新，操作后立即刷新一次：

- **电源操作**：启动 / 停止 / 重启，走异步任务（弹窗跟踪进度）；
- **详情抽屉**：深度管理入口——「光盘」挂载（装系统 / 驱动）、网络等配置都在这里；
- **删除**：5 秒倒计时强确认；非停止状态的实例会**先强制停止再删除**，实例与磁盘数据一并清除、不可恢复；
- **顶部工具栏**：刷新、镜像缓存（查看节点本地已缓存镜像）、导入备份（导入实例备份为新实例）、创建实例、名称搜索。

## 绑定公网 IP 后的实例内配置

给实例绑定公网 IP 后，实例内部是否需要手动配置取决于镜像类型（面板会弹窗提示，附官网教程入口）：

1. **面板 cloud 镜像**：内置 incus-agent 全自动配置，无需任何操作；
2. **自装 Linux**：一条命令，**不需要网关**（Linux 弱主机模型）：
   `ip addr add <公网IP>/32 dev eth0 && ip link set eth0 up`（重启后需做持久化）；
3. **自装 Windows**：必须静态配置——IP=绑定地址、掩码 **255.255.255.255**、网关 **169.254.0.1**（Windows 强主机模型，无网关应答出不去；「自动获取 IP」与 route add 方案实测都不可行）。另外「未识别的网络」= 公用配置文件，入站默认全拒，需放行服务端口。

图文教程：https://www.xmpanel.cn/wiki/vmip

## 常见疑问

**问：容器实例里能装 Docker 吗？**
不能。容器共享宿主机内核，不支持嵌套容器化。需要 Docker 请创建虚拟机（前提是节点有 KVM 设备）。

**问：容器里装了宝塔能用，为什么 1Panel 和通用被控装不上？**
同类限制：这些组件依赖容器内不具备的完整系统环境。需要它们请用虚拟机。

**问：创建实例卡在拉镜像很久？**
节点首次拉取该镜像需完整下载，30 分钟属合理范围；可在任务监控看进度。完成后同版本再创建走本地缓存，秒级完成。也可在实例列表「镜像缓存」中提前拉取。

**问：虚拟机创建成功但启动不了？**
大概率节点未检出 KVM 硬件虚拟化（创建页与概览页 KVM 卡均有提示），虚拟化需要宿主机本身支持（通常物理机 / 裸金属产品），普通云服务器只能跑容器实例。若 KVM 正常仍启动失败，检查系统版本对 CPU 的要求——如 Rocky Linux 10 在 E5 v2 等老 CPU 上无法启动，换 Rocky 9 / Debian / Ubuntu 即可。

**问：绑定了公网 IP 但连不上实例？**
先分清两种信号：**连接被拒绝** = 入站链路通、实例内服务未监听；**连接超时** = 链路断，多为实例内 IP 未配置（尤其 Windows 未静态配置网关）或防火墙拦截。自装 Windows 按上面第 3 条配置；排障时不要用 ping 当唯一判据（ICMP 默认不通）。

**问：装 Windows 时找不到硬盘？**
安装器加载驱动时选了 viostor——本面板磁盘走 virtio-scsi 总线，应选 **vioscsi**。驱动光盘获取见 https://www.xmpanel.cn/wiki/vmiso

## 指导用户时的注意点

- 用户问「容器和虚拟机选哪个」时，先用能力边界表定位需求：要 Docker / Windows / 1Panel / 通用被控 → 虚拟机；轻量 Linux 服务 → 容器。
- 指导「首次创建慢」时先看是不是该节点第一次用该镜像，避免用户误判为故障。
- 公网 IP 问题先问镜像类型（cloud 镜像全自动；自装系统才有配置问题），再按「被拒绝 / 超时」分流。
- Windows 装系统指导中，「选 vioscsi 不要选 viostor」与「网关 169.254.0.1」是最常见的两个坑，主动提醒。
- 删除实例前务必让用户确认数据已备份——删除不可恢复。
