【问题标题】:How to calculate progress rate of DRBD?如何计算DRBD的进度?
【发布时间】:2021-11-08 10:53:00
【问题描述】:

WinDRBD 的进度仅在同步时可见。但是我想知道如果不同步的情况仍然存在,那么已经走了多远。

drbdsetup status foo --v --s 

通过detail view命令,得到如下内容。

foo node-id:2 role:Primary suspended:no
    write-ordering:flush
  volume:1 minor:1 disk:UpToDate backing_dev:\DosDevices\G: quorum:yes
      size:524253532 read:7238338 written:5209825 al-writes:589 bm-writes:198 upper-pending:0 lower-pending:10
      al-suspended:no blocked:no
  Node1 node-id:1 connection:Connected role:Secondary congested:no ap-in-flight:0 rs-in-flight:7168
    volume:1 replication:SyncSource peer-disk:Inconsistent done:85.32 resync-suspended:no
        received:0 sent:1226764 out-of-sync:210484 pending:6 unacked:10 dbdt1:14.99 eta:14

done:85.32

这部分被称为进度。

这是如何计算的?

【问题讨论】:

    标签: drbd


    【解决方案1】:

    当资源断开连接时,out-of-sync 计数器将开始在当前为主的对等点上递增。当资源重新连接时,比较位图(存储在 DRBD 的元数据中)以确定哪些块在断开连接时变为out-of-sync,并继续在后台重新同步这些块。在后台重新同步期间发生的任何写入都会立即复制,如果该写入碰巧触及属于后台重新同步一部分的块,则会将其从重新同步队列中删除(因为它已由前台复制更新)。

    【讨论】:

    • 谢谢!这很有帮助!如果您还知道一件事,我有什么办法可以通过数学计算得到进度号吗?这是因为即使停止同步,我也想知道进度。
    • 因为同步率是可变的/动态的,你无法确定,但你可以通过将out-of-sync 块的数量(显示在KiB)除以你的预期来接近重新同步率。
    • 马特 感谢您的热情回复。我以为我应该可以使用详细信息中的done信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    • 1970-01-01
    相关资源
    最近更新 更多