代码之家  ›  专栏  ›  技术社区  ›  Daniel F

将rrd文件从32位ARM转换为x86\U 64

  •  0
  • Daniel F  · 技术社区  · 6 年前

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

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

    有没有一种方法可以在一台快速的英特尔机器或一些基于x86\u64的工具上模拟立体板,这些工具可以转换那些rrd文件?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Steve Shipway    6 年前

    正如您所注意到的,RRD文件在体系结构之间是不可移植的。这种格式不仅取决于32/64位整数的大小,而且还取决于“endian”特性,甚至取决于带结构填充的编译器行为。可以在新的平台上以32位模式编译库,但它仍然不可能与旧的RRD文件兼容,因为还有其他硬件差异要考虑。