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

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

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

打开下载中心即可看到新上架的软件包:

ZSvirt 下载中心的软件包下载页面

为什么是 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. 下载中心下载 .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:

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

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

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

输出为 1Y 表示已开启;未开启时需要给 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 时,先查看网卡获取到的地址:

ip addr

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

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

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

# 创建 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>,按向导完成平台初始化,即可开始添加主机、存储、网络并创建第一台虚拟机。完整流程可以对照快速上手教程

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

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

故障排查速查表

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

更详细的排障步骤可参考文档站:嵌套虚拟化管理节点

下一步做什么

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

加入社区