我计划在 Linux(最新的 Ubuntu 稳定版 ppa)上运行 ZFS。硬件是 xeon E3-1270,配备 24 GB RAM、主板上有 6 个 SAS 端口以及带有 8 个 SAS 端口的超微 HBA。我计划在 RAIDZ1 中安装 4 x 3TB 的 5400rpm SATA 驱动器和 4 x 2TB 的 7200rpm SATA 驱动器。这将在虚拟机中运行 2 个文件服务器。文件服务器具有不同的性能需求,因此一个将使用 5400rpm 驱动器的存储,另一个将使用 7200 rpm 驱动器。操作系统将在单独的 SSD 上运行。
问题是:我应该如何配置它(为了性能、可靠性等)?
a. 我应该在 VM 主机上运行 ZFS,并将逻辑驱动器导出到 VM 客户机吗?还是应该将原始磁盘导出到 VM 客户机并在客户机上运行 ZFS?
b. 对于具有更高性能要求的文件服务器,我是否应该将 4 x 7200rpm 驱动器连接到 HBA,并将整个 HBA 连接到 VM 客户机?
答案1
我认为在这种情况下不需要虚拟化任何东西。文件服务器不需要这种级别的分离……但在给出的选项中,在主机上本地运行 ZFS 更有意义。在这个设置中,不要费心传递到您的客户机……
答案2
如果您想要性能,请忘记 RAIDZ1(这似乎是使用 ZFS 一段时间的人的常识)。相反,请使用镜像,因为您的磁盘容量大且转速低,速度不快。
我会将 ZFS 保持在更接近硬件的位置。将虚拟磁盘提供给虚拟机不会带来太大的损失,除非有令人信服的理由(虚拟服务器中没有 raid),否则我不会在那里运行 ZFS。
正如其他人所说,您应该考虑是否真的需要虚拟化。我的回答不涉及这部分。
答案3
为了提高性能,您最好购买更多驱动器、更快的驱动器(即至少 7200 rpm)和/或购买用于缓存的 ssd - zil 和 l2arc。和/或配置为镜像。您基本上会获得两个主轴的速度,因为您将拥有两个 vdev。如果您说 10 个驱动器作为镜像,您将获得 5 个“主轴”的速度。您有 14 个 sas 端口?
但是,如果不确定您的需求,就很难回答。如果其中一个文件服务器不经常使用,或者只有少数人使用,并且大部分是档案材料,那么速度就不是问题。
答案4
我还建议您不要费心将主机操作系统放在 SSD 上,而是使用 SSD 作为缓存设备。ZFS 确实喜欢这一点。
PS 我也会雇用Proxmox VE作为主机服务器操作系统(经典的稳定 Debian,确实非常稳定),可以使用 ZFS从盒子里。