# 没有物理服务器也能部署 ZSvirt：qcow2 与 OVA 镜像包来了

> ZSvirt 下载中心新增 qcow2 与 OVA 镜像包：无需物理服务器，在一台虚拟机（VMware、KVM、VirtualBox 或云主机）中即可部署管理节点。本文说明新增两种格式的原因，并给出从下载、导入到初始化的完整步骤。

- 发布时间: 2026-09-07
- 更新时间: 2026-09-07
- 作者: [ZSvirt 团队](https://github.com/ZSvirt)
- 分类: 最佳实践
- 标签: ZSvirt, 虚拟化, 部署, qcow2, OVA, 嵌套虚拟化, ZSvirt qcow2, ZSvirt OVA, 虚拟机安装 ZSvirt, ZSvirt 部署, VMware OVA 导入, KVM 镜像

过去几周，我们从正式开源一路聊到如何评估、部署和迁移。今天想分享一个让评估变得更快的新变化：**下载中心新增了 qcow2 与 OVA 两种镜像包**。

以前想试 ZSvirt，要么准备一台物理服务器，要么在虚拟机里挂载 ISO 走一遍安装流程。对于只想"先看看能不能用"的团队来说，这个起步成本并不低。

现在不用了。下载一个 qcow2 或 OVA 文件，在你的 VMware、VirtualBox、KVM 甚至云主机上创建一台虚拟机，开机、配好 IP，ZSvirt 管理节点就绪——不需要任何物理硬件。

打开[下载中心](https://zsvirt.io/zh/download/)即可看到新上架的软件包：

[图片可在规范 HTML 页面中查看: ZSvirt 下载中心的软件包下载页面](https://zsvirt.io/zh/blog/nested-virtualization-management-node/)

## 为什么是 qcow2 和 OVA

ISO 面向的是"从零安装"：安装器会引导你选择系统盘、配置网络、设置 root 密码。而 qcow2 和 OVA 是已经封装好的虚拟机镜像，**系统和管理节点服务都已内置，开机即用**，跳过了安装器的全部交互。

两种格式各有所长，对应不同的运行环境：

| 镜像格式 | 特点 | 常见运行环境 |
| --- | --- | --- |
| qcow2 | KVM/QEMU 生态的标准磁盘格式，占用小、按需增长 | KVM、云主机 |
| OVA | 打包好的虚拟机模板，导入即得完整虚拟机 | VMware Workstation / ESXi、VirtualBox |

> ISO 安装仍然适合生产环境和新硬件的正式部署。qcow2 / OVA 则是为评估、PoC 和实验室场景准备的更轻路径。

## 开始之前：准备什么

要求不高，一台虚拟机即可同时充当管理节点。建议按下面的配置创建：

| 项目 | 建议 |
| --- | --- |
| CPU | 16 vCPU（OVA 镜像默认值） |
| 内存 | 16 GiB（OVA 镜像默认值） |
| 系统盘 | 下载的 qcow2 或 OVA 镜像 |
| 网卡 | 至少一块连接管理网络的虚拟网卡 |
| IP | 一个可分配的管理节点 IP、子网掩码与网关 |

一个容易踩的坑：**在虚拟机里运行虚拟化，需要 hypervisor 支持嵌套虚拟化（Nested Virtualization）**。在 VMware 上创建或导入虚拟机时，需要在处理器设置中勾选 *Expose hardware assisted virtualization to the guest OS*（向客户机操作系统暴露硬件辅助虚拟化）。VirtualBox、KVM 与云主机也都有对应的开启方式，见下文各场景。

## 场景一：在 VMware 中使用 OVA

OVA 是 VMware 生态最顺手的格式。

1. 从[下载中心](https://zsvirt.io/zh/download/)下载 `.ova` 文件；
2. 打开 VMware Workstation，选择 **File → Open**，选中下载的 OVA 文件导入；
3. 编辑虚拟机设置，确认 CPU 与内存满足要求（OVA 默认已配置 **16 vCPU / 16 GiB**，可按需保留或调整）；
4. 在 **Processors** 设置中勾选 **Virtualize Intel VT-x/EPT or AMD-V/RVI**（ESXi 对应选项为 *Expose hardware assisted virtualization to the guest OS*）；
5. 开机并打开控制台，进入下一步初始化。

## 场景二：在 KVM/QEMU 中使用 qcow2

qcow2 是 KVM/QEMU 的原生格式，直接作为磁盘挂载即可。

用 virt-manager 创建虚拟机时，选择 **Import existing disk image**，指定下载的 qcow2 文件，分配 8 vCPU / 8 GiB 内存后启动。也可以使用 virt-install：

```bash
virt-install \
  --name zsvirt-mn \
  --vcpus 8 \
  --memory 8192 \
  --disk path=/var/lib/libvirt/images/ZSvirt-x86_64-<version>-h84r.qcow2,format=qcow2,device=disk \
  --network network=default \
  --import
```

若虚拟机内的虚拟化功能无法启用，先确认宿主机已开启嵌套虚拟化：

```bash
cat /sys/module/kvm_intel/parameters/nested   # Intel
cat /sys/module/kvm_amd/parameters/nested     # AMD
```

输出为 `1` 或 `Y` 表示已开启；未开启时需要给 KVM 内核模块加上 `nested=1` 参数后重新加载。

## 场景三：VirtualBox 与云主机

**VirtualBox**：直接导入 OVA 最省事——**File → Import Appliance**，选中下载的 OVA 即可。导入后在虚拟机设置的 **System → Processor** 中勾选 **Enable Nested VT-x/AMD-V**。

**云主机**：选择**支持嵌套虚拟化的实例类型**（不同云厂商机型各异，通常在裸金属或特定性能型实例上提供）。将 qcow2 作为系统盘创建云主机，或先上传到镜像服务再以此创建实例。

## 开机后的初始化

无论哪种环境，管理节点首次启动后的操作是一致的。

**第一步：登录并修改密码。** 在控制台按下 `Ctrl+Alt+F2` 切换到登录终端，以 `root` 登录。默认密码为 `zsvirt.123`，登录后立即执行 `passwd` 修改——这是任何环境都该养成的习惯。

**第二步：配置网络并启动服务。** 有两种情况：

**管理网络有 DHCP 时**，先查看网卡获取到的地址：

```bash
ip addr
```

将获取到的 IP 写入管理节点配置并启动服务：

```bash
zstack-ctl change_ip --ip <management-node-ip>
zstack-ctl start
```

**管理网络没有 DHCP 时**，需要手动创建 bond 并配置静态地址：

```bash
# 创建 bond0
zs-bond-ab -c bond0

# 将管理网卡加入 bond0
zs-nic-to-bond -a bond0

# 为 bond0 配置静态地址（依次为 IP、子网掩码、网关）
zs-network-setting -i bond0 <management-node-ip> <netmask> <gateway>
```

网络就绪后，同样执行 `zstack-ctl change_ip --ip <management-node-ip>` 与 `zstack-ctl start` 完成初始化。

**第三步：访问 Web 界面。** 浏览器打开 `https://<management-node-ip>`，按向导完成平台初始化，即可开始添加主机、存储、网络并创建第一台虚拟机。完整流程可以对照[快速上手教程](https://zsvirt.io/zh/blog/zsvirt-quickstart-deploy-your-first-vm)。

## 进阶：同一镜像也能当计算节点

如果只需要把该节点加入现有集群作为计算节点，可以跳过 `zstack-ctl change_ip` 与 `zstack-ctl start` 两步——镜像同样支持该用法。管理节点本身则会运行完整的控制面服务。

## 故障排查速查表

| 现象 | 优先检查 |
| --- | --- |
| UI 无法加载 | 虚拟机是否在运行、管理网卡是否连接了正确网络 |
| IP / 掩码 / 网关不对 | `zstack-ctl change_ip --ip <management-node-ip>` 是否已执行且填写正确 |
| 服务未启动 | 是否已执行 `zstack-ctl start` 并等待启动完成 |
| 外部无法访问 | 工作站或其他主机能否访问管理节点 IP，防火墙是否放行 443 端口 |
| 虚拟化功能不可用 | hypervisor 是否已开启嵌套虚拟化（见上文各场景） |

更详细的排障步骤可参考[文档站：嵌套虚拟化管理节点](https://docs.zsvirt.io/docs/quick-start/nested-virtualization-management-node)。

## 下一步做什么

- [下载 qcow2 / OVA 镜像](https://zsvirt.io/zh/download/)
- 跟着[快速上手教程](https://zsvirt.io/zh/blog/zsvirt-quickstart-deploy-your-first-vm)创建你的第一台虚拟机
- 需要从 VMware 迁移时，阅读[迁移实战：三种方式](https://zsvirt.io/zh/blog/zmigrate-workflow-walkthrough)
- 想系统评估替代方案，可以按[PoC 指南](https://zsvirt.io/zh/blog/evaluate-zsvirt-as-a-vmware-alternative)逐步验证

我们一直认为，好的评估应该从最小的成本开始。现在，一台虚拟机就足够了。

## 加入社区

- **问题反馈**：[GitHub Issues](https://github.com/zsvirt/zsvirt/issues)
- **社区讨论**：[GitHub Discussions](https://github.com/ZSvirt/zsvirt/discussions)
- **社交媒体**：
  - YouTube：[https://youtube.com/@ZSvirt](https://youtube.com/@ZSvirt)
  - LinkedIn：[https://www.linkedin.com/in/zsvirt-community/](https://www.linkedin.com/in/zsvirt-community/)
  - X/Twitter：[https://x.com/ZSvirt](https://x.com/ZSvirt)
  - Discord：[https://discord.com/invite/KHsw63z9xA](https://discord.com/invite/KHsw63z9xA)
  - Email：[community@zsvirt.io](mailto:community@zsvirt.io)

## 官方链接


- [规范 HTML 页面](https://zsvirt.io/zh/blog/nested-virtualization-management-node/)
- [在 GitHub 讨论](https://github.com/ZSvirt/zsvirt/discussions)
