Die rrdtool-Datenbanken sind architekturabhängig. Das heisst, dass sie nur unter der Architektur verarbeitet werden können, unter welcher sie auch erstellt wurden. Das ist insbesondere dann wichtig, wenn ein Wechsel bspw. von x86 nach x86_64 geplant ist, bei welchem die rrdtool-DBs übernommen werden sollen. Das folgende HowTo zeigt, wie dabei vorzugehen ist.
Step-by-step guide
In den folgenden Schritten wird für davon ausgegangen, dass sich die rrdtool-Datenbanken im Pfad
RRDTOOL_BACKUP_PATH='/data/rrdtool'
befinden.
Export der Datenbanken
Die Schritte dieses Abschnittes müssen auf dem laufenden alten System, also unter der bisherigen Architektur durchgeführt werden!
In das Verzeichnis wechseln, unterhalb dessen sich die rrdtool-Datenbanken befinden:
# cd /data/rrdtool
Backup aller Datenbanken anlegen
# tar czf ../rrdtool.tgz .
Export aller Datenbanken in entsprechende xml-Files:
find . -name *.rrd -exec rrdtool dump {} {}.xml \;
Damit liegt parallel zu jeder *.rrd-Datei eine *.rrd.xml-Datei
Konvertieren bzw. neu anlegen der Datenbanken
Nun das neue System mit der neuen Architektur booten.
In das Verzeichnis wechseln, unterhalb dessen sich die rrdtool-Datenbanken befinden:
# cd /data/rrdtool
Überschreiben der alten rrdtool-Datenbank-Dateien im neuen Format:
# find . -name *.rrd.xml -exec sh -c "n=\"{}\"; rrdtool restore \"\$n\" \"\${n%.xml}\" --force-overwrite" \;
Damit wurden die Datenbank-Dateien aus den xml-Dateien neu erzeugt.
Related articles