PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Große Datei kopieren



stefan-tiger
20.12.05, 22:36
Hallo,

hört sich trivial an, aber:

1.) Die Datei ist 60 GB groß.
2.) Die Datei liegt auf einem ftp-Server.
3.) Der ftp-Server ist nur per ssh von einem anderen Server erreichbar.
4.) Dieser andere Server hat zu wenig Speicherplatz (50 GB) um die Datei zwischen zu speichern.
4.) Der andere Server wird per ssh-client durch einen cisco-vpn tunnel benutzt.

Wie bekomme ich die Datei nun vom ftp-Server auf den ssh-Client Rechner?

Zuerst dachte ich: Zwischenspeichern mit komprimieren. Hab per mkfifo ein fifo gemacht und man kann das mit wget reinspeichern. Das Problem: wie kann ich aus dem fifo weiterleiten zu z.B. bzip2 um damit z.B. ne 40 GB Datei zu haben die man per ssh runterladen kann?

Andere Überlegung: Ohne Zwischenspeichern, über den fifo zu ssh (scp) direkt auf den ssh-client zu kopieren. NUr wie?

WilliaM
20.12.05, 22:50
hm. mir fallen spontan 2 sachen ein:
1.) es ist en ftp-server, wie waers mit ftp?;)

2.) kannst du die verbindung nicht tunneln? (stunnel?)

mfg jan

stefan-tiger
20.12.05, 23:14
hm. mir fallen spontan 2 sachen ein:
1.) es ist en ftp-server, wie waers mit ftp?;)

2.) kannst du die verbindung nicht tunneln? (stunnel?)

mfg jan

Wir haben nun fast die Optimale Lösung. Per http://lufs.sourceforge.net/lufs/ konnten wir den ftp-share mounten und drauf zugreiffen. Leider sind die Dateien damit nur 4 GB groß (Bug im lufs?). Es sind jedenfalls die vollen 60 GB auf dem share vorhanden.

Deine Vorschläge versteh ich net richtig. Der FTP Server ist nicht erreichbar von aussen. Tunneln woltle ich dur ein fifo oder lufs.

Roger Wilco
21.12.05, 01:00
Deine Vorschläge versteh ich net richtig. Der FTP Server ist nicht erreichbar von aussen. Tunneln woltle ich dur ein fifo oder lufs.

ssh -L 2121:dein.backupserver.tld:21 user@deinserver.tld
Danach dann auf localhost:2121 mit einem FTP-Client und deinen Zugangsdaten für den Backupserver verbinden.

EDIT: Hm, das ist vermutlich ein Schnellschuß. Du müsstest noch mindestens Port 20 tunneln für Active FTP.

suck
21.12.05, 01:59
Das Problem: wie kann ich aus dem fifo weiterleiten zu z.B. bzip2 um damit z.B. ne 40 GB Datei zu haben die man per ssh runterladen kann?

Wenn du via ssh auf dem Rechner bist, von dem aus du via ftp Zugriff auf die besagte Datei hast und diese sogar in nen fifo auf dem aktuellem Rechner leiten kannst...

...dann fehlt dir eigenltich nur noch etwas der Art "cat fifo-datei > /mnt/nfs_share_des_zielrechners/grosse_datei". "scp" sollte auch funktionieren. Komprimieren muss man so auch nicht mehr...

...jedenfalls wenn das Timing stimmt und der fifo gleichzeitig gefuellt und gelesen wird.

Fly
21.12.05, 08:01
zuerst würde ich die Datei auf 5 GB Stücke splitten...

Huhn Hur Tu
21.12.05, 09:24
man split


MFG Stefan

stefan-tiger
21.12.05, 10:30
Ja splitten ist ne gute Idee, nur wie kann ich die Datei auf dem ftp-Share splitten ohne Sie runterzuladen?

tschloss
21.12.05, 11:35
Ja splitten ist ne gute Idee, nur wie kann ich die Datei auf dem ftp-Share splitten ohne Sie runterzuladen?
Über eine ssh-session?

stefan-tiger
21.12.05, 14:17
Über eine ssh-session?

Ich hab auf den ftp-Server kein ssh Zugriff.

tschloss
21.12.05, 14:21
Ich hab auf den ftp-Server kein ssh Zugriff.
Das erklärt einiges - dann habe ich deine Beschreibung falsch verstanden. :o

Steht da nicht, dass Du (über einen anderen Server) mit SSH auf den ftp-Server mit der großen Datei kommst? Egal, du wirst schon wissen, was nicht geht.

Susu
21.12.05, 14:21
Das hast Du aber doch oben geschrieben...


Susu

Huhn Hur Tu
21.12.05, 16:01
3.) Der ftp-Server ist nur per ssh von einem
Mit nem Rechner per ssh auf Rechner 2 und von dort aus per ssh auf Server 1 mit der Datei und dann das ganze. Mountpoint zum externen rechner, in dieses Verzeichnis kopieren dann (weil es nur ein Link ist) wird die Datei durchgeschleift. Ist zwar nicht sonderlich schnell weil die Pakete etwas lange Wege gehen aber es funzt. Ich hoffe du hast uaf der Verbindung nicht nur 1 Mbit.

MFG Stefan

.morph
22.12.05, 14:07
60GB per SSH downloaden? Was ist das für eine Datei? Wie lange soll das dauern?

Also da fällt mir in der Tat nur das Fragmentieren des dicken Brocken ein.

man split

-uw

stefan-tiger
22.12.05, 16:23
60GB per SSH downloaden? Was ist das für eine Datei? Wie lange soll das dauern?

Also da fällt mir in der Tat nur das Fragmentieren des dicken Brocken ein.

man split

-uw

Das ist ein Plattenimage eines rootservers. Ich kann kein "split" machen weil das Image auf einem ftp-Server liegt, der nur über ftp zu erreichen ist und darüberhinaus nur von dem rootserver aus zu erreichen ist, also:

ftp-server----------rootserver--------internet-------client

Das rescuesystem des rootservers ist nur per ssh bzw. ssh+serielle konsole erreichbar.

.morph
23.12.05, 15:14
Hmmm. Verzwickte Lage das ist.

Also dann fiele mir nur noch Pipe und netcat ein. Weiss aber selber auch noch nicht genau, wie das funktioniert. Ich weis nur soviel: Man kann mit netcat Pipes zu anderen Rechnern aufbauen. Wenn ich das richtig in Erinnerung habe, dann geht das auch in Zusammenhang mit FIFOs. Werde mich mal schlau machen und dann wieder melden.

Ansonsten könntest Du Dir ein Skript schreiben, dass den Brocken durchschleift. Mit Perl kannst sowas schon machen. Vom einen Rechner holen, nicht lokal speichern sondern an Deinen Client weiterleiten. Und dort lauscht netcat und nimmt die Daten entgegen.

-uw

stefan-tiger
23.12.05, 15:51
Wir habs jetzt "gelöst":

Rescuesystem booten und über die serielle Konsole auf der Platte hda eine einzige Partition hda1 über die gesamte Größe anlegen.

Jetzt das hda3 image vom backup-ftp runterladen, da hda1 jetzt ein bisschen (so 500 MB) mehr speicher hat als dir frühere hda3.
Nach dem loop-mounten & fsck alles von lost+found (alle daten sind dort weil das filesystem kaputt ist) wieder auf den backup-ftp kopieren.

Nach einer Neuinstallation des rootservers werden gerade die ganzen Ordner und Dateien von lost+found wieder im System zugeordnet.

Ist zwar ne aufwendige manuelle Aufgabe, aber machbar.

Zum Glück war es kein Plattenimage von ganz hda.