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!

  1. In das Verzeichnis wechseln, unterhalb dessen sich die rrdtool-Datenbanken befinden:

    # cd /var/lib/persistent/rrdtool
  2. Backup aller Datenbanken anlegen

    # tar czf ../rrdtool.tgz .
  3. 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.

  1. In das Verzeichnis wechseln, unterhalb dessen sich die rrdtool-Datenbanken befinden:

    # cd /var/lib/persistent/rrdtool
  2. Ãœ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.