硬重置时文件损坏或截断

时间:2019-05-03 09:35:48

标签: chronicle chronicle-queue

在Chronicle Queue上使用ExcerptAppender(仅追加日志)时,是否可以确保在断电的情况下仅可以截断文件的末尾,即所有中间记录都不会损坏?如果是这样,这依赖于什么实现/文件系统/ OS行为?

我对linux / x64感兴趣。由于这是一个mmap,因此我的理解是未定义从页面缓存中刷新页面的顺序,并且磁盘也可以对写入进行重新排序。是否应该仅对SSD或特定文件系统保证?

1 个答案:

答案 0 :(得分:1)

队列依赖于操作系统异步将数据刷新到磁盘。操作系统通常会确保默认情况下默认在30秒内将数据推送到磁盘,但是写入的页面可以按任何顺序进行,因此尽管可以写入最近30秒的99%,但是最后30秒的所有内容都有可能无法读取。此时间范围不取决于磁盘的选择,而是取决于操作系统的配置。

磁盘的选择可持续地改变胸围吞吐量,以及在需要存档或删除磁盘之前可以写入多少数据。

如果需要可靠的磁盘写入,我们建议对第二台或第三台计算机使用复制,以便在该计算机停止运行或整个数据中心不可用时,可以继续操作。这使用Chronicle Queue Enterprise