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

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

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

现在不用了。下载一个 qcow2 或 OVA 文件,在你的 VMware、VirtualBox、KVM 甚至云主机上创建一台虚拟机,开机、配好 IP,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:

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

输出为 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 时,先查看网卡获取到的地址:

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

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

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

故障排查速查表

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

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

下一步做什么

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

加入社区

相关推荐
上海英方软件股份有限公司3 小时前
什么是 VMware Cloud on AWS 灾难恢复
云计算·vmware·虚拟化·aws·容灾·灾难恢复·云灾备
艺杯羹1 天前
穿透深度慢思考黑盒:DeepSeek-R1 蒸馏模型量化压缩、vLLM 极限吞吐与私网落地实战
人工智能·大模型·部署
ZStack开发者社区2 天前
ZSvirt 迁移实战:从 VMware 迁移虚拟机的三种方式
开源·vmware·虚拟化·云迁移
赋创小助手3 天前
多GPU服务器交付验收:GPU健康、P2P、NCCL与稳定性测试思路
运维·服务器·人工智能·ai·部署·gpu·p2p
橙露12 天前
Cloudflare Pages 深度评测:免费静态托管的香与坑
python·部署
pnoker15 天前
从零部署 IoT DC3:四步快速启动实录
物联网·docker·部署
tangyal18 天前
kubernetes(k8s)基础理论与集群部署
kubernetes·k8s·部署·node·理论·pod·集群cluster
wjcroom18 天前
在PVE中的直通和共享文件访问
网络·经验分享·虚拟化
小周学学学21 天前
horizon一些常见的故障处理
运维·服务器·vmware·虚拟化