我正在用一台新的服务器替换我的两台旧机架服务器,这台服务器有足够的能力接管我当前服务器的功能。该服务器是一个 4U 机架式服务器,配有 16 个 3.5 英寸 SAS 驱动器托架、两个 2.5 英寸托架、一个 Xeon E3-1230v2 CPU 和 32GB ECC RAM。
我的问题如下。我想要一个带有 ZFS 管理磁盘的 FreeBSD 文件服务器。但是,我需要其他虚拟机,例如 shell/git 服务器、邮件服务器等。我想知道如何处理以下问题:
我希望 ZFS 完全管理磁盘,因此我不使用任何硬件 RAID。我是否应该将 SAS 控制器作为直通 PCI 直接传递给 FreeBSD 系统?
我想最大限度地提高设置的可靠性。我应该在哪些磁盘上安装虚拟机管理程序并保留服务器系统磁盘?
对于 (2),我可以选择在 SAS 控制器上设置 RAID,并将其用作系统磁盘来存储虚拟机管理程序以及 VM 映像。但是,这使得 PCI 无法直通文件服务器。另一个选择是使用两个 2.5 英寸托架。就可靠性而言,SSD 与 WD RE4 磁盘相比如何?将两个 SSD 放在软件 RAID 中作为虚拟机管理程序的启动磁盘是否有意义,或者我应该在软件 RAID 设置中使用 WD RE4 磁盘。
我还需要考虑在哪里存储邮件服务器的邮件,但这可以通过虚拟机之间的 NFS 来完成。
顺便说一句,这是家用的,所以负载其实不是那么大。我正在寻找的是拆分服务器的最佳实践。
答案1
同意这可能应该被迁移,但与此同时,这里有一些见解供您参考。
警告:总体而言,对于使用您所指出的技术进行设置,这不是最佳实践;通过直接从虚拟机管理程序运行您的配置并获取软件 RAID 来直接管理您的磁盘,或者花钱购买硬件 RAID 卡,您将获得更高的可靠性和性能。
(首先回答2,关于物流)
2:您没有指定,我假设您计划使用 ESXi。独立镜像集将提供最可靠的 ESXi OS 配置。如果您担心虚拟机管理程序的弹性/容错能力,我再次强烈建议您不要使用软件 RAID 来执行此操作(ESXi 与大多数软件 RAID 配合不佳,即使您的控制器受支持,您仍然需要处理(最好)基于 BIOS 的软件 RAID 可靠性和性能)。如果您决定这样做,请确保您的数据/VM 磁盘集完全独立于虚拟机管理程序磁盘集,并经常备份您的 ESXi 配置。
1:一旦您的虚拟机管理程序运行起来,假设ESXi 支持您的硬件原始设备映射然后,您可以将 SAS 磁盘直接公开给虚拟 BSD 实例并根据需要对其进行 z-pool/z-raid,并通过 NFS 将它们公开给您家中的其他虚拟机或计算机。
如果 ESXi 不支持您的硬件的 RDM,唯一的其他选择是从 ESXi 虚拟机管理程序创建虚拟卷并将它们公开到您的虚拟 BSD 实例。为什么这是一个非常糟糕的想法:您正在将软件 RAID 文件系统分层在虚拟的分区。如果您丢失了 z-pool 配置,则可能会丢失整个阵列,因为您正在处理位于虚拟文件系统 (VMFS) 之上的物理文件系统 (ZFS)。