我一直在想方法来加速磁盘I / O,而我一直在回来的一个瓶颈就是期刊。 对日志使用固态硬盘有明显的好处 – 除了写caching之外,当然我只是禁用日志(毕竟devicemapper似乎不支持障碍)。 为了从控制器上使用BB写入caching中获得好处,我需要禁用日志logging,但是操作系统应该在系统中断后尝试使用系统。 当然,如果操作系统知道连击内存中有什么东西,那么它可以用它作为日志 – 但这意味着它必须作为一个块设备公开,并且只能在操作系统的控制之下。
然而,我还没有find一个合适的低成本设备(对于期刊,至less有一个使用Smartmedia ,不支持Flash的写入均衡)。
虽然闪存设备没有终点,但是带有BB写入caching的磁盘/arrays控制器,到目前为止,我还没有发现任何能够将非易失性存储器作为块存储设备寻址的东西。
你能解释为什么使用固态硬盘的日记有明显的优势吗? 所有的FS实现日记作为某种环形缓冲区,无论如何访问是连续的。 只要禁用BBWCs的障碍,就可以达到。
EXT3和EXT4文件系统用于以“有序”模式安装日志。 在较新的内核中,默认是“回写”模式。 在“有序”模式下,在写入数据之前,日志更新已经提交到磁盘。 在“回写”模式下,根据正常的IO调度程序策略将日志更新写入磁盘,并且在日志更新中不会阻止写入磁盘的数据。 你基本上没有看到从性能POV中涉及的所有期刊。
你想要什么是禁用障碍(可能掩盖FUA和SCSI_CACHE_SYNCHRONIZE SCSI CDB)的任何东西,可以保护您的写入电池否则你的performance将受到影响。 您可以使用BBWC获取日志和数据中的障碍语义(或任何冲刷到磁盘并等待确认的语义)。
没有OS(VFS)的适当支持的NVRAM不会帮助你任何BBWC(无论如何是某种NVRAM)无法解决的事情。 在Linux 2.4中,支持某些NVRAM设备来加速正在同步运行的NFSv2 / 3,但是BBWC已经使它们过时了。
闪存设备的正确使用方法是不要将它们视为块设备,而是将它们用作NAND闪存。 但是这需要重新devise我们认为文件系统应该以更通用的方式与底层存储进行对话。 目前内核中也没有适当的API来使用NAND闪存。
目前只能从Nils那里得到答案 – 但根据我的评论,这里有iRAM和超级驱动器。 所以我会closures这个
SSD驱动器不应该用于频繁的写入操作。 为什么不简单地将日志放到由普通磁盘(至less4个“小”磁盘)组成的单独的防故障RAID系统(5或10)上?