rrdtool の RRD はアーキテクチャが異なると使用できない
提供:maruko2 Note.
i386 のアーキテクチャで作成した RRD(ラウンドロビンデータベース)を x86_64 のアーキテクチャの rrdtool で使用しようとすると、
ERROR: This RRD was created on other architecture
となり、エラーになってしまう。
この場合、XML 形式に書き出した後、バイナリ形式の RRD として読み込めばよい。
- XML 形式に書き出し
dump コマンドを使う。
rrdtool dump data.rrd data.xml
- RRD として読み込み
restore コマンドを使う。
rrdtool restore data.xml data.rrd
RRD ファイルがたくさんあるようなら次のようなシェルスクリプトで変換すればよい。
- XML 形式に書き出し
for i in *.rrd ;do rrdtool dump $i ${i%.rrd}.xml rm -f $i done
- RRD として読み込み
for i in *.xml ;do rrdtool restore $i ${i%.xml}.rrd rm -f $i done