4 驱动器软件 RAID1 与 RAID10 标题告诉您我正在考虑什么。
硬件:2x 1TB 企业级 HDD + 2x 1TB 消费级 HDD。
操作系统和软件:Linux Debian Jessie(稳定版)mdadm
。
预期用途:极高可靠性存储。不能承受数据丢失。这种事情简直是不可接受的。这就是我考虑使用 RAID1 而不是 RAID10 的原因,因为 RAID1 的容错能力应该是 3 个驱动器故障。
我发现一个缺点:将全局存储大小限制为 1/4。太疯狂了。
除了我可能已经做出的关于 RAID1 与 RAID10 的决定(除非您另有建议),我还有一个关于 RAID1 的问题:
假设我只能使用 4 个驱动器,那么使用 RAID10 的可能性就会受到限制,而使用 RAID1 时,我可以将 3 个驱动器定义为活动驱动器,将第 4 个驱动器定义为备用驱动器。或者直接定义活动的 4 个 HDD。
请告诉我你的想法?
答案1
如果您正在寻找具有高可用性的系统,并且担心驱动器崩溃,那么 RAID1 无疑是最佳解决方案。但如果您想要更多空间,RAID6这可能是一个折衷方案。您“丢失”了两个磁盘的空间以进行奇偶校验,但同时又可以避免最多两个磁盘发生故障。
如果您真的关心高可用性,那么您可能还应该考虑同步的第二台服务器。如果您担心数据丢失,那么您首先应该确保有良好的备份。RAID 是绝不备份的替代品,因为它只能防止磁盘故障,而不能防止意外删除数据、恶意软件或攻击者加密或删除您的数据等。
答案2
在这样的设置中(仅 4 个磁盘和 RAID1),最好直接使用第 4 个磁盘作为阵列成员而不是备用磁盘。
将其用作备用磁盘不会在冗余方面给您带来任何好处,而使用第 4 个磁盘作为完整阵列成员会将您的冗余度从 3 个副本增加到 4 个副本,使您能够承受 3 个磁盘故障。
无论如何,如果您过于担心数据冗余/可用性而承受不起丢失 3/4 的原始空间,那么您可能从错误的角度来解决问题。
请记住:RAID 不是备份!!!
不要通过三路镜像来增加 RAID1 设置,请确保拥有强大的备份/恢复计划。
答案3
同意,如果您对存储的要求确实如此严格,我也建议您采用多节点方法。目前,我们在每个服务器上运行 2 个节点备份存储库,并采用 RAID 10 阵列。看起来稳定且冗余。
答案4
如果您非常关心数据的可用性和完整性,并且愿意采取类似四成员 RAID-1 的操作来获得它,那么您可能应该考虑节点级别的冗余。
无论在控制器中放入多少个磁盘,仍存在单点故障,即机器本身。您无需担心在 RAID 级别进行冗余打包,而是可以实施 DRDB、GlusterFS 或 Ceph 之类的方案。
简单来说,DRDB 的行为更像网络 RAID-1。Gluster 和 Ceph 也可以这样做,但也可以大规模扩展,方法是复制到节点并在副本集之间分发数据。
您仍然可以使用这些类型的存储,在节点级别实现 RAID,但有了这些节点间复制系统,问题就少了很多,而且会降低大型部署中的可扩展性。从集群中取出整个节点、修复它,然后再放回去也很容易。在存储云中,由于这些原因,RAID 的使用越来越少。