我正在两种相似的服务器型号之间进行选择,其中一种具有软件 RAID,而另一种具有硬件 RAID。
有问题的服务器是 SYS-E32-1 和 SYS-E32-3从所以你开始(一个卵巢癌品牌)且配置相似,最大的区别在于是否存在超线程和硬件 RAID:
SYS-E32-1: 英特尔至强E3 1225v2 (4c / 4t 3.2 GHz+),软件 RAID
SYS-E32-3: 英特尔至强 E3 1245v2 (4c / 8t 3.4 GHz+),硬件 RAID
两种型号都有两个硬盘,我将在 LVM 下将其用作 RAID1 或 RAID0。我将在具有 KVM 虚拟化的 CentOS 6 主机上运行 CentOS 6 和其他操作系统客户机。我们的正常负载是常见的 Web 服务。
对我来说,性能会有多大差异?在这种情况下,硬件 RAID 是否值得,还是更像是舍入误差?
澄清:我们不考虑“假 RAID“这里只有纯软件和硬件 RAID。
答案1
如果您有硬件 RAID,那么您很可能有一个带有硬件缓存的硬件控制器。如果该控制器有 BBU(断电时保留缓存内容的电池),那么性能差异将非常大。
拥有 BBU 缓存将加速大多数操作很多。这是因为所有磁盘同步/fsyncs 都是即时的,这意味着数据库、系统日志、文件系统日志等的所有磁盘更改都将更快,并且不需要将整个写入缓存刷新到磁盘。
话虽如此,上述情况是由于 BBUed 缓存造成的。也就是说,如果您在硬件 RAID 控制器之上实施软件 RAID,性能应该同样出色。也就是说,如果您决定在拥有 HW RAID 控制器的情况下执行 SW RAID。
至于它们的区别,HW 突袭是通常无忧无虑,通常具有热插拔功能。您必须使用 SW raid 亲自测试,因为底层硬件可能有问题。
据我所知(我在这里传播了一些谣言),硬件 raid 制造商在这方面投入了大量精力,并考虑了磁盘制造商甚至特定的磁盘型号。他们正在实施一些黑客攻击来克服磁盘问题,包括性能和可靠性。另一方面,SW raid 将随着内核升级而不断改进,而另一方面,人们已经多次说过硬件 raid 固件真的很糟糕。
最后,HW raid 通常带有一些日志记录,这意味着您可以查看日志来确定磁盘是否出现问题。然后,在 SW raid 上,您只需运行 dmesg 或查看 syslog 即可。
答案2
那里应该硬件和软件 raid 之间没有性能差异,但实际上,由于大多数硬件 raid 控制器都有专用缓存,因此在特定情况下它们的速度会明显更快。
虽然如果硬件控制器没有专用的缓存,那么性能应该完全相同,但仅适用于 RAID 0、1、10 和 0+1,因为它们不需要处理,因为没有奇偶校验计算。