关于 cubefs blobstore volume chunk 的数据均衡问题 #3302
-
最近在关注 cubefs 的 blobstore 的设计 有个疑问需要诸位的答疑解惑,看看我的理解对不对 背景:
疑问:磁盘空间已经用完,即每个chunk均写满,这个时候对应磁盘只能提供读,无法提供写(随着业务数据的删除,删除空间被回收,又会继续提供新的写能力,但是仍然无法组织出新卷
问题1:这个时候,这些 16G 的 chunk 文件还能够继续写吗?
问题2: 如果有一部分 chunk 被强制预留出来腾挪空间,能否解决这个问题?
问题3:volume 不回收, chunk 能够回收吗?
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 6 replies
-
问题1:可以继续写入,append-only语义是针对blob对象的,volume本身只要底下chunk有空间就可以继续写入 |
Beta Was this translation helpful? Give feedback.
问题1:可以继续写入,append-only语义是针对blob对象的,volume本身只要底下chunk有空间就可以继续写入
问题2:blobnode自身会预留空间,不过预留的空间主要目的是为了做chunk compaction用,而不是为了解决问题1
问题3-6:volume这个抽象设计的目的是作为数据写入的容器,本身就是为了支撑写入,只要有空间,volume就可以持续写入,因此并不需要做volume级别的compaction,底层chunk做垃圾回收即可。理解这点的话,3-6的疑问就可以自然解决了