Vitastor 3.2 介绍与选型指南
Vitastor 3.2 介绍与选型指南:官方资料溯源的单机内核级块存储架构、OSD/Monitor/etcd 组件模型、VitastorFS 与 CSI 生态、快速上手与适用限制,以及与 Ceph RBD、LINSTOR/DRBD、Longhorn、iSCSI 方案的量化选型对比。
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 stars | 246 | GitHub 星标徽章(shields.io),2026-10-19 实查 |
1.3 官方来源清单
二、软件概述
本文介绍的是 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.13 | Kubernetes 原生分布式块存储 | Apache-2.0 |
| iSCSI(LIO/targetcli + multipath) | 传统共享块存储网关方案 | 内核自带(GPL-2.0) |
7.2 量化对比(2026-10-19 实查)
| 维度 | Vitastor 3.2.2 | Ceph 20.2.4 | LINSTOR 1.35.2 | Longhorn v1.13.0 | iSCSI/LIO |
|---|---|---|---|---|---|
| GitHub stars | 246(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 + 社区 Operator | Rook 编排成熟 | 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 依旧是最简单的稳定解。
八、参考链接
- 官方站点: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
- Ceph 仓库:https://github.com/ceph/ceph
- LINSTOR 仓库:https://github.com/LINBIT/linstor-server
- Longhorn 仓库:https://github.com/longhorn/longhorn