Vitastor 3.2 介绍与选型指南

Vitastor 3.2 介绍与选型指南:官方资料溯源的单机内核级块存储架构、OSD/Monitor/etcd 组件模型、VitastorFS 与 CSI 生态、快速上手与适用限制,以及与 Ceph RBD、LINSTOR/DRBD、Longhorn、iSCSI 方案的量化选型对比。

VitastorVitastor块存储2026/10/19

Vitastor 3.2 介绍与选型指南

一、信息基准

1.1 查询说明

  • 查询日期:2026-10-19。
  • 信息获取方式:纯官方资料溯源(Vitastor 官网 vitastor.io、官方文档 vitastor.io/docs、GitHub 官方仓库 vitalif/vitastor 及其 tags 页),本文不做本地安装与运行实测。
  • 版本结论:本次介绍的版本为 Vitastor 3.2 系列最新补丁 3.2.2(2026-09-27 发布)。注:项目迭代已进入 3.2.x 稳定线(任务提示中的 1.x 线口径以本次实查为准)。

1.2 版本依据

项目实查结果(2026-10-19)来源
最新补丁v3.2.2(2026-09-27),修复新 store 压缩拒绝、INCOMPLETE 状态迁移等问题github.com/vitalif/vitastor/tags(Release 3.2.2 条目)
前序补丁3.2.1(blockstores/网络层/OSD/CSI/vitastor-cli 多项修复)同上 tags 列表
代码仓库vitalif/vitastor(作者 vitalif,Vitaliy Filippov)github.com/vitalif/vitastor
发布方式GitHub 提供 tags 归档,不使用 GitHub Releases;安装以官网软件源/文档为准仓库 tags 页与官网
开源许可服务端 VNPL 1.1(基于 GPLv3 附加网络交互条款);客户端库双许可 VNPL 1.1 / GPLv2+仓库 LICENSE 文件
GitHub stars246GitHub 星标徽章(shields.io),2026-10-19 实查

1.3 官方来源清单

来源地址
官方站点https://vitastor.io/
官方文档https://vitastor.io/docs/
源码仓库https://github.com/vitalif/vitastor
tags 发布页https://github.com/vitalif/vitastor/tags
许可文本https://github.com/vitalif/vitastor/blob/master/LICENSE

二、软件概述

本文介绍的是 Vitastor 3.2(最新补丁 3.2.2,2026-09-27 发布)。

Vitastor 是一款开源的分布式软件定义存储(SDS),主打高性能块存储:为 QEMU/KVM 虚拟机磁盘、Kubernetes CSI 等块消费场景提供类 Ceph RBD 的能力,但以"极简内核"为设计目标——官网口径约 6 万行代码(对比 Ceph 的百万行量级),并强调低延迟(官方基准:副本模式下约 0.1 ms 响应、纠删码约 0.2 ms、单客户端数十万 IOPS,详见官网性能页)。项目由 Vitaliy Filippov 个人主导开发,同时提供 VitastorFS(NFS 3.0 导出的集群 POSIX 文件系统)。

需要特别注意其许可:服务端以 VNPL 1.1(基于 GPLv3 追加"网络交互"条款的强 Copyleft,比 AGPL 更严格)发布,商业闭源环境对外提供服务需购买商业授权,这是选型时的关键约束(仓库 LICENSE 原文)。

三、核心架构

3.1 组件模型

组件职责
OSD存放数据的服务进程,管理块设备(HDD/SSD/NVMe)上的数据布局(journal/blockstore)
Monitor集群元数据与节点状态监控
etcd外置元数据存储,承载集群拓扑、池/镜像元数据与 PG 状态
vitastor-cli命令行:镜像/快照/池管理等操作
vitastor-disk磁盘准备与 OSD 超级块管理工具

3.2 数据放置与可靠性

  • 存储池支持副本(replication)与纠删码(EC)两种冗余模型。
  • 以 PG(放置组)组织数据分布,故障域规则可配置(官方配置文档中的 placement 规则)。
  • 主写路径针对 Q=1 小 IO 优化,官方口径为"消除传统 SDS 的叠加延迟"(官网性能对比页)。

3.3 消费接口

  • 块:QEMU 驱动直接对接(virtio-blk/scsi 路径),面向 KVM/Proxmox/OpenNebula/OpenStack 虚拟机磁盘(官网协议页)。
  • Kubernetes:官方 CSI 驱动(vitastor-csi)供给 PVC。
  • 文件:VitastorFS 以 NFS 3.0 导出集群 POSIX 文件系统(官方 usage/nfs 文档)。
  • NBD/iSCSI 网关:兼容非 KVM 消费场景(官方文档)。

四、功能特性

4.1 性能与轻量

  • 单层 journal+blockstore 数据路径,NVMe 上低 CPU 占用(官网口径:每 NVMe 盘约 1 核)。
  • 重平衡(rebalance)对前端影响低(官网口径 50%)。
  • 代码量小(官网口径约 6 万行),可审计性与可维护性是设计目标。

4.2 企业级能力

  • 快照/克隆(COW 层叠镜像)、镜像扁平化与合并(vitastor-cli merge/rm/flatten,3.2.1 修复系列)。
  • OpenAPI 化的 vitastor-cli serve(3.2.x 引入,供自动化调用)。
  • 官方 Kubernetes Operator 由社区维护(官网链接 vitastor-operator)。

4.3 版本动态(官方 tags 实查)

  • 3.2.2(2026-09-27):新增对象存储 store(contributor Changwei Ye)、修复压测暴露的多处正确性问题。
  • 3.2.1:blockstore 异步化加固、零拷贝通知修复、Windows 客户端 rxbounce 选项、CSI 内 VitastorFS NFS 守护进程生命周期修复。
  • 发行物同步跟进发行版与虚拟化栈:已提供 Ubuntu 26.04 包与 qemu 10.2 / libvirt 12.0 适配补丁(官网更新说明)。

五、快速上手

以下步骤转述自官方文档(https://vitastor.io/docs/ ,安装/配置/使用章节),本文不做本地实测。

5.1 安装

官方提供 Debian/Ubuntu 软件源与 RPM 仓库,Debian 系形态为(转述):

apt install vitastor

组件含 vitastor-osd、vitastor-mon、vitastor-cli、vitastor-disk 等;etcd 作为依赖单独安装。

5.2 最小集群

官方单节点/集群路径为:先起 etcd,再配置 vitastor.conf(etcd 地址、磁盘布局),用 vitastor-disk prepare 初始化 OSD 数据盘,最后拉起 OSD 与 Monitor(详见官方 installation 章节)。

5.3 创建并使用块镜像

官方 CLI 形态(转述自 usage 章节):

vitastor-cli create -s 10G testimg
# QEMU 直接挂载(官方文档参数转述)
qemu-img info vitastor:testimg

Kubernetes 场景部署 vitastor-csi 后以 StorageClass 供给 PVC(官方 kubernetes 安装文档)。

六、适用场景与限制

6.1 适用场景

  • 虚拟化块存储:KVM/Proxmox/OpenStack/OpenNebula 集群的虚拟机磁盘池,追求低延迟高 IOPS。
  • Kubernetes 持久卷:CSI 供给有状态应用 PVC。
  • 想要 RBD 类能力但被 Ceph 复杂度劝退的中小规模环境。
  • 追加文件场景有限的共享存储:VitastorFS/NFS 作为补充。

6.2 限制与注意事项

  • 许可约束(最重要):服务端 VNPL 1.1 强 Copyleft,面向外部用户提供服务的商业环境需商业授权,闭源集成不可行(LICENSE 原文)。
  • 项目由个人主导、社区规模小(GitHub stars 246,2026-10-19 实查),生态与第三方集成远少于 Ceph。
  • 无对象存储(S3)与原生多协议文件系统:对象存储需求需另选方案。
  • 生产采用前需按官方文档完成故障演练(掉电、OSD 宕机、网络分区),本文未做实测。
  • 发行版覆盖集中于 Debian/Ubuntu 系,RHEL 系支持以官方仓库实际为准。

七、同类选型对比

7.1 候选概览

方案定位开源许可
Vitastor 3.2低延迟轻量分布式块存储VNPL 1.1(服务端)
Ceph RBD(Tentacle 20.2.4)全能型统一存储(块/对象/文件)LGPL-2.1(仓库标注)
LINSTOR 1.35 + DRBD基于 DRBD 复制的块存储编排(LINBIT)LINSTOR GPL-3.0;DRBD 内核模块 GPL-2.0
Longhorn v1.13Kubernetes 原生分布式块存储Apache-2.0
iSCSI(LIO/targetcli + multipath)传统共享块存储网关方案内核自带(GPL-2.0)

7.2 量化对比(2026-10-19 实查)

维度Vitastor 3.2.2Ceph 20.2.4LINSTOR 1.35.2Longhorn v1.13.0iSCSI/LIO
GitHub stars246(vitalif/vitastor)17k(ceph/ceph)1.3k(LINBIT/linstor-server;DRBD 727)8k(longhorn/longhorn)不适用(内核子系统)
最近发版v3.2.2(2026-09-27)Tentacle 20.2.4(2026-08-19,官方发行索引)v1.35.2(2026-09-14)v1.13.0(2026-09,Releases 最新)随内核发布
架构复杂度etcd + OSD/Mon,组件少MON/OSD/MGR/RGW/…全家桶DRBD + 控制面(linstor-controller/satellite)K8s 内长驻容器栈LUN + target/initiator 静态配置
冗余模型副本/EC副本/EC(CRUSH)DRBD 同步/异步复制副本/EC(CSI 侧)无内置(依赖上层)
K8s 原生度CSI + 社区 OperatorRook 编排成熟LINBIT K8s 集成完全 K8s 原生需外部 CSI-iSCSI
典型场景高 IOPS 虚拟机盘统一大规模存储复制型高可用块设备轻量 K8s 存储传统 SAN 替代

(stars 取自 GitHub 星标徽章 shields.io 2026-10-19 实查;版本与日期取自各项目官方 Releases/发行索引同日实查;许可见各仓库 LICENSE。)

7.3 选型建议

  • 追求虚拟机盘的极致低延迟、能接受个人主导项目与 VNPL 许可(或愿意购买商业授权):Vitastor 是性能导向的激进选择。
  • 需要块+对象+文件统一存储、生态与厂商支持最厚:选 Ceph(参考 《Ceph 20.2.4 介绍与选型指南》),并接受其运维复杂度。
  • 复制型两/三节点高可用块设备、有 LINBIT 商业支持诉求:LINSTOR/DRBD 更成熟。
  • 已是 Kubernetes 且只缺中等规模 PVC 存储:Longhorn 部署最省事(Apache-2.0)。
  • 只是让多台主机共享块设备、无扩展性诉求:传统 iSCSI/LIO 依旧是最简单的稳定解。

八、参考链接