2016-05-04 11 views
1

Ich habe einen 10 TB Bucket und muss es so schnell wie möglich erstellen. Was ist der schnellste und effektivste Weg, dies zu tun?Was ist der schnellste Weg, Google Storage Bucket zu duplizieren?

+2

Haben Sie sich den integrierten Transferdienst angesehen? https://cloud.google.com/storage/transfer/ – jarmod

+0

Ich habe dies für S3 versucht, aber nie gedacht, dass es in der Lage sein würde, von gs zu gs zu kopieren. Danke – Misko

+0

Ich hoffe es hat geholfen. Habe als Antwort für zukünftige Leser hinzugefügt. – jarmod

Antwort

0

Sie können dies einfach mit gsutil erreichen.

gsutil -m cp -r gs://source-bucket gs://duplicate-bucket 

Kopieren Sie innerhalb von Google Cloud Storage in einen Bucket mit demselben Speicherort und derselben Speicherklasse? Wenn dies der Fall ist, sollte dieser Vorgang sehr schnell sein. Wenn die Buckets verschiedene Speicherorte und/oder Speicherklassen haben, wird die Operation langsamer (und teurer), aber dies ist immer noch der schnellste Weg.

+0

Ich habe die Antwort von Mike Schwartz aufgefrischt. Der von mir vorgeschlagene Befehl wird etwas schneller sein, da nicht alle Objekte im Quell-Bucket vollständig aufgelistet werden müssen, bevor mit dem Kopieren begonnen wird. Wenn während des Vorgangs jedoch etwas schief geht (z. B. wenn ein vorübergehender Netzwerkausfall auftritt), müssen Sie die Kopie von Anfang an starten. Der Befehl von Mike kann auch erneut ausgeführt werden, um den Quell-Bucket später, nachdem sich der Inhalt des Quell-Buckets geändert hat, inkrementell zu synchronisieren. –

2

Angenommen, Sie den Eimer in einen anderen Eimer an der gleichen Stelle und Speicherklasse kopieren möchten, können Sie gsutil rsync auf einem GCE-Instanz ausgeführt:

gsutil -m rsync -r -d -p gs:://source-bucket gs://dest-bucket 

Wenn Sie über mehrere Standorte oder Speicherklassen kopieren möchten die Der obige Befehl funktioniert immer noch, aber es dauert länger, weil in diesem Fall die Daten (nicht nur Metadaten) kopiert werden müssen.

In beiden Fällen sollten Sie den Ergebnisstatus überprüfen und den rsync-Befehl erneut ausführen, wenn Fehler aufgetreten sind. (Mit dem Befehl rsync wird verhindert, dass Objekte, die bereits kopiert wurden, erneut kopiert werden.) Sie sollten den Befehl rsync wiederholen, bis der Bucket erfolgreich vollständig kopiert wurde.