软件定义存储 · 同步复制 · 自动接管 · 开源

坏一台机器,
数据一点不丢。

Haify 把每份数据同时写在多台服务器上。一台坏了,另一台在一分钟左右接手, 虚拟机、数据库和 Kubernetes 应用接着跑。

<0.1s
虚拟机热迁移停顿
~70s
硬故障自动接管
0
故障切换数据丢失
3
网关协议 NFS/iSCSI/NVMe
topology / 每份数据在多台服务器上 · 坏一台不丢数据
Haify 控制器 VIP 192.168.1.250 · Self-HA SSH · 无 Agent node-1 · rack A ● data UpToDate /dev/drbd0 · vg0 node-2 · rack A ● data UpToDate /dev/drbd0 · vg0 node-3 · rack B ● data UpToDate /dev/drbd0 · vg0 同步复制 跨机架副本 · replicas-on-different rack
01

大家拿它做什么。

/01

永不掉线的共享文件夹

团队文件、媒体库、构建产物。客户端始终连同一个地址,一台服务器坏了也不算故障。

/02

虚拟机,换台机器接着跑

虚拟机磁盘同时存在两台服务器上:运行中的虚拟机可以在两台之间热迁移,宿主机坏了就在另一台上带着数据重新启动。

/03

Kubernetes 上的数据库和应用

持久卷不再绑死在一个节点上。节点断电,大约半分钟后 Pod 带着数据在另一台机器上跑起来;跑在 Kubernetes 里的虚拟机也能在节点之间热迁移。

/04

自己会切换的数据库

PostgreSQL、MySQL 或任何服务:数据、访问地址和服务本身一起搬到健康的服务器上,应用不用改。

/05

备份和第二个机房

定时备份到 S3、SMB 或 WebDAV,另一个机房还有一份实时副本。整个集群没了也能恢复。

/06

不再依赖存储阵列

用普通服务器和硬盘,得到以前花钱买阵列才有的可用性;iSCSI、NVMe-oF 块共享,现有主机直接能用。

02

为什么选 Haify。

没有单点故障

每次写入都落在不止一台服务器上;一台坏了,服务自己挪到健康的机器上。

用你自己的硬件

普通 Linux 服务器和本地硬盘就够,不需要存储阵列,也不需要专用网络。

好管

网页控制台、命令行,或者直接问 AI 助手。

问题早发现

出问题时推送到飞书、企业微信、钉钉或 Slack;每天自动巡检,告诉你怎么修。

从 VMware 搬过来

有一步步的指南,把 vSAN 上的虚拟机迁到 Proxmox VE + Haify。

开源

Apache 2.0,免费使用、修改,可直接上生产。

03

为什么不用现成的?

同为软件定义存储,在运维、集成和源码可控上的直接对照。

HaifyCephLINSTOR商业存储
虚拟化平台Proxmox VE · KVM · OpenStack,都带管理界面Proxmox VE · KVM · OpenStackProxmox VE · OpenStack 等看厂商
运维复杂度轻 · 一个控制器高 · MON/OSD/MGR中黑盒
块存储强一致DRBD 同步RBDDRBD 同步是
源码可控 / 可审计是是是否
Kubernetes CSI是是Piraeus看厂商
本地化交付与支持私有化 · 中文社区为主德国厂商是 · 但锁定
04

三条命令,建起一个高可用共享。

装好 Haify、注册好服务器之后,从空盘到一个坏一台也不断的 NFS 共享。

root@node1 — haify
# 1 · 用三台服务器的空盘建存储池
haify pool create --name pool0 --type lvm-thin \
  --nodes node1,node2,node3 --devices /dev/sdb

# 2 · 建一个 100G 的卷,自动放到最空的两台上
haify resource create --name data --port 7001 --size 100G --pool pool0

# 3 · 导出为高可用 NFS
haify gateway nfs create --resource data \
  --service-ip 192.168.1.200/24 --export-path /data

# 就绪 —— 客户端始终访问同一个地址,服务器坏了约 70 秒自动接管
mount -t nfs 192.168.1.200:/data /mnt
05

常见问题

关于 Haify 能做什么、跑在哪、坏了怎么办的直接回答。

Haify 是什么?

Haify 是一套开源的软件定义存储:把你自己 Linux 服务器上的硬盘变成共享存储,给文件、虚拟机、容器和数据库用。每份数据同时写在多台服务器上,坏一台机器不丢数据,一分钟左右自动接管。底层用的是 Linux 内核里成熟的 DRBD 复制。

Haify 能跑在哪些平台上?

CPU 支持 x86_64、aarch64(含鲲鹏、飞腾)与 loongarch64(龙芯);操作系统支持 Debian、Ubuntu、RHEL 系以及麒麟、统信 UOS。可在完全离线的环境中部署。

Haify 和 Ceph、LINSTOR 有什么区别?

与 Ceph 相比更轻:一个控制器管理全部节点,不用维护 MON/OSD/MGR 等多种守护进程。与 LINSTOR 相比,存储节点上不需要常驻代理进程。

服务器坏了会怎样?多久恢复?

存储和跑在上面的服务,连同对外访问的地址,会自动转到另一台健康的服务器上,大约 70 秒;客户端始终访问同一个地址,不用改配置。仲裁机制防止两台服务器同时写同一份数据(脑裂)。

支持哪些虚拟化平台?

Proxmox VE(存储插件,PVE 网页里带 Haify 面板)、普通 KVM/libvirt,以及 OpenStack(Cinder 驱动,Horizon 里带面板)。三者都支持虚拟机热迁移;宿主机坏了,虚拟机能带着数据在另一台上重新启动。

Haify 支持 Kubernetes 吗?

支持,OpenShift 也能用。持久卷支持快照、克隆、扩容和加密;不用重建就能改副本数和限速;快照可以存到集群外,在另一个集群里恢复。节点断电后大约半分钟,Pod 带着数据在另一台机器上跑起来,不用等 Kubernetes 默认的 5 分钟。

会丢数据吗?

写入返回时,数据已经在多台服务器上,所以坏一台不丢数据。另外可以定时备份到 S3、SMB 或 WebDAV,或在另一个机房保留一份实时副本,整个集群没了也能恢复。