我们最近买了一台我想安装Debian的塔式服务器。 我以为该设备有硬件RAID,因为我可以看到一个BIOS屏幕。 事实certificate,它仍然是一个软件RAID。 当我通过该固件configurationRAID驱动器时,我仍然可以在Debian安装程序中看到两个硬盘驱动器。 当我尝试从安装程序中重新分区时,Debian警告说软件RAID驱动器将会丢失。
我有点失望,因为我一直认为硬件RAID会产生更好的性能。 但无论如何,我现在的问题是我是否应该使用Debian安装程序来configurationRAID驱动器,并从主BIOS禁用此“固件”RAID? 还是应该使用此固件创build单独的驱动器,而不使用安装程序? 使用固件有没有可靠性方面的好处?
这个固件版本是:
LSI MegaRaid Software RAID BIOS Version A.10.10211615R LSI SATA RAID Found at PCI Bus No:00 Dev No:1F
更新我可以从评论中看到,其他人对我是否正在处理硬件RAID也感到困惑。 我的机器是联想ThinkServer TS 440.在其数据表中 ,它说的是
Integrated SATA SW RAID 0/1
据我所知,主板上的芯片中有一个硬件组件(这就是为什么它有一个PCI地址?),但不是典型的硬件RAID。
当我们所有的服务器存储都在SCSI磁盘上时,我曾经非常关注如何使用好的硬件RAID–我们使用HP / Compaq SmartArray控制器,并且非常好运。 我经营了很长一段时间,假设软件RAID会导致性能下降,而不像失效那样强壮,电池支持的硬件RAID控制器。
但是,随着我们转向更便宜的SAS和SATA存储,我越来越喜欢软件RAID。 意识到我可以简单地在操作系统中构build一个RAIDarrays直接创build了很多的灵活性和成本节省(真正的硬件控制器与电池支持caching仍然昂贵)没有太多的性能打击(当然,这取决于其余的硬件)。
在我们的情况下权衡归结为鲁棒性和性能与低成本和灵活性。 不幸的是,大多数“fakeraid”解决scheme是两全其美的:性能仍然低于真正的硬件RAID,因为在大多数情况下,CPU和系统内存在做大部分的工作,而不是fakeraid控制器,比硬件RAIDless,因为控制器更便宜,而且依赖于系统其余的硬件,灵活性更低,因为不一定要在不同硬件上重buildarrays(就像在纯软件RAID中那样)。 纯硬件或软件RAID几乎总是比fakeraid更好的select。
尽pipe如此,以下是我在使用fakeraid控制器的系统上在Debian上制作软件RAID的build议:
在BIOS中完全禁用“RAID”固件 – 将其设置为ACHI(如果使用的是SATA),JBOD或任何其他设置都可能让您将磁盘尽可能直接传递到操作系统。
使用mdraid / mdadm而不是dmraid。
使用cat /proc/mdstat检查失败/重build状态。 经常检查,并设置自动电子邮件警报,以便在磁盘发生故障时进行警报。
为了获得最佳效果,请将RAID保留在存储堆栈的底部。 如果您打算使用encryption和/或LVM, 请在RAIDarrays顶部创build这些卷(有关详细信息, 请参阅此问题,并注意所提到的问题似乎已在更新的debian / ubuntu中得到解决 )。
尽可能保持内核的最新状态,特别是在使用SSD时 – TRIM支持等function正在不断增加和改进。
正如我一直以为硬件RAID会产生更好的性能
怎么样?
最后,MegaRaid IIRC是一个SAS控制器,可以处理100多个硬盘,但它不会神奇地使他们更快。 特别是不太慢的SATA光盘。 (软件)之前,您可能达到了驱动器的IOPS限制。
开始放置一些真正的东西,你可能会看到一个区别 – 大多数硬件RAID不会为你的带宽(emmory,pci-e Slot)增加很多。
如果你有bbu(电池备份单元),你可以在控制器中使用回写caching – 那么情况会变得更好。 但有一小部分的SATA光盘 – 不,没有速度差异。
我仍然会使用它;)