Mach es haltbar

Mach es haltbar

In diesem Abschnitt wird der Objektspeicher eingeführt.

OpenStack Objektspeicher <https://www.openstack.org/software/openstack-storage/> ` (code-named swift) ist Open-Source-Software, mit der Sie redundante, skalierbare Datenspeicherung erstellen können, indem Sie Cluster von standardisierten Servern verwenden, um Petabyte zugängliche Daten zu speichern. Es ist ein langfristiges Speichersystem für große Mengen an statischen Daten, die Sie abrufen, nutzen und aktualisieren können. Im Gegensatz zu herkömmlichen Speichersystemen, die Sie über ein Dateisystem aufrufen, greifen Sie über eine API auf Objektspeicher zu.

Die Objektspeicher-API ist um Objekte und Container herum angeordnet.

Ähnlich wie bei dem UNIX-Programmiermodell ist ein Objekt wie ein Dokument oder ein Bild ein ‚Beutel von Bytes‘, der Daten enthält. Sie verwenden Container, um Objekte zu gruppieren. Sie können viele Objekte in einem Container platzieren, und Ihr Konto kann viele Container haben.

Wenn Sie darüber nachdenken, was Sie traditionell machen, um sie haltbar zu speichern, merken Sie schnell, dass das Halten mehrerer Kopien Ihrer Objekte auf getrennten Systemen eine gute Wegstrategie ist. Allerdings ist die Verfolgung dieser Mehrfachkopien schwierig, und das Erstellen einer in eine App erfordert komplizierte Logik.

OpenStack Object Storage repliziert automatisch jedes Objekt mindestens zweimal, bevor er ‚write success‘ in Ihren API-Aufruf zurückgibt. Eine gute Strategie ist es, drei Exemplare von Objekten standardmäßig zu halten, indem sie sie im Falle eines Hardwarefehlers, einer Wartung, eines Netzwerkausfalls oder einer anderen Art von Bruch über das System replizieren. Diese Strategie ist sehr praktisch für die App-Erstellung. Sie können einfach Objekte in Objektspeicher reintun und sich nicht um die zusätzliche Arbeit kümmern, die es braucht, um sie sicher zu halten.

Verwenden Sie Objektspeicher, um Fraktale zu speichern

Die Fractals App verwendet derzeit das lokale Dateisystem auf der Instanz, um die von ihm erzeugten Bilder zu speichern. Aus einer Reihe von Gründen ist dieser Ansatz nicht skalierbar oder langlebig.

Da das lokale Dateisystem eine kurzlebige Speicherung ist, gehen die Fraktalbilder zusammen mit der Instanz verloren, wenn die Instanz beendet ist. Block-basierte Speicherung, die der :doc: /block_storage Abschnitt diskutiert, vermeidet dieses Problem, aber wie lokale Dateisysteme, erfordert es die Verwaltung, um sicherzustellen, dass es nicht überläuft, und sofortige Aufmerksamkeit, wenn Festplatten kaputtgehen

Der Objektspeicherdienst verwaltet viele Aufgaben, die normalerweise vom Anwendungsbesitzer verwaltet werden. Der Object Storage Service bietet eine skalierbare und langlebige API, die Sie für die Fractals App verwenden können, wodurch es keine Notwendigkeit gibt, sich der niederen Details wie Objekte gespeichert und repliziert zu widmen, und wie der Speicherpool wächst. Object Storage behandelt Replikation für Sie. Es speichert mehrere Kopien jedes Objekts. Sie können die Objektspeicher-API verwenden, um ein Objekt auf Anfrage zurückzusenden.

Erstens erfahren Sie, wie Sie eine Verbindung zum Objektspeicher-Endpunkt herstellen können:

Warnung

Dieser Abschnitt ist noch nicht für das .NET SDK abgeschlossen.

Um Objekte zu speichern, müssen wir zuerst einen Container bauen. Rufen sie auf :code: fractals:

Sie sollten nun in der Lage sein, diesen Container in einer Auflistung aller Container in Ihrem Konto sehen:

Der nächste logische Schritt besteht darin, ein Objekt hochzuladen. Finden Sie ein Foto von einer Ziege online, nennen Sie es :Code: goat.jpg, und laden Sie es auf Ihre Fraktale Container:

Auflisten von Objekten in Ihrem :code: Fraktale Container, um zu sehen, ob der Upload erfolgreich war. Dann laden Sie die Datei herunter, um zu überprüfen, ob das md5sum gleich ist:

Schließlich bereinigen Sie, indem Sie das Testobjekt löschen:

Sichern Sie die Fractals aus der Datenbank auf dem Objektspeicher

Sichern Sie die Fractals App-Bilder, die derzeit in der Datenbank gespeichert sind, auf Object Storage.

Legen Sie die Bilder in den :code: Fraktale Container:

Als nächstes unterstützen Sie alle vorhandenen Fraktale aus der Datenbank in den swift Container. Eine einfache Schleife kümmert sich darum:

Bemerkung

Ersetzen Sie :code: IP_API_1 mit der IP-Adresse der API-Instanz.

Konfigurieren Sie die Fractals App, um Object Storage zu verwenden

Warnung

Derzeit können Sie nicht direkt gespeicherte Bilder in OpenStack Object Storage speichern. Bitte wiederholen Sie diesen Abschnitt nochmals in Zukunft.

Zusatzfunktionen

Container löschen

Um einen Container zu löschen, müssen Sie zuerst alle Objekte aus dem Container entfernen. Andernfalls schlägt der Löschvorgang fehl:

Warnung

Es ist nicht möglich, gelöschte Objekte wiederherzustellen. Achtung.

Metadaten zu Objekten hinzufügen

Sie können erweiterte Aufgaben wie das Hochladen eines Objekts mit Metadaten abschließen, wie im folgenden Beispiel gezeigt. Weitere Informationen finden Sie in der Dokumentation zu Ihrem SDK.

Große Objekte

Für die Effizienz, die meisten Object Storage-Installationen behandeln große Objekte, > 5GB, anders als kleinere Objekte.

Nächste Schritte

Sie sollten jetzt ziemlich sicher sein, mit Object Storage zu arbeiten. Weitere Informationen zu den Object Storage SDK-Anrufen finden Sie unter:

Oder versuchen Sie eines dieser Tutorial Schritte:

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.