linux“mdadm --write-journal”和lvmcache - 它们如何关联?

linux“mdadm --write-journal”和lvmcache - 它们如何关联?

在 linux mdadm 手册页中,我看到了选项“--write-journal”。

这与 lvmcache 有什么关系,因为 lvmcache 是构建在 dm-cache 之上的?它们是不同的东西还是 lvmcache 在幕后做了类似“--write-journal”的事情?

谢谢!

答案1

md 联机帮助页中更详细地描述了 RAID 日志:

   RAID456 WRITE JOURNAL

   Due to non-atomicity nature of RAID write operations,  interruption  of
   write  operations  (system  crash,  etc.)  to RAID456 array can lead to
   inconsistent parity and data loss (so called RAID-5 write hole).

   To plug the write hole, from Linux 4.4 (to be confirmed),  md  supports
   write  ahead  journal  for RAID456. When the array is created, an addi‐
   tional journal device can be added to the array  through  write-journal
   option.  The  RAID write journal works similar to file system journals.
   Before writing to the data disks, md persists data AND  parity  of  the
   stripe  to  the  journal device. After crashes, md searches the journal
   device for incomplete write operations, and replay  them  to  the  data
   disks.

   When the journal device fails, the RAID array is forced to run in read-
   only mode.

lvmcache所以——这与任何方式、形状或形式都没有关系。

lvmcache 旨在通过在 SSD 上缓存数据来提供更快的读取速度

md write Journal 是一个写入缓存,它甚至不会使速度更快。它的存在是为了防止数据丢失。如果所有 RAID 写入首先都必须经过它,这对 SSD 来说是一个巨大的负担 - 如果在 RAID 重新同步和增长期间也发生这种情况,您将看到在短时间内写入了许多 TB 数据。

这可能就是为什么mdadm联机帮助页提到 SSD 寿命的原因:

   --write-journal
          Specify  journal  device  for  the RAID-4/5/6 array. The journal
          device should be a SSD with reasonable lifetime.

相关内容