我有一组Riak(V1.2.0)机器,每个都有大约50Gb的硬盘空间。 我们有以下方式configurationbitcask存储:
%% Bitcask Config {bitcask, [ {data_root, "/var/lib/riak/bitcask"}, {frag_merge_trigger, 40}, %% trigger merge if framentation is > 40% default is 60% {dead_bytes_merge_trigger, 67108864}, %% trigger if dead bytes for keys > 64MB default is 512MB {frag_threshold, 20}, %% framentation >= 20% default is 40 {dead_bytes_threshold, 67108864} %% trigger if dead bytes for data > 64MB default is 128MB ]},
我们的软件有一个模式,用相同的密钥频繁地重写值。 IE,这组键保持相对稳定,而值至less每天改变一次。
我们看到的模式是可用磁盘空间每天缩小,直到这些机器上的其他服务由于空间不足错误而停止运行。 有时候,重新启动盒子将回收一些空间。
我的configuration有问题吗? 我不太确定如何设置它来“自动”回收空间,以便在一周内不会耗尽磁盘空间。
我如何检查?
添加一行到你的bitcaskconfiguration
{log_needs_merge, true}
无论何时合并,console.log文件中都会显示一个条目,显示哪些文件符合哪个触发条件