我们正在准备更换存储服务器 (iSCSI+NFS)。当前的服务器是 Debian Wheezy,使用 mdadm+lvm2 进行存储,并使用 drbd 和 heartbeat 进行故障转移(heartbeat 从未工作过)。
对于我们的替换服务器,我想使用 ZFS,但它的局限性在于无法实时重新配置 RAID 集。服务器最初只会部分填充。要添加驱动器,需要导出整个文件系统,重新配置,然后导入文件系统。
我最初计划使用纯 FreeBSD 系统,使用 HAST+CARP 来处理节点。HAST 只能在 GEOM 设备上运行,这就省去了 zpool,因此它可能必须在每个驱动器上运行。系统上的 HAST 设备数量是有限制的,但我一直无法找出这个限制是多少。
相反,我想到了一个可能完全是临时解决方案也可能是好答案的问题。这是建议的系统。它有一个用于操作系统的企业级 SSD,以及 25 个用于数据的可用热插拔托架。
我使用 Linux+mdadm 构建机器。2x120G SSD,RAID-1 和 8x500G SSD 作为 RAID-6。安装 xen,并构建一个 FreeBSD 虚拟机,该虚拟机具有操作系统的 RAID-1 和 zpool 设备的 RAID-6。此虚拟机是存储服务器。
这提供了 mdadm、zfs、hast 和 carp 的优势,但代价是增加了一个使用资源的层 (xen)。HAST 将在辅助机器 (构造完全相同) 的 RAID-6 上运行。
我很乐意听到任何反馈,无论是“你是个白痴”还是“我觉得这还不错”,但最好能给出理由。
谢谢你,
杆
答案1
我认为抽象层次太多,难以维持。
ZFS 很好。您不一定需要将所有数据都放在一个命名空间中,对吧?
你能如果小心操作的话,可以扩展 ZFS zpools,但您应该规划所需的存储需求和增长。
ZFS 也可以实现高可用性。请参阅:https://github.com/ewwhite/zfs-ha/wiki