硬盘缓存对 Linux softraid 有多大影响?

Jaw*_*awa 4 linux disk-cache software-raid

我正在更新/扩展我的磁盘集,但不太确定要获取哪种磁盘,缓存方面。

16/32/64MB 的磁盘缓存量与 1/1.5/2TB SATA 磁盘容量有什么区别?这些磁盘将用于 webapp 服务器和媒体工作站,在 raid-1/raid-5 配置中使用 Linux 的 softraid。请注意,由于这两个目的纯粹是出于爱好,因此一打磁盘的价格是一个大问题。

Mat*_*ons 11

缓存和 RAID 有着有趣的关系。

昂贵的 RAID 控制器具有内置缓存,它们会关闭驱动器缓存(通常)。原因是 RAID 通常旨在确保您的数据安全并提高性能。缓存以牺牲可靠性为代价来提高性能,因为如果电源耗尽,您的缓存就会消失,即使软件认为它是安全的。这会导致真正需要知道磁盘上存在数据的软件出现问题。数据库之类的东西。

电池用于将数据写入 NVRAM(在控制器的情况下)或将数据写入物理磁盘(在电池后备阵列的情况下)。

软件 RAID 真的没有那种选择。如果驱动器说“好的,我们有数据”,然后在数据仍在缓存中时断电,那就有问题了。没有用于保存数据的 NVRAM,并且由于有备用电池,磁盘不会继续旋转(无论如何都是自己的。可能有其他软件可以执行此操作)。

我会阅读软件 RAID HOWTO 中“设置注意事项”下的问题 9:http : //www.linuxjunkies.org/html/Software-RAID-0.4x-HOWTO.html#s3

这些问题有一些有趣的阅读:
SATA 磁盘可以正确处理写入缓存?
LVM 镜像 VS RAID1

无论如何,为了回答您的问题...更多驱动器缓存为驱动器提供了更多“玩”空间。换句话说,就时间而言,将东西实际放在磁盘上是很昂贵的。在内存中存储东西真的很便宜。

性能实际上取决于您放置在磁盘上的负载以及瓶颈所在。每个磁盘的主轴都有一个称为 IOPS(每秒 I/O 操作数 - http://adamstechblog.com/2009/02/10/how-to-calculate-iops-ios-per-second/)的统计信息,它决定了如何很快,它可以将位放在旋转的盘子上。如果您向硬盘驱动器提供的数据多于它可以放在磁盘上的数据,那么它就会使用缓存。如果你继续敲打它,它就会不断地进入缓存。在缓存填满时,您的计算机会在磁盘上等待清除“脏”数据(需要写入的数据)。

因此,对于 RAID 系统,您有多个磁盘正在供电,从而增加了 IOPS。添加足够的心轴后,磁盘不再是瓶颈,而是成为阵列的传输(您还没有到达那里,别担心)。

从本质上讲,在将大量数据转储到磁盘上时,更多的缓存为您提供了更多的回旋余地。如果您特别喜欢 IO 驱动,您会看到改进。

另一方面,如果您、您的软件或您的(目前不存在的)RAID 阵列禁用了驱动器缓存,那么您就白白付出了很多钱。

最后,如果您有选择,请获得较低的缓存以支持较高的旋转速度。