将XFS日志放在SSD上是否可以显着提高性能?


8

我有五个磁盘阵列在RAID5中运行XFS,我想提高它的性能。我已经看到一些提示,将日志放在单独的设备上可以有所帮助,将日志放在SSD上是否有很大帮助?

从理论上讲,它应该,但是我无法找到任何案例研究来说明某人实际上已经这样做了,而购买固态硬盘然后使其无法正常工作充其量是不方便的……

Answers:


8

您需要关注的性能指标是顺序写入。具有高顺序写入速率的设备适合于外部日志设备。也就是说,FS日志相对于数据大小而言非常小。老式的旋转磁介质可能会产生一些令人印象深刻的顺序写入数。如果可以负担得起,则只要您可以将一个设备专用于一个日志,那么一个老式硬盘就可以成为很好的外部日志设备。

最高级别的SSD可以击败旋转介质以获得连续的写入速度。通过将这些高级驱动器之一专用于日志记录,您可以获得一些好处。是的,由于写入会使SSD磨损,因此磨损会更快。但是,如果仅使用5%的驱动器(如果有那么多的话),这些驱动器上的固件就足够聪明,甚至可以允许50%(或更多)的坏单元,然后再开始出现日志卷损坏的问题。在达到这一点之前,您的操作系统应该对此发出警报。通过比旋转介质更快地提交写入,可以极大地减少XFS易于出现的元数据瓶颈。

在实践中是否更快?不能说。这很大程度上取决于该XFS驱动器上的数据类型。正如我所说,元数据更新是一件很严肃的事情。如果“ noatime”没有给您足够的呼吸空间,并且您的吞吐量仍然受元数据更新的限制,那么外部日志驱动器(SSD或旋转式)将是寻求性能的下一步。


感谢您的附加信息。关于将外部日志设备放在单独的介质上可以看到什么样的改进,您有什么数字?
保罗·瓦格兰

不,我不知道。这在很大程度上取决于存储硬件的性能,Raid5在控制器上的性能如何以及使用方的应用程序/用户如何访问数据。如果您在R5磁盘I / O上遇到瓶颈,则差异可能会非常大;如果您的I / O上限不高,则差异可能会很大。测试是唯一可以确保的方法。
sysadmin1138

5

回复:“对于良好的固态存储,大约十年来,有限的写入一直不是问题……”

这不是真的。

较新的基于Flash的SSD基于MLC闪存,并且与较早的基于SLC的型号相比,具有较低的写耐久性(低10倍)。这些SSD上的固件将写入分布在SSD的整个容量上,这称为“损耗均衡”。底线是所有闪存SSD都会随着写入活动而磨损,并且底层闪存部件的密度增加得越多(从SLC到2比特/秒MLC到3比特/ cel等),速度越快闪光灯磨损了。

磁盘驱动器会随着时间而耗尽,闪存会随着使用时间而耗尽。

Flash并不是放置文件系统日志的好地方,这不仅是因为Flash磨损了,而且出于经济原因。日志/日志写为100%纯顺序I / O(无随机性)。对于这种工作负载,就每兆字节每秒的成本而言,旋转磁盘的成本仅为SSD的1/10左右。


0

有没有一种方法可以将文件元数据(inode,扩展...)发送到外部SSD?


取决于文件系统。GPFS是IBM专有的群集感知共享磁盘文件系统,例如,让您分离数据和元数据。也可以为数据或元数据指定复制。
pfo 2010年

-3

那将是一个非常糟糕的主意。SSD的写入次数有限,在其上放置文件系统日志将是达到其使用寿命的快速方法。

祝你好运,
JoãoMiguel Neves


对于良好的固态存储,大约十年来,有限的写入一直不是问题。您还会建议不要使用常规的硬盘驱动器,因为它们有时会损坏吗?
亚历克斯·霍尔斯特

1
这有点误解。SSD的使用寿命取决于每个内存块的写入次数,而不是整个驱动器的寿命。由于日志文件的写入本质上是顺序的,因此对单个内存块的写入可能很低。
克里斯·索普
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.