从软件RAID 5磁盘故障中恢复

我正在把一个便宜的NAS盒子放在一起,我读了一些关于raid5的文章,没有我想象的那么强大。 在继续之前,我想先回答下列问题。 我提出了以下设置:1个操作系统的磁盘,3个磁盘arrays,Linux软件RAIDpipe理arrays为RAID 5,LVM顶部分割分区,某些分区上的某种forms的encryption(可能是因为encfs因为我习惯了)。

在Linux下,有三个磁盘作为raid 5pipe理,如果其中一个磁盘发生灾难性故障,另一个磁盘发生不可恢复的读取错误,是否有可能恢复arrays以外的所有数据,而不可恢复读错误? 我可以从一个RAIDarrays中读取一个磁盘吗?

如果其中一个磁盘上有坏扇区,我可以确定哪个磁盘坏扇区在打开,并从其他两个磁盘恢复数据?

如果我encryption整个RAIDarrays这是否改变了上述的答案? 我对encryption的理解很差,但是我认为encryption数据中的任何错误都会影响到其他数据。 我想这将取决于使用的encryption。

简短的答案是肯定的,这取决于,是的。 依靠。 最后,你是正确的,这取决于。

我不知道你在哪里读RAID5是不健壮的。 它比使用1驱动系统更强大; 特别是对于价格点。 如果你能买得起RAID10(RAID1 + 0),那么这可能和你将要获得的一样好,除非你投入了一些比你能负担得起的荒谬的configuration。 再一次,你可以成为一个亿万富翁,可以负担得起你想要的任何东西。 看到你如何select硬件RAID上的软件RAID,我倾向于没有。 双方都有争论,但是如果可以的话,就去硬件RAID。

RAID5非常适合冗余和可靠性。 它在所有驱动器上使用块级别的条带化和奇偶校验,因此,在3驱动器RAID5中,子系统可以承受的最大损失是一个发生故障的驱动器。 如果磁盘上有读取错误,则取决于读取错误的types。 如果这是一个坏块,意味着坏的驱动器,那么,是的,你仍然可以读取数据,只要它只是一个驱动器。 如果两个驱动器正在动作,您可能会很幸运,但最好尽快更换可疑驱动器。

如果磁盘上存在坏扇区,则可以像运行普通磁盘一样运行普通磁盘检查实用程序,但修复坏扇区并不会造成RAID5configuration的问题。 通常,拔出驱动器并让它自动重build,将解决您的大部分问题。 如果没有,那么你需要更换驱动器。

注意:你太担心失败的扇区和坏点。 除非你正在使用一批坏的IDE硬盘,否则你必须坚持下来才能避免这些问题,否则你可能会遇到这些问题,比统计上的exception情况更令人pa舌。

不pipeencryption如何,重build驱动器都不成问题。 系统会看到encryption的RAID5子系统,如常规RAID5子系统,因为这是encryption的数据,而不是RAID5configuration。 但是,如果您使用软件RAID,并且您对操作系统驱动器进行了encryption并且操作系统驱动器出现故障,那么您将遇到问题。

最后,我build议你阅读更多关于RAID以获得更好的理解: 维基百科的文章

注意:RAID5确实有其局限性,其他RAID级别在其他情况下更好。