我在LVM上运行ext4文件系统.我正在关注的两大加速选项是LVM缓存和外部ext4日志.
听起来好像我正在使用单个SSD,回写模式下的LVM缓存与在外部设备上使用ext4日志相同……基本上如果发生任何事情,则重置为日志前位置.
这是正确的解释吗?
解决方法
外部日志与LVM缓存设备完全不同.用于回写的SSD上的LVM缓存不会是易失性的,因此对数据完整性的担忧并不大(除非该缓存设备突然发生故障 – 并且此缓存设备实际上可以是RAID中的本身通过
Linux MD或类似的).
EXT4意向日志由许多小写入组成,这些小写入受益于快速低延迟存储设备,无论是外部还是存储数据的相同设备.将旋转介质用于数据磁盘时,这在高度随机和跨国的工作负载中变得相关.
写回缓存将写入合并在一起,因此写入大部分是顺序的,但不区分数据和元数据,特别是日志.它将站在所有写入的前面,缓存所有内容,然后在给定缓存数据集的刷新期间以尽可能顺序的方式排队写入磁盘.刷新命令与写屏障命令同时发送(以给定间隔),确保其后备设备上的非损坏状态.
如果写回缓存突然完全消失,您将在文件系统上浪费一些时间,但它仍然是一致的.这可以通过RAID1缓存设备来缓解.
如果日志设备死亡,则在使用#tune2fs -O ^ has_journal / path / to / ext4device丢弃日志设备之前,您将无法安装文件系统.在这种情况下,您必须使用完整的fsck扫描修复此文件系统(在某些情况下需要花费很多时间).如果在断电期间或之前发生这种情况,您也可能会看到腐败.