Ich möchte meine Amazon S3-Buckets spiegeln. Ich möchte dies tun, weil 1) ich nicht möchte, dass alle meine Daten nur bei einem Anbieter vorhanden sind; und 2) im Falle eines Softwarefehlers oder einer Sicherheitsverletzung möchte ich, dass die Daten gesichert werden.
Ich kann mit der s3cmd-Synchronisierungsfunktion auf eine lokale Festplatte spiegeln, aber das lässt sich nicht für sehr große Buckets skalieren und ist für schnelle Backup-Wiederherstellungen nicht nützlich. Ich möchte meine Daten lieber an einen Konkurrenten wie Rackspace Cloud Files spiegeln lassen.
Hat jemand Vorschläge für eine einfache und robuste Methode, um diese Art der automatisierten Spiegelung auf einer Linux-Box zu ermöglichen?
Antworten:
Sie können das Dienstprogramm " s3cmd " mit der Option "sync" verwenden, obwohl ich auf Ihre Frage gestoßen bin, weil ich herausfinden möchte , ob dieser Synchronisierungsmechanismus meine Duplizitätssicherungen vermasselt.
quelle
Ich hatte das gleiche Problem, also habe ich ein kleines Programm entwickelt, das speziell dafür entwickelt wurde, einen S3-Bucket in einen anderen zu spiegeln. Ich nenne es s3s3mirror.
Ich habe zuerst den Ansatz "s3cmd sync" ausprobiert, aber ich hatte einen Bucket mit Hunderttausenden von Objekten darin, und "s3cmd sync" saß einfach da und verbrauchte nichts mehr, als immer mehr Speicher zu verbrauchen, bis mein System starb. Ich habe s3s3mirror entwickelt, um sofort loszulegen, 100 gleichzeitige Threads (konfigurierbar) zu verwenden und CPU und Speicher in bescheidenem Maße zu nutzen. Wenn ich es selbst sage, ist es ziemlich verdammt schnell.
Ich habe dies auf github unter einer Apache-Lizenz verfügbar gemacht. Wenn Sie sich entscheiden, es zu versuchen, lassen Sie mich bitte wissen, was Sie denken und ob es etwas gibt, das verbessert werden kann.
Hier ist der Link: https://github.com/cobbzilla/s3s3mirror
Vielen Dank!
quelle
Amazon hat jetzt ein unterstütztes Tool, das aws cli .
Es kann in beide Richtungen zwischen lokal und remote oder zwischen zwei s3-Standorten gespiegelt werden.
Leider gibt es keine direkte Unterstützung für Nicht-S3-Standorte wie Rackspace, aber ich dachte, dies wäre eine nützliche Antwort für einige, die diese Frage finden. Wie ich, bevor ich es gefunden habe.
Bestimmtes,
quelle
Schauen Sie sich Jungle Disk Server an . Es funktioniert sowohl mit Amazon S3- als auch mit Rackspace Cloud-Dateien. Sie können S3 und CF an verschiedenen Stellen in Ihrem Dateisystem bereitstellen und dann rsync zwischen den beiden verwenden.
quelle
Sie können versuchen, die Eimer mit Sicherung mit s3fs zu montieren . Sobald dies erledigt ist, können Sie vom Mount-Punkt auf Ihre lokale Festplatte rsync.
quelle
Sie können Minio-Server , Open Source und S3-kompatible API einrichten. Sie können es auf EC2 oder einem beliebigen Cloud-Anbieter als alternativen Server einrichten und mit dem Befehl Minio-Clients
mc mirror
regelmäßig S3 spiegeln. Sie können das gleiche Schreiben eines einfachen Cron-Skripts automatisieren.Ich hoffe es hilft. Haftungsausschluss: Ich arbeite für Minio
quelle
Für die Online-Synchronisierung von Buckets können Sie die regionübergreifende Replikation verwenden. Auf diese Weise werden alle Aktualisierungen des ursprünglichen Buckets automatisch mit dem S3-Bucket in einer anderen Region synchronisiert: https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html
Beachten Sie, dass für den Bucket eine aktivierte Versionierung erforderlich ist. Wenn Sie also Objekte in Buckets aktualisieren / löschen, sollten Sie die Lebenszyklusrichtlinie aktivieren, um alte Objekte zu löschen.
quelle