ERROR: This RRD was created on another architecture

By | 05/01/2021

Last Updated on 20/07/2022 by administrator

ERROR: This RRD was created on another architecture

Motivace:

Hláška ERROR: This RRD was created on another architecture pravděpodobně vyvstane vždy při přenášení souborů RRDtool (.rrd) mezi různými architekturami počítačů (tedy např. z 32-bit na 64-bit).

Hlavní motivací bylo zachovat, a přenést všechny soubory .rrd, které se používaly pro vykreslení grafů ze softwaru SmokePing monitorující síťovou odezvu. Tyto soubory byly prakticky přeneseny z Ubuntu 12.04.5 LTS 32-bit verze na Ubuntu 20.04 LTS 64-bit verzi. Avšak při reloadu softwaru SmokePing na Ubuntu 20.04 LTS 64-bit verzi se objevila hláška výše.

Celá hláška při rebootu aplikace Smokeping zde:

smokeping[2514]: RRDs::info /var/lib/smokeping/DNS/Cisco-resolver3-opendns.rrd: ERROR: This RRD was created on another architecture at /usr/share/perl5/Smokeping/RRDtools.pm line 113.

Implementace a řešení [1]:

Aktualizace seznamu balíčků z repozitářů:

sudo apt-get update

Instalace RRDtool:

sudo apt-get install RRDtool

Funkce dump vypíše obsah souboru stats.rrd do formátu XML. Tento XML soubor bude následně uložen jako stats.xml příkazem níže:

rrdtool dump stats.rrd > stats.xml

Přesunout soubor stats.xml na nový server (v tomto případě byl soubor převeden z 32bit na 64bit architekturu) a převést jej zpátky na RRD formát, pomocí příkazu:

rrdtool restore -f stats.xml stats.rrd

Zda nový server dokáže přečíst soubor stats.rrd se provede příkazem:

rrdtool info stats.rrd

TIP – automatizace scriptem:

Při konvertování více souborů do XML formátu ve složce je možné použít script níže:

for f in *.rrd; do rrdtool dump ${f} > ${f%%.rrd}.xml; done

Zpětná konverze všech XML souborů do RRD formátu se provede scriptem níže:

for f in *.xml; do rrdtool restore ${f} ${f%%.xml}.rrd; done

Pozn. script v původním článku [1] nefungoval dobře, nicméně tyto scripty výše by zafungovat měly.

Jak bylo postupováno při migraci grafů pro Smokeping:

Ubuntu 12.04.5 LTS 32-bit:

Konvert všech RRD souborů ve složce smokeping:

for f in /var/lib/smokeping/*/*.rrd; do rrdtool dump ${f} > ${f%%.rrd}.xml; done

Přejít do složky /var/lib/:

cd /var/lib/

Přenesení složky smokeping na nový server Ubuntu 20.04 LTS 64-bit, běžící pod IP adresou 192.168.0.7 do složky tmp:

scp -r /var/lib/smokeping uzivatel@192.168.0.7:/tmp/

Ubuntu 20.04 LTS 64-bit:

Zastavení aplikace smokeping:

service smokeping stop

Změnit původního vlastníka (owner) a skupinu (group) smokeping složky na smokeping:

chown -R smokeping:smokeping /tmp/smokeping/

Nakopíruje složku smokeping do složky /var/lib/:

cp -r /tmp/smokeping /var/lib/

Před zpětným konvertem do RRD je nutné vymazat původní .rrd soubory (pokud nějaké existují):

rm -r /var/lib/smokeping/*/*.rrd

Zpětná konverze do RRD formátu:

for f in /var/lib/smokeping/*/*.xml; do rrdtool restore ${f} ${f%%.xml}.rrd; done

Drobná úprava je jen pro původní složku __cgi , která měla nastavenou skupinu(group) na www-data:

chown smokeping:www-data /var/lib/smokeping/__cgi

Restart služby Smokeping:

service smokeping restart

Ubuntu 20.04 LTS 64-bit + Ubuntu 12.04.5 LTS 32-bit:

Nyní je možné vymazat nepotřebné soubory XML ve složce /var/lib/smokeping/:

rm -r /var/lib/smokeping/*/*.xml

Hotovo!

Zdroj:

[1] https://blog.remibergsma.com/2012/04/30/rrdtool-moving-data-between-32bit-and-64bit-architectures/

Dobrovolný dar

Ahoj čtenáři, rád bych tě poprosil aby ses zamyslel, co je vše potřeba ke vzniku článku.
Jakožto amatérký softwarový kutil musím:

1) Nejdříve vše nastudovat v cizích jazycích.
2) Vše následně prakticky vyzkoušet.
3) Svoje poznatky a zkušenosti napsat do článku který si právě přečetl v jazyku kterému rozumíš.
4) Dát článku hlavu a patu a publikovat.

Každý článek zabere několik hodin práce, za kterou mi nikdo neplatí.
Prosím zvaž, kolik času jsem ti právě ušetřil.
Pokud ti to stojí aspoň za cenu jedné kávy, tak mi ji kup.
Předem moc děkuji.

Příspěvek tak můžeš provést zasláním libovolné částky na mé číslo účtu 1558701011/3030

Nebo můžeš dar poslat kliknutím na tento odkaz Podpořit tento WEB , který tě přesměruje na mou platební bránu Revolut.

Dar je také možné poslat ve formě Bitcoinu na BTC peněženku bc1qqdf5fp42a7srwwhh2rut8zr9x4jm5c8fqc9qw6

Veškeré peněžní prostředky budu také používat na zlepšení kvality své webové tvorby a na psaní nových technických návodů. Za každý dar předem děkuji.

Leave a Reply

Your email address will not be published. Required fields are marked *