TeamViewer Motive 4

Backup von einer Quelle auf 2 Ziele kopieren

safeload

Ensign
Registriert
Juni 2010
Beiträge
244
Hallo,
ich möchte gerne unter Win10 von einer SSD ein Image (ca. 100GB) gleichzeitig auf 2 ext. temp angeschlossene USB SSD´s kopieren.
Standardmäßig werden bei copy/paste 2 Kopiervorgänge erzeugt, die bei den Reads auf der Quell-SSD zum Flaschenhals (> 500MB/s) führen und den Kopiervorgang verlangsamen.
Ich möchte deshalb gerne, daß die Quelldatei einmal gelesen und simultan (ohne Raid 1) auf 2 Ziele geschrieben wird.

Gibt es hierfür eine Funktion unter Win10 oder ein ext. Tool, das dies ermöglicht?

VG
 
Zuletzt bearbeitet:
Du bräuchtest 100GB+ RAM, wenn die Daten nur einmal gelesen werden und dann simultan geschrieben werden sollen (irgendwo müssen sie ja zwischengelagert werden).
Aber selbst dann wird wahrscheinlich der USB-Controller limitieren.
 
Kleinere Files koennten evtl. von Win 10 im Cache gehalten werden, aber bei einem 100GB Image eher schwierig. Du koenntest N2NCopy versuchen:
https://sourceforge.net/projects/n2ncopy/
Weiss allerdings nicht ob das Programm die Daten einmal liest und dann auf die verschiedenen Destinationen schreibt oder nur eine GUI fuer das einfache erstellen mehrerer Destinationen ist und danach nacheinander die Dateien auf die verschiedenen Verzeichnisse kopiert (die Beschreibungen gehen leider nicht auf die technischen Details ein und ich habe das Programm nie verwendet). Technisch waere es durchaus moeglich einen Lesestream simultan auf 2 Destinationen zu schreiben. Allerdings wuerde das bedingen dass alle Ziellaufwerke etwa gleich schnell schreiben koennen da der Pufferspeicher begrenzt ist und es recht schnell komplex wird wenn die Schreibgeschwindigkeiten individuell durch das Kopierprogramm verwaltet werden muessen.
Evtl. koennte es sich bei so einem grossen File lohnen zu schauen ob alternative Kopierprogramme bei dieser Filegroesse Vorteile haben koennten (leider in Englisch):
https://thegeekpage.com/12-best-free-file-copy-software-for-windows-10-to-copy-faster/
Bei TotalCommander kann man Kopierbefehle in einer Queue anlegen. Wird dann halt nacheinander 2x gelesen und geschrieben aber dafuer waere fuer beide Destinationen die maximale Geschwindigkeit moeglich und das ganze kann unbeaufsichtigt durchlaufen.
 
safeload schrieb:
Gibt es hierfür eine Funktion unter Win10 oder ein ext. Tool, das dies ermöglicht?
Das weiß ich jetzt nicht. Grundsätzlich ist es aber nicht schwer sich dafür ein passendes Programm zu schreiben.
 
  • Gefällt mir
Reaktionen: NeoExacun
schneup schrieb:
Kleinere Files koennten evtl. von Win 10 im Cache gehalten werden, aber bei einem 100GB Image eher schwierig. Du koenntest N2NCopy versuchen:
https://sourceforge.net/projects/n2ncopy/
Weiss allerdings nicht ob das Programm die Daten einmal liest und dann auf die verschiedenen Destinationen schreibt oder nur eine GUI fuer das einfache erstellen mehrerer Destinationen ist und danach nacheinander die Dateien auf die verschiedenen Verzeichnisse kopiert (die Beschreibungen gehen leider nicht auf die technischen Details ein und ich habe das Programm nie verwendet). Technisch waere es durchaus moeglich einen Lesestream simultan auf 2 Destinationen zu schreiben. Allerdings wuerde das bedingen dass alle Ziellaufwerke etwa gleich schnell schreiben koennen da der Pufferspeicher begrenzt ist und es recht schnell komplex wird wenn die Schreibgeschwindigkeiten individuell durch das Kopierprogramm verwaltet werden muessen.
Evtl. koennte es sich bei so einem grossen File lohnen zu schauen ob alternative Kopierprogramme bei dieser Filegroesse Vorteile haben koennten (leider in Englisch):
https://thegeekpage.com/12-best-free-file-copy-software-for-windows-10-to-copy-faster/
Bei TotalCommander kann man Kopierbefehle in einer Queue anlegen. Wird dann halt nacheinander 2x gelesen und geschrieben aber dafuer waere fuer beide Destinationen die maximale Geschwindigkeit moeglich und das ganze kann unbeaufsichtigt durchlaufen.

Danke, auf N2NCopy bin ich auch schon gestoßen, schreibt aber, wie Du bereits vermutet hast, leider seriell.
Bzgl. Lesestream hab ich auf Stackoverflow auch etwas gelesen (inkl code Snippets), was ich aber leider nicht verstanden habe bzw. einsetzen konnte. Scheint aber wohl die einzig genannte Lösung zu sein.
Jetzt müsste man nur noch ein Tool haben, das diesen Weg geht ^^
Ich habe eine SSD als Quelle und 2 SSD´s als Ziele, die alle ca. 550 MB/s lesen und ca. 500 MB/sschreiben können.
Einzelne Kopiervorgänge (1 Quelle >> 1 Ziel) laufen mit vollen 500 MB/s. Wenn die Quelldatei von beiden Kopiervorgängen Zeitgleich genutzt wird, geht die Schreibleistung pro SSD auf ca. 270 MB/s zurück.
 
Was fuer einen Speichertyp haben die Ziel SSDs? Bei 100GB Images koennte die Schreibgeschwindigkeit massiv einbrechen wenn der SLC Cache voll ist. Dann waere der Flaschenhals die verbleibende Schreibgeschwindigkeit der jeweiligen SSD. Ist das kopieren ein regelmaessiger Task?
 
Mach doch da nicht so ein Drama drum. Du brauchst doch bloß die Datei zu öffnen. Dann reservierst Du Dir ein Buffer in angemessener Größe. Liest die Datei ein bis der Puffer voll ist. Startest dann zwei Schreibvorgänge (threaded, damit die sich nicht blockieren). Wenn die Schreibthreads fertig sind liest Du den nächsten Abschnitt ein. Schreibst wieder. Und das so lange, bis die Datei vollständig gelesen ist.
Und dann kommt die nächste Datei.
Und das machst Du wiederum so lange, bis Du alle Dateien durch hast.

Fertig ist die Laube.
 
schneup schrieb:
Was fuer einen Speichertyp haben die Ziel SSDs? Bei 100GB Images koennte die Schreibgeschwindigkeit massiv einbrechen wenn der SLC Cache voll ist. Dann waere der Flaschenhals die verbleibende Schreibgeschwindigkeit der jeweiligen SSD. Ist das kopieren ein regelmaessiger Task?

Beide SSD´s schreiben 500 MB/s nach Cache.
 
Zurück
Oben