rrdtool-Datenbanken
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 /var/lib/persistent/rrdtool
befinden, weil die Standard-Konfiguration
RRDTOOL_DB_PATH='auto'
angenommen wird. Sollte hier ein anderer Pfad stehen, muss der Pfad /var/lib/persistent/rrdtool
im Rest der Anleitung entsprechend ersetzt werden.
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 /var/lib/persistent/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 /var/lib/persistent/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.
Links
Related articles