将 rrd 文件从 32 位 ARM 转换为 x86_64



我有很多rrd文件是在第一代Cubieboard(1 GHz CPU,1 Core,1 GB RAM(上生成的,大约一年前,当我将数据记录器迁移到x86_64机器时,我注意到我无法再读取这些旧文件。我不知道它们是特定于平台的。

我知道有一个工作流程,我将文件中的数据导出到 XML 文件中,然后将它们导入到其他架构上,但这不是我的首选,因为旧板非常慢,并且还有其他重要的工作要做,比如成为 DNS 服务器。rrdtool 版本停留在 1.4.7,并且有 1.4 GB 的文件需要处理。

有没有办法在快速的英特尔机器或一些基于x86_64的工具上模拟 Cubieboard 可以转换这些 rrd 文件?

RRD 文件在体系结构之间不可移植,正如您已经注意到的。 格式不仅取决于 32/64 位整数大小,还取决于"字节序"特征,甚至取决于带有结构填充的编译器行为。 可以在新平台上以 32 位模式编译库,但它仍然不太可能与旧的 RRD 文件兼容,因为还有其他硬件差异需要考虑。

简而言之,您最好的选择是(慢慢地?(导出到 XML,然后在新体系结构中重新导入,正如您已经提到的。 我之前在大型 RRD 安装中完成过此操作,并行运行一段时间以避免数据中的空白,但这需要时间。

我似乎记得 Tobi 曾经计划在 RRD 1.6 中采用一种新的独立于架构的 RRD 格式,但即使这实现了,它也不会帮助你处理遗留数据。

相关内容

  • 没有找到相关文章

最新更新