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

时间:2018-10-08 05:59:04

标签: rrdtool converters

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

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

有没有办法在快速的Intel机器或某些基于x86_64的工具上模拟Cubieboard,该工具可以转换这些rrd文件?

1 个答案:

答案 0 :(得分:1)

正如您所注意到的,

RRD文件不能在体系结构之间移植。格式不仅取决于32/64位整数大小,而且取决于“字节序”特征,甚至取决于具有结构填充的编译器行为。可以在新平台上以32位模式编译该库,但是由于要考虑其他硬件差异,它仍可能与旧RRD文件不兼容。

简而言之,最好的选择是(缓慢地?)导出到XML,然后重新导入新的体系结构,正如您已经提到的那样。以前,我是在大型RRD安装上执行此操作的,它并行运行了一段时间以防止数据出现间隙,但这需要时间。

我似乎还记得Tobi曾经计划在RRD 1.6中开发一种新的与体系结构无关的RRD格式,但是即使这种情况通过了,也不会帮助您处理旧数据。