今天我有一个无法回答的问题。
我们的服务器采用双电源和电池供电。操作系统从未崩溃过。(感谢 Linux)
现在,我想知道如果服务器突然关闭会发生什么?(主板、处理器?)
在这种情况下,如果我想将我的 RAID10 集群转移到另一台服务器,如果它是软件 RAID 或硬件 RAID,会发生什么?
在这种情况下硬件 RAID 真的会更安全吗?
提前致以诚挚的谢意
答案1
答案是肯定的“取决于”。
这取决于是否是硬关机。硬关机存在缓存未写入的风险(软 RAID 和硬件 RAID),并且会丢失数据/文件损坏。两种系统都可能出现数据丢失。
我还看到了硬件 RAID 的问题,其中 RAID 控制器是问题所在,它出现故障并损坏了数据,即使新的控制器也无法恢复它(不过感谢备份)。
总的来说,我是 Linux 软件 RAID 的忠实粉丝。原因是您不必依赖某个供应商,而且多年来它的价值已经得到证实。它很可靠,您可以轻松恢复数据,可以修改数据,您可以做任何您想做的事情。
如果是 Linux 软件 RAID,当您的主板等出现故障并且您想将驱动器放入新硬件时,请按照以下步骤操作:
- 取出您的硬盘并将其放入新硬件中。
- 完毕。
如何利用硬件 RAID 解决此问题取决于您使用的 RAID 类型。尤其是对于旧硬件,这可能会令人沮丧。
另外,请始终牢记:RAID 不是备份。使用 RAID 的主要原因是减少驱动器发生故障时的停机时间。在大多数情况下,它可以避免重新安装和从备份中恢复,但切勿将其用作备份,而应将其作为补充。
答案2
与软件 RAID 和硬件 RAID 不同,不同的行为是由于是否存在断电保护缓存:
软件 RAID1 通常从集成的 SATA/SAS 端口运行,缺少电源保护缓存。这意味着在意外断电的情况下,写入只能存储在单个磁盘/支路上,从而有效地使阵列不同步。恢复供电后,阵列将通过从第一个磁盘/支路复制数据来重新同步。为了减少同步时间,高级 RAID 实现(例如 Linux MDRAID)使用写入位图来跟踪最新的块更新(仅同步这些块周围的区域)。请注意,基于 RAID 实现,您无法保证第一个磁盘/支路具有最新/正确的数据。这意味着重新同步过程主要是为了使阵列处于一致状态,而不是“恢复”数据;
没有 BBU/FBWC 的硬件 RAID1 与其软件 RAID 具有相同的缺点(由于硬件 RAID 通常会禁用磁盘的私有 DRAM 缓存,因此存在细微差别,这种做法甚至与软件 RAID 系统相比也会大大降低性能);
具有 BBU/FBWC 的硬件 RAID1 凭借其缓存的非易失性,免疫这个问题:任何写入缓存的写入都将始终写入两个都磁盘,即使在不受控制的关闭情况下。
简而言之,我强烈支持 Linux MDRAID,而不是无缓存硬件 RAID:它的代码是开放的,与硬件 RAID 卡中的二进制块形成鲜明对比。也就是说,可能需要具有充足 FBWC 的适当硬件 RAID 才能实现更高的性能。
答案3
如果您想知道万一发生意外关机,您的数据会怎样,那么如果您有备用电池,硬件 RAID 可以更好地保护数据。软件 RAID 通常必须启动完全重建,除非您有写入意图位图,这会减慢速度。
如果您要问哪个更容易迁移到另一台服务器:软件 RAID。您只需要足够的 SATA 端口。如果您的硬件控制器坏了,这通常会导致问题,您最好手边有备用控制器。