Linux-to-Linux-Copy mit unterschiedlichen Ergebnissen
Hallo zusammen,
vielleicht kann mir jemand auf die Sprünge helfen, welchen Fehler ich bei folgendem Vorgehen mache.
Ich habe zwei kleine Linux-Server (keine VMs). Beide sind mit Ubuntu-Server 12.04 installiert. Beide haben 4 GB RAM und genügend Festplattenplatz. Alle Dateisysteme haben den Typ ext3.
Nun erstelle ich zwei tar-Archive der selben Daten (Attachments eines Zarafa-Servers aus /var/lib/zarafa). Diese werden ca. 9 GB groß ist. Bei der einen Datei verwende ich die Komprimierungsoption "z" für gzip, bei der anderen verwende ich die Option "J" für xz.
Die beiden Dateien kopiere ich mit scp (und auch mal mit rsync) vom einen System auf das andere. Das Ergebnis ist "spannend".
Die mit gzip komprimierte Datei hat am Zielsystem immer eine andere MD5-Summe und endet beim Entpacken mit einem CRC-Fehler.
Die mit xz komprimierte Datei hat am Zielsystem die selbe MD5-Summe wie am Quellsystem. Beim Entpacken kommt aber die Fehlermeldung, dass die Daten korrupt seien.
Das Ganze habe ich jetzt sowohl für gz als auch für xz 3 Mal gemacht, 3 Mal kopiert und probiert zu entpacken. Jedesmal mit dem obigen Ergebnis... wo ist mein Denkfehler? Was läuft hier schief?
Ich bin *sehr* gespannt
Danke im Voraus und viele Grüße,
Frank
vielleicht kann mir jemand auf die Sprünge helfen, welchen Fehler ich bei folgendem Vorgehen mache.
Ich habe zwei kleine Linux-Server (keine VMs). Beide sind mit Ubuntu-Server 12.04 installiert. Beide haben 4 GB RAM und genügend Festplattenplatz. Alle Dateisysteme haben den Typ ext3.
Nun erstelle ich zwei tar-Archive der selben Daten (Attachments eines Zarafa-Servers aus /var/lib/zarafa). Diese werden ca. 9 GB groß ist. Bei der einen Datei verwende ich die Komprimierungsoption "z" für gzip, bei der anderen verwende ich die Option "J" für xz.
Die beiden Dateien kopiere ich mit scp (und auch mal mit rsync) vom einen System auf das andere. Das Ergebnis ist "spannend".
Die mit gzip komprimierte Datei hat am Zielsystem immer eine andere MD5-Summe und endet beim Entpacken mit einem CRC-Fehler.
Die mit xz komprimierte Datei hat am Zielsystem die selbe MD5-Summe wie am Quellsystem. Beim Entpacken kommt aber die Fehlermeldung, dass die Daten korrupt seien.
Das Ganze habe ich jetzt sowohl für gz als auch für xz 3 Mal gemacht, 3 Mal kopiert und probiert zu entpacken. Jedesmal mit dem obigen Ergebnis... wo ist mein Denkfehler? Was läuft hier schief?
Ich bin *sehr* gespannt
Danke im Voraus und viele Grüße,
Frank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 243173
Url: https://administrator.de/contentid/243173
Ausgedruckt am: 23.11.2024 um 08:11 Uhr
10 Kommentare
Neuester Kommentar
Moin,
Mein erster Tipp wäre: defekter Datenträger oder defektes Filessystem.
lks
Mein erster Tipp wäre: defekter Datenträger oder defektes Filessystem.
- verändern sich die Quelldaten während des Packens?
- funktioniert das korrekte Entpacken auf dem Quellsystem in einem temporären Verzeichnis.
- funktioniert die Übertragung über Datenträger (USB-Stick, Diskette, Bänder, etc.)
- funktioniert das kopieren über (s)ftp oder rsync?
- hast Du mal statt md5 mal sha-Prüfsummen ausprobiert?
lks
Hallo Frank,
ich denke es verhält sich so;
- Die Dateien werden im RAM gecachet und weil der nicht gerade üppig ist wird auf die HDDs
ausgelagert (/temp & /swap) und dann kommt es eben zu solchen Fehlern.
- Du hast keinen ECC RAM und bei solchen großen Operationen kommt es dann eben zu CRC
Fehlern.
Verteil doch einfach die gesamte Last und somit auch die gesamten Daten auf mehrere kleine
Archive und benutze .tar.gzip eventuell fällt das dann nicht so ins Gewicht und es kommt nicht
zu Fehlern dieser Art.
Gruß
Dobby
ich denke es verhält sich so;
- Die Dateien werden im RAM gecachet und weil der nicht gerade üppig ist wird auf die HDDs
ausgelagert (/temp & /swap) und dann kommt es eben zu solchen Fehlern.
- Du hast keinen ECC RAM und bei solchen großen Operationen kommt es dann eben zu CRC
Fehlern.
Verteil doch einfach die gesamte Last und somit auch die gesamten Daten auf mehrere kleine
Archive und benutze .tar.gzip eventuell fällt das dann nicht so ins Gewicht und es kommt nicht
zu Fehlern dieser Art.
Gruß
Dobby
Zitat von @108012:
ich denke es verhält sich so;
- Die Dateien werden im RAM gecachet und weil der nicht gerade üppig ist wird auf die HDDs
ausgelagert (/temp & /swap) und dann kommt es eben zu solchen Fehlern.
ich denke es verhält sich so;
- Die Dateien werden im RAM gecachet und weil der nicht gerade üppig ist wird auf die HDDs
ausgelagert (/temp & /swap) und dann kommt es eben zu solchen Fehlern.
Swappen wäre nur dann ein Grund, wenn der Kernel eine Macke hätte, was ich für unwahrscheinlich halte, wenn die Kisten stabil laufen. Wenn, dann ist es der RAM, wenn kein ECC-RAM verwendet wird.
lks
Hallo,
ein paar Ansatzpunkte...
Außerdem -rein interessehalber- die Frage, wie lange ein "tar cJf" dauert, der eine 9 GB große Archivdatei erzeugt... Ich lese hier: "it takes significantly longer to do the compression" und "also take a hit in the memory requirements".
Läuft währenddessen der Zarafa-Server?
Gruß,
Gersen
ein paar Ansatzpunkte...
Außerdem -rein interessehalber- die Frage, wie lange ein "tar cJf" dauert, der eine 9 GB große Archivdatei erzeugt... Ich lese hier: "it takes significantly longer to do the compression" und "also take a hit in the memory requirements".
Läuft währenddessen der Zarafa-Server?
Gruß,
Gersen
Zitat von @Gersen:
Hallo,
> Die alle schon oben erwähnt wurden.
Touché. War ja noch nicht fertig - musste aber ins Bett...
Hallo,
> Die alle schon oben erwähnt wurden.
Touché. War ja noch nicht fertig - musste aber ins Bett...
Macht nichts, aber manchmal hilft es alles doppelt zu sagen
lks
Das Übertragen habe ich außer mit scp auch mal mit rsync probiert...
Was mich wundert: rsync macht grundsätzlich nach jedem Transfer eine Checksum-Prüfung ("Note that rsync always verifies that each transferred file was correctly reconstructed on the receiving side by checking a whole-file checksum that is generated as the file is transferred"; http://linux.die.net/man/1/rsync). Die müsste doch schon auf die Nase fallen - und der rsync-Prozess mit Fehler stoppen. Oder?