lvs 输出的 Cpy%Sync 列对于缓存 LV 意味着什么?

lvs 输出的 Cpy%Sync 列对于缓存 LV 意味着什么?

我有一台主机,只有一个缓存 LV(多 TB RAID 阵列前面有约 800GB SSD;直写模式)。昨晚我对 RAID 进行了例行清理(lvchange --syncaction check)。自从完成清理后,系统一直以 100% 的 I/O 容量运行;iostat告诉我它正在从 SSD 读取数据并写入 RAID。

缓存 LV 的输出Cpy%Sync列(lvs不是RAID)在清理之前一开始就处于 98% 左右,这本身就令人担忧,但现在它正在稳步向下,目前已达到70%左右。

我认为Cpy%Sync对于缓存 LV 来说,它表示缓存中也存在于后备存储中的数据量,因此在直写模式下,它应该始终为 100%。这实际上意味着什么?系统正在做什么,导致它持续下降?

dmesg 中没有任何有用的信息。

答案1

根据 lvmraid 手册页 [1]:

当 RAID LV 激活时,会发生自动同步,但由于位图会减少检查的区域,因此同步通常只是部分同步。当 RAID LV 中的设备被替换时,需要进行完全同步。

RAID LV 的同步状态通过以下命令报告,其中“Cpy%Sync”=“100%”表示同步完成:

lvs -a -o name,sync_percent

另一段摘录:

当将完整性添加到 LV 时,内核需要初始化 LV 中所有块的完整性元数据(校验和)。dm-integrity 执行的数据损坏检查将仅对已初始化的 LV 区域进行操作。完整性初始化的进度由“syncpercent”LV 报告字段(以及 Cpy%Sync lvs 列下)报告。

然而,另一个声称存在类似问题的来源[2]提到了有关磁盘活动的以下内容:

缓存始终将其内容刷新到磁盘 - 因此如果您有“写回”变体并且有一些未写入的数据仅位于缓存中,它们会被自动推送到原始(缓存)设备 - 这可能是您的磁盘活动。

  1. https://man7.org/linux/man-pages/man7/lvmraid.7.html
  2. https://listman.redhat.com/archives/linux-lvm/2015-June/msg00001.html

相关内容