Re: tar und senden via ssh schlaegt fail

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Tue, 21 Jun 2011 16:03:05 +0200 (CEST)

Peter Ross wrote:
> ich habe hier ein Backup, welches Verzeichnisse "tart" und via ssh auf
> einen Beckupserver schiebt.
>
> tar -czp -f - . | \
> ssh admin(at)backup cat > /backups//backups.tgz

Rein prinzipiell sollte das gehen. Ist vermutlich sogar die
beste Möglichkeit, ein komprimiertes Backup-Archiv auf einen
anderen Rechner zu schieben.

(Das Größer-Zeichen muss mit einem Backslash gequotet werden,
damit es die Remote-Shell auswertet und nicht die lokale
Shell, aber ich nehme an, dass das nur ein Tippfailer beim
Schreiben der E-Mail war. Die Symptome würden sonbst anders
aussehen.)

> Bei einem ziemlich grossen Verzeichnisbaum (200G) geht das in die Hose, mit
>
> Write failed: Cannot allocate memory
>
> wobei ich mir nicht klar ist, welcher Prozess das schreibt..
>
> Lokal ist es ein FreeBSD-8.2, remote eine QNAP appliance, welche Linux
> benutzt.

Bei den beteiligten Prozessen (FreeBSD-seitig) gibt es nur
zwei Stellen, wo so eine Meldung erzeugt werden kann: In
libarchive (wird von tar verwendet) und in ssh, in beiden
Fällen nach einem fehlgeschlagenen write(2). Allerdings
kann write(2) laut FreeBSD-Doku kein ENOMEM liefern, und
ich wüßte auch nicht, welchen Sinn das haben sollte.

Ich tendiere daher dazu, dass die Meldung Remote-seitig
erzeugt wird. Da kann ich Dir leider aus dem Stegreif nicht
weiterhelfen. Ich könnte mir z.B. vorstellen, dass das
Linux-cat versucht, die zu schreibende Datei zu mmap(2)en,
was zu dem Problem führen könnte, aber das ist nur reine
Spekulation.

An Deiner Stelle würde ich versuchen, das Kommando leicht
zu modifizieren und zu schauen, ob das Problem dann immer
noch auftritt. Auf diese Weise kann man es einkreisen.

Zum Beispiel versuch mal »cat > /dev/null« (anstatt in eine
richtige Datei). Oder statt @backup nimm mal @localhost
(dann auch mit /dev/null, wenn Du da nicht genug Platten-
platz zur Verfügung hast). Und anstelle von cat könntest
Du mal dd probieren.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
"[...]  one observation we can make here is that Python makes
an excellent pseudocoding language, with the wonderful attribute
that it can actually be executed."  --  Bruce Eckel
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 21 Jun 2011 - 16:03:33 CEST

search this site