Kafka JBOD存储模式下磁盘满时的分区数据处理疑问
Kafka JBOD存储下磁盘满后的分区行为
- my-nice-topic的分区9数据不会丢失:已写入磁盘0的该分区数据会完整保留,不会因磁盘空间耗尽被删除。
- 不会自动将该分区的后续文件存储到其他磁盘:Kafka的JBOD模式中,每个分区的存储目录是固定分配的——一旦某个分区被映射到某块磁盘(比如这里的分区9对应磁盘0的
/var/lib/kafka/data-0目录),该分区的所有日志段都会持续存放在这个目录内,不会自动切换到其他空闲磁盘。
当磁盘0存满时,Kafka无法向该分区写入新消息,会触发磁盘空间不足的错误,但已有的数据依然完好保存在磁盘0中。
相关配置与挂载信息
JBOD存储配置
storage: type: jbod volumes: - id: 0 type: persistent-claim size: 50Gi deleteClaim: false - id: 1 type: persistent-claim size: 50Gi deleteClaim: false - id: 2 type: persistent-claim size: 50Gi deleteClaim: false
磁盘挂载情况
/dev/nvme2n1 on /var/lib/kafka/data-2 type ext4 (rw,relatime) /dev/nvme5n1 on /var/lib/kafka/data-0 type ext4 (rw,relatime) /dev/nvme4n1 on /var/lib/kafka/data-1 type ext4 (rw,relatime)
分区存储示例
/var/lib/kafka/data-0/kafka-log70/my-nice-topic-9
内容的提问来源于stack exchange,提问作者rodolk
相关产品推荐
相关产品推荐

