2Mio. Dateien kopieren

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
alexander_ro
Beiträge: 301
Registriert: 16.01.2006 17:44:21
Lizenz eigener Beiträge: GNU General Public License

2Mio. Dateien kopieren

Beitrag von alexander_ro » 21.11.2007 12:59:19

Hi,

ich muss immer wieder große Mengen an Dateien kopieren, so ca. 2 Mio. in der Größe von 5-30 KB.

Das dauert ... und dauert mir zu lange, über einen Tag mit cp -rp ...

Jetzt hatte ich schon mal versucht das in ein Tar zu packen dann kopieren und wieder auszupacken. Alle drei Schritte zusammen sind aber nicht wirklich schneller als cp.

Habt Ihr vielleicht einen Tipp, wie ich diese vielen Dateien kopieren kann, ohne so lange Warten zu müssen. Das tar-Archiv zu kopieren ging relativ schnell also an der reinen Zeit die Daten zu übertragen kann es nicht liegen.

Grüße
Alexander

Mictlan
Beiträge: 596
Registriert: 03.09.2007 11:55:28

Beitrag von Mictlan » 21.11.2007 13:11:20

das problem sind nicht die daten selbst sondern die dateisystemorganisation rundherum.... um das wirst du einfach nicht herum kommen...... das einzieg was schneller gehn würde wäre wenn du das alles auf eine eigene partition haust, die unmontest, mit dd kopierst und dann wieder mountest.... is halt die frage was du für daten hast....

frage: wieviel ändert sich denn an den datein? ändern sich fast alle files oder nur wenige davon.... wenn es nur wenige sind köntnest es vllt mit rsync oder ähnlichen tools schneller schaffen....
wenn sich die masse der daten ändert (dh >70%) dann wirst nicht so wirklich darum kommen....

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 21.11.2007 13:27:22

Evtl hilft auch ein Deteisystemumstieg. Such dir ein Dateisystem, dass viele kleine Dateiene ffizient handeln kann.
Perl macht Spass.

comes
Beiträge: 2702
Registriert: 11.03.2005 07:33:30
Wohnort: /dev/null
Kontaktdaten:

Beitrag von comes » 21.11.2007 13:28:36

sehr viel schneller ist der vorgang, wenn du die ausgabe ausblendest... sprich cp nicht auf die konsole irgendwelche statusinfos schreiben lässt...
die prio hochsetzen mit nice wäre noch ne option
rsync wurde bereits erwähnt
grüße, comes

Faschismus ist keine Meinung, sondern ein Verbrechen!
http://sourcewars.de

Mictlan
Beiträge: 596
Registriert: 03.09.2007 11:55:28

Beitrag von Mictlan » 21.11.2007 13:36:26

comes hat geschrieben:sehr viel schneller ist der vorgang, wenn du die ausgabe ausblendest... sprich cp nicht auf die konsole irgendwelche statusinfos schreiben lässt...
sehr guter einwand!

ich hab mal alle pakete die mittels masquarding weitergeleitet werden auf die Konsole ausgeben lassen.... mal abgesehn davon dass ich an einer Überflutung von messages fast den schwarzen hintergrund der console nimma gesehn hätt is der datendurchsatz übers masquarding auf 10-15 kbyte/s eingebrochen... ausgabe auf /dev/null wird sicher etwas bringen

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Beitrag von ThorstenS » 21.11.2007 14:28:39

ein Ansatz, der eine Stufe unter cp, rsync & Co. ansetzt ist der dump des Filesystems.
Handelt es sich um ext3? Dann nutze dump und kopiere die Datei - ist nur so eine spontane Idee...

alexander_ro
Beiträge: 301
Registriert: 16.01.2006 17:44:21
Lizenz eigener Beiträge: GNU General Public License

Beitrag von alexander_ro » 22.11.2007 01:04:12

Allen danke für die Antworten.

Es handelt sich um Produktfotos. Die Änderungen sind nicht so viele vielleicht 1% pro Tag. Ich dachte an rsync zu erstellen einer täglichen Sicherung. Aber wenn Platte defekt sind oder umgebaut werden soll geht das natürlich so nicht.

Also bei mir gibt cp -rp nichts an der Konsole aus. Also z.B keine Auflistung der Dateien.

Mein Problem ist, dass ich zurzeit an meinem Software-Raid öfters mal Änderungen mache und dazu die Dateien erst in Sicherheit bringen muss und dann wieder zurück.

Nach euren Antworten komme ich zu dem Schluss, dass es vermutlich besser ist, die Dateien während der Umbau/Test Zeit auf eine einzelne Platte auszulagern und erst wenn das Raid optimal läuft. Diese zurück zu kopieren.

Wenn man mit dd die Partition kopiert, kann das dann auch ein mit LVM verwaltetes Volum sein. Also so z.B.:

Code: Alles auswählen

dd if=/dev/bilder of=/Sicherung_Bilder
Eine Größe muss man ja dann nicht angeben da einfach alles von /dev/bilder in eine Datei kopiert wird. Aber wenn man die Sicherungs_Datei dann zurückschreibt, muss das LVM-Volum genau die gleiche Größe wieder haben. Oder?

Kleiner geht nicht ist klar. Aber was wäre, wenn diese größer ist. Kann man die dann mit einem Programm zum Vergrößern des Filesystems auf die neue Größe erweitern?

Alexander

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22456
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 22.11.2007 13:08:17

Größer funktioniert mit dd auch nicht richtig, dann wird Platz verschenkt.

Rsync wird die beste Lösung sein. Rsync muß alles einmalig kopieren. Und dann nur noch die geänderten Dateien. Und ist auch in der Lage nicht mehr vohandene zu löschen.

PS 2 Miols ist das nicht etwas zu hoch gegriffen ?
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

alexander_ro
Beiträge: 301
Registriert: 16.01.2006 17:44:21
Lizenz eigener Beiträge: GNU General Public License

Beitrag von alexander_ro » 22.11.2007 18:45:36

OK, dann versuche ich es mal mit rsync.

Etwas, ja, aber nicht viel. Da Suchen im Filesystem bei dieser Menge an Dateien langsam ist verwalte ich eine Liste der Dateinamen in der Datenbank.

Aktuelle: 1701935 Bilder

Alexander

Mictlan
Beiträge: 596
Registriert: 03.09.2007 11:55:28

Beitrag von Mictlan » 23.11.2007 09:09:40

alexander_ro hat geschrieben:Etwas, ja, aber nicht viel. Da Suchen im Filesystem bei dieser Menge an Dateien langsam ist verwalte ich eine Liste der Dateinamen in der Datenbank.
gute idee ;-)

Benutzeravatar
Leonidas
Beiträge: 2032
Registriert: 28.04.2003 13:48:49
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Beitrag von Leonidas » 24.11.2007 18:30:27

Etwa `locate`? ;)
Wir wollten einen Marsch spielen, aber wir hatten nur Xylophone.

debian-newbie-501589999
Beiträge: 3
Registriert: 14.11.2007 01:06:31

Re: 2Mio. Dateien kopieren

Beitrag von debian-newbie-501589999 » 03.12.2007 00:05:40

alexander_ro hat geschrieben:[...]

ich muss immer wieder große Mengen an Dateien kopieren, so ca. 2 Mio. in der Größe von 5-30 KB.

Das dauert ... und dauert mir zu lange, über einen Tag mit cp -rp ...

[...]

Habt Ihr vielleicht einen Tipp, wie ich diese vielen Dateien kopieren kann, ohne so lange Warten zu müssen. [...]
Hallo,

wie wäre es mit ausgehängter Partition, von der Du
ein Image mit "partimage" (in diesem Fall mit
höchstens mittlerer Kompression) erstellst?

Das ginge in wenigen Stunden, nicht?

HTH


PS:
Es schreibt Dir hier ein Anfänger! Also vorsicht...

PPS:
Das Wiederherstellen eines solchen Images könnte
unter Umständen nur auf exakt gleich großer
Partition möglich sein...

alexander_ro
Beiträge: 301
Registriert: 16.01.2006 17:44:21
Lizenz eigener Beiträge: GNU General Public License

Beitrag von alexander_ro » 06.12.2007 10:22:48

Hallo,

danke für die Antworten und sorry, dass die Antwort so lange dauerte, ich war eine weile abwesend.

Was ist denn locate, sagt mir im Moment nicht viel?

Das mit dem Kopieren der Daten muss im laufenden Betrieb erfolgen, da die Bilder im Shop angezeigt werden müssen.
Wer mag, kann sich einen Teil unter http://www.abygale.de anschauen. Die Suchfunktion ist noch ein bisschen langsam sonst funktioniert sie schon recht ordentlich. Mit an paar Änderungen an Soft/Hardware sollte dann auch die Geschwindigkeit passen.

Gruß
Alexander

Benutzeravatar
markus_b
Beiträge: 355
Registriert: 26.01.2006 04:57:18
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von markus_b » 06.12.2007 11:59:09

man locate hat geschrieben:locate - list files in databases that match a pattern

alexander_ro
Beiträge: 301
Registriert: 16.01.2006 17:44:21
Lizenz eigener Beiträge: GNU General Public License

Beitrag von alexander_ro » 06.12.2007 15:59:32

Nein nicht mit locate, ist ein selbst geschriebenes Programm. Da ich noch einen Hash mit speichere und kleine Bildchen für die Ergebnisliste der Suchfunktion erzeuge. Der Hash dient dazu zweifelsfrei festzustellen, ob die Datei seit dem letzten Durchlauf verändert wurde.

Alexander

Hans-Martin
Beiträge: 141
Registriert: 06.12.2007 18:03:03
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Kehl

Parameter von cp ändern

Beitrag von Hans-Martin » 07.12.2007 13:31:22

Hallo,

da Du schreibst, dass nur ca. 1% täglich betroffen ist - das wären 20000 Blder - würde ich als Parameter für cp statt -pr -upr verwenden. Es wird dann nur kopiert, wenn eine Datei mit dem jeweiligen Namen entweder nicht existiert oder älteren Datums ist.

Da Du beim Kopieren mit dem Parameter -p nicht nur die Rechte, sondern auch das Datum beibehältst, müßte das klappen. Auf diese Weise reicht das Absuchen der directories, der ganze Schreibverkehr wird drastisch reduziert, und die erforderliche Zeit dürfte minimiert werden.

Gruß

Hans-Martin

alexander_ro
Beiträge: 301
Registriert: 16.01.2006 17:44:21
Lizenz eigener Beiträge: GNU General Public License

Beitrag von alexander_ro » 07.12.2007 15:34:54

Hallo Hans-Martin,

Du hast da nicht unrecht. Es ging mir aber nicht darum die Aktualisierungen zu kopieren sondern den gesamten Datenbestand. Das mit den Aktualisierungen erledigt ein kleines PHP-Programm.

Zu Sicherungszwecken habe ich jetzt mal rsync getestet ist aber auch nicht so toll. Der baut eine komplette Fileliste im Speicher auf die bei der Menge von Files viel zu viel Arbeitsspeicher belegt.

Für den Fall dass das Speichersystem umgebaut wird muss ich auch die ganzen Daten übertragen und das dauer halt sehr lange aber so wie es aussieht, lässt sich das nicht ändern.

Gruß
Alexander

Antworten