我是一名兼职系统管理员,几乎没有正式的文档。我们的主要文件服务器是在 2010 年由一个甚至不再在研究所的人建立的。当时的要求是拥有三个共享文件系统:/home
每个用户有配额和备份,/usr/remote
用于大型软件包,以及/scratch
没有配额和没有备份。翻遍磁盘,我发现了一个 LVM 和一个带有专有软件的 RAID 控制器。
该服务器似乎有 14 个磁盘,每个磁盘容量为 1 TB。它们使用 RAID 1 成对连接。RAID 控制器(Areca Technology Corp. ARC-1280/1280ML 24 端口 PCI-Express 转 SATA II RAID 控制器)能够实现 RAID 5 和 6(眼镜),但不知何故没有使用。然后,一对用作该服务器的根分区。/
其他六对链接到单个 LVM 组中,然后该组有三个分区。
我询问了原因,一位资深人士只能告诉我,设置它的人应该对 LVM 有相当的了解,并且确实考虑过这一点。但我看不出这种设置的优点。我只看到缺点:
我们有 12 个磁盘,每个磁盘的原始存储空间为 1 TB,配对后实际可用空间只有 6 TB。如果将所有这些磁盘组合成 RAID 5,我们将获得 11 TB 的存储空间,如果组合成 RAID 6,我们将获得 10 TB 的存储空间。即使我们将两组 6 个磁盘组合成 RAID 6,那么可用空间仍然为 8 TB。
最坏的情况是整对磁盘发生故障,然后 LVM 的一部分丢失,我认为系统基本上会崩溃。最好的情况是每对磁盘中有一个发生故障,因此会有七个磁盘损坏。因此,从冗余角度来看,在最坏的情况下,我们并不比 RAID 5 更好。
使用 RAID 6,我们将拥有两个冗余,并且与当前设置相比仍然可以使用更多空间。那么,它的关键优势是什么,促使人们以这种方式进行设置呢?
答案1
使用 RAID 6,我们将拥有两个冗余,并且与当前设置相比仍然可以使用更多空间。那么,它的关键优势是什么,促使人们以这种方式进行设置呢?
确实如此,但与 RAID10(我认为最适合您的情况的设置)相比,容量更大且保证 2 个磁盘冗余度的情况下,随机写入操作的性能会慢得多。对于备份来说,它还可以,但对于用户共享和其他工作负载来说,就值得怀疑了。此外,旧硬盘在 RAID5/6 重建期间具有更高的故障风险。
答案2
前提:我同意 RAID6 阵列非常有意义。但是,由于有这么多相对较大的磁盘,我强烈建议避免使用 RAID5,因为重建期间第二个驱动器发生故障的可能性很高。
然而,RAID6 的性能损失很大尤其在重建期间。出于这个原因,在性能关键设置中,我通常使用 RAID10 或镜像对上的条带化(注意:由于弹性较低,应避免使用 RAID 0+1 或条带化对上的镜像)。
从您上面发布的规格来看,Areca 控制器似乎不支持 RAID10 或其他嵌套 RAID 模式。如果旧系统管理员由于其性能和较长的重建时间影响而决定避免使用 RAID6,则将各个阵列串联到更大的卷组中是更简单的方法。
话虽如此,但这并不是性能更好的方法:由于阵列只是串联在一起,低队列深度流式传输性能(即:单进程顺序读/写)将与单个镜像对的性能绑定。为了避免这种情况,应在镜像对之上放置另一个基于软件的 RAID0 层 - 无论是通过普通设置md
还是较新的striped
LVM 设置。
答案3
我们只能推测,但我认为这种设置完全合理。我认为的优点包括:
灾难恢复 - 即使它是一个专有控制器,如果主控制器发生故障,RAID1 磁盘很可能可以在另一个控制器中读取。
速度 - 控制器的规格并未提及 RAID1 或 RAID6 的速度 - 但由于没有计算,其可能的 RAID1 磁盘的执行速度将比其他高度分散的工作负载的变体快得多。
可扩展性 - 他可能一开始使用较小的阵列,然后随着时间的推移才添加对。这比重新同步磁盘要容易得多。(不过,在这种情况下所有磁盘都是 1TB 有点奇怪)
冗余度更高,在发生某些故障时重建速度更快。(出于好奇,RAID 的每个半部分中使用的磁盘是否是不同的型号或批次?如果是这样,则可能表明对故障模式进行了深思熟虑)
虽然我也会将 / 放在 LVM 上,但为了更容易设置,将其分开也并非不合理。此外,9 年前 RAID6 并不常见,因为磁盘较小,因此人们认为这种需求较少。
答案4
漂亮的图表!:-)
是的,这确实有点奇怪。由于没有品牌/型号的具体信息,我们不知道这是否是由于硬件限制或其他原因造成的,但如果不是,我会很惊讶这是由于对可用 RAID 选项的误解或对如何设置它缺乏了解以外的其他原因造成的。也许他们非常了解 LVM,只是坚持他们所知道的。
出于稳定性和性能方面的考虑,我通常建议依赖硬件 raid。