假设我在 BIOS 中启用了镜像硬件 RAID,又称 RAID1 模式(而不是操作系统提供的软件模式,如 Windows 存储空间),它实际上如何确保 RAID 1(镜像)配置中 2 个和 3 个以上驱动器之间的数据一致性:
如果我用相同(相同品牌、型号、容量)的驱动器替换 RAID 1 驱动器之一,但不同的数据(可能是空的或者只是垃圾或不同的数据)?它如何知道哪个是它应该读取以重建 RAID 阵列的“良好/可信”驱动器?它是否会检测到变化,或者它会假设什么都没有改变并开始吐出垃圾(特别是在进行并行读取以提高性能时)?
- 如果使用不同的驱动器型号(但容量相同),有什么不同吗?
如果数据复制(镜像)是在同一个磁盘上执行的,那么为什么需要特殊的 AHCI RAID 驱动程序来进行这样的设置?子-OS 级别?驱动程序出现某种问题(例如无法加载)是否会彻底破坏或损坏 RAID 1 阵列并导致数据丢失?
如果我想将主板上的 2 个驱动器迁移到另一个,会发生什么情况?应该怎么做?即使迁移时两个驱动器包含相同的数据,我是否会丢失 RAID 设置?新系统上有没有办法提前告诉 BIOS/系统这两个驱动器来自 RAID 1,它们是同步的,不要初始化它们,只需记住它们已经在 RAID 1 中即可?
假设有一个 BIOS 级 RAID1 可用(例如在主板级别),并且我们谈论的是 2 个容量相同的类似驱动器(相同技术,即两个 SATA SSD 或两个 NVME SSD 或两个 HDD),何时(如果有的话)使用是否有意义软件 RAID(如 Windows 存储空间)?换句话说,如果可用,是否应始终优先使用硬件 RAID 1?
抱歉,有几个相关问题,但它们都与 RAID 1 数据一致性保险有关,因此我认为值得放在一起。
答案1
根据我对各种 BIOS 级硬件 RAID 系统的有限经验,我将花一点时间在这里回答。
- 它如何知道新磁盘?据我了解,BIOS 实际上将数据放置在 MBR 中,以将磁盘标识为 RAID 集的一部分。新磁盘没有该标记,因此其内容不是 RAID,因此会被覆盖。
- 可以使用容量相同的不同型号的硬盘吗?可以。我在 RAID 组中混合使用了容量相同的 Seagate 和 WD 硬盘。
- 可以将 RAID 驱动器从一个硬件 RAID 系统移动到另一个硬件 RAID 系统吗?根据我的经验,不能。我在上面的第一点中提到的 MBR 信息因 RAID BIOS 而异,因此,除非自从我上次尝试以来该数据块的标准化发生了变化,否则新的 RAID BIOS 将无法识别您放入其中的驱动器是 RAID 集,甚至无法识别包含有效数据。这就是我提出最后一点的原因:
- 什么时候改用软件 RAID 才有意义?根据我的经验,总是如此。在我使用软件 RAID(特别是 Linux mdadm)的很长一段时间里,由于硬件 RAID 控制器发生故障并留下两个已加载、镜像但无用的磁盘,我丢失的数据比所有故障造成的数据丢失还要多。