背景
我正在构建一个简单的家庭存储服务器,我将其建模为工作中的 Solaris 存储服务器。但规模较小。基本布局将是一个带有四个热插拔磁盘插槽的机箱,Solaris 位于 SSD 或 USB 棒上,两个 1 TB 磁盘位于镜像组中。这样我就有两个空的热插拔插槽,可以在需要时添加更多存储空间。
在工作中,我不会考虑使用没有热备件的双磁盘镜像,因为存在第二块磁盘与第一块磁盘来自同一工厂批次的风险,并且可能在第一个磁盘发生故障十分钟后出现相同症状的故障。在家里,我不想花钱购买热备件或更多磁盘,但希望对此有所保护。
问题
对于在镜像集中混合使用驱动器(例如一个 WD RE4 和一个 Seagate Constellation ES),大家的共识是什么?它至少应该将系统制造缺陷导致两个磁盘损坏的可能性降至最低。对于 ZFS 来说,处理小尺寸差异没有问题,但这里还有其他潜在的陷阱或恐怖故事吗?
答案1
我认为您无需过于担心一批磁盘出现故障的可能性。您仍在使用随时可用的消费级驱动器,它们同时发生故障而无法被 ZFS 识别(SMART、损坏等)的可能性非常小。尝试以镜像方式使用这些磁盘,而不是 RAIDZ。甚至可能不需要热备用。如果一个磁盘出现故障,请前往当地零售商处购买替换磁盘。由于一批驱动器出现故障,您更有可能遇到 SSD 故障、USB 问题或硬件问题,而不是灾难性的同时驱动器故障。
答案2
如果您确保在驱动器上运行 SMART 监控,以便提前收到损坏警告,从而可以尽早更换驱动器,那么这将不是问题。即使在突然发生故障的情况下,SMART 也无法预测在更换另一半镜像之前镜像的第二半发生故障的可能性非常小(考虑到您可能可以在 24 小时内从当地零售商那里买到新驱动器,如果故障驱动器在商店营业时间内发生故障,则可能性更小)。
请记住,热备用无法保护您免受多种可能的灾难情况的影响(控制器损坏,同时带走两个驱动器,在激活热备用时热备用也同样损坏,文件系统损坏(RAID1 将准确保留损坏数据的两个副本!),等等),因此,即使只有一个,您仍然需要确保在其他地方拥有良好的备份。
使用来自两个制造商的驱动器并没有什么问题,但如果它们具有不同的性能指标,您会发现您的 RAID1 阵列可能不会比任何给定基准测试中最差的驱动器更好(但任何性能差异都非常小)。如果您担心从同一批产品中购买两个驱动器,您也可以从两个不同的供应商处购买相同品牌和型号的驱动器。
您提到了驱动器长度可能不完全相同的问题(无论如何这对 ZFS 来说不是问题)。对于 RAID,通常建议您将 RAID 分区设置为比最大值小一点,在现代驱动器上应该为 1% 或 2%,以允许更换驱动器时可能出现的差异。