Startseite
» Gewusst wie
»
Konfigurieren Sie S3 Blob Storage für ownCloud Infinite Scale
Konfigurieren Sie S3 Blob Storage für ownCloud Infinite Scale
Um Benutzerdateien mit ownCloud Infinite Scale (oCIS) in S3 zu speichern, konfigurieren Sie den Dienst „Storage-Users“ so, dass er den s3ngTreiber verwendet, verweisen Sie ihn auf einen zuvor erstellten Bucket und speichern Sie das Metadatenverzeichnis des Dienstes auf einem persistenten POSIX-Speicher. S3 speichert die Dateiblobs; es ersetzt nicht jeden lokalen oCIS-Datenpfad.
Die folgende Konfiguration orientiert sich an der ownCloud Infinite Scale 8.2-Dokumentation. Vergleichen Sie Variablennamen und Bereitstellungsbeispiele mit der Dokumentation Ihrer installierten Version, bevor Sie Änderungen an einem Produktivsystem vornehmen.
Überprüfen Sie das Speicherlayout vor der Konfiguration.
In diesem Kontext bezeichnet ein Blob den gespeicherten Dateiinhalt, während Metadaten die Informationen sind, die oCIS zur Organisation und zum Auffinden von Dateien verwendet. Mit S3NG werden Blobs im S3-kompatiblen Objektspeicher abgelegt, während Metadaten auf einem POSIX-Dateisystem verbleiben. Dieses Dateisystem muss dauerhaft eingebunden und in Backups einbezogen werden. Der Systemspeichertreiber sollte beibehalten werden ocis.
Nutzen Sie diese kurze Checkliste vor dem Flug:
Wählen Sie einen S3-Anbieter aus und bestätigen Sie dessen Endpunkt, Region, Bucket-Namen, unterstützte S3-API-Operationen und Multipart-Limits.
Erstellen Sie den Bucket, bevor Sie oCIS starten. Die dokumentierte S3NG-Einrichtung setzt einen vorhandenen Bucket voraus.
Erstellen Sie eine dedizierte Zugriffsidentität für oCIS und speichern Sie deren Schlüssel und Geheimnis im Secret Manager Ihrer Bereitstellung oder in den Einstellungen der geschützten Umgebung.
Wählen Sie einen persistenten lokalen Metadatenpfad und vergewissern Sie sich, dass der oCIS-Prozess diesen lesen und beschreiben kann.
Bei einer bestehenden Installation sollten Sie vor dem Wechsel des Speichertreibers eine unterstützte Migration planen. Das Ändern einer Backend-Einstellung stellt keine Kopie oder Migration vorhandener Dateidaten dar.
Die Hinweise zum ownCloud-Speicherlayout beschreiben, welche Informationen außerhalb des S3-Buckets verbleiben. Daher stellt die alleinige Wiederherstellung des Buckets keine vollständige Wiederherstellungslösung dar.
Beispiel für die drei Kernspeichereinstellungen: S3NG für Benutzerblobs, ein persistentes POSIX-Metadaten-Root und der oCIS-Systemtreiber.
Erstellen Sie den Bucket und gewähren Sie den erforderlichen Zugriff.
Konfigurieren Sie den Bucket in der Konsole oder den Infrastrukturtools Ihres Anbieters und gewähren Sie der oCIS-Dienstidentität anschließend nur die für ihren Bucket erforderlichen Zugriffsrechte. Die ownCloud S3-Seite dokumentiert eine Basisrichtlinie für eine AWS-ähnliche S3-API. Ersetzen Sie `<Bucket>` bucket-namedurch Ihren Bucket und passen Sie die Richtliniensyntax an Ihren Anbieter an, falls dieser S3-kompatibel und nicht Amazon S3 ist.
Bucket- und Objekt-ARN unterscheiden sich: Erstere ermöglicht das Auflisten des Buckets, letztere wendet Aktionen auf die darin enthaltenen Objekte an. Beachten Sie die Richtlinien für ownCloud S3-Buckets und die aktuelle Richtliniendokumentation Ihres Anbieters. Fügen Sie keine Anmeldeinformationen in eine Richtliniendatei, ein Quellcode-Repository oder einen Screenshot ein.
Das Beispiel trennt die Bucket-Listing-Berechtigung von den Objekt- und Multipart-Upload-Berechtigungen; ersetzen Sie den Platzhalter-Bucket-ARN.
Setzen Sie die Storage-Users S3NG-Variablen.
Für eine Serviceumgebung oder eine Compose-Datei, die Standard-Umgebungsvariablen von oCIS akzeptiert, legen Sie die folgenden Werte fest. Diese Beispielwerte sind Platzhalter; verwenden Sie den von Ihrem Anbieter zugewiesenen Endpunkt und die Region.
Mounten Sie /var/lib/ocis/storage/users(oder Ihr ausgewähltes Stammverzeichnis) auf einem dauerhaften POSIX-Speicher. Verweisen Sie diesen Metadatenpfad nicht auf den S3-Bucket. Übermitteln Sie Zugriffsschlüssel und Geheimnis sicher; die oben genannten Variablenreferenzen setzen voraus, dass Ihre Bereitstellung diese geheimen Werte bereitstellt. Der Endpunkt muss vom oCIS-Dienst aus erreichbar sein, und Bucket-Name, Region und Anmeldeinformationen müssen auf dasselbe Provider-Konto und denselben Bucket verweisen.
Wenn Sie das modulare ocis_fullCompose-Beispiel von ownCloud verwenden, nutzt dessen optionales S3-Overlay eine beispielspezifische S3NGEinstellung und eine separate s3ng.ymlKonfigurationsdatei. Orientieren Sie sich an diesem Beispiel als vollständiges Bereitstellungsmuster und kombinieren Sie es nicht einfach mit einer anderen Compose-Datei. Weitere Informationen finden Sie im offiziellen oCIS Compose-Bereitstellungsbeispiel und in der Referenz zur Speicherbenutzerumgebung .
Geben Sie Endpunkt, Region und Bucket für Ihren Provider ein; Zugriffsschlüssel und geheime Schlüssel sollten nicht in die Konfiguration aufgenommen werden.
Größe der Multipart-Uploads für die erwarteten Dateien
Große Dateien werden in Multipart-Chunks hochgeladen. Amazon S3 gibt eine maximale Objektgröße von 5 TiB und eine Beschränkung auf 10.000 Teile an; die Teilgröße muss zwischen 5 MiB und 5 GiB liegen. Die dokumentierte Standardteilgröße von S3NG beträgt 16 MiB. Bei diesem Standardwert kann die Beschränkung der Teilanzahl die praktische Obergrenze darstellen, bevor die maximale Objektgröße des Anbieters erreicht ist. Die ownCloud-Seite zu Version 8.2 schätzt die Standardobergrenze auf 160 GiB; verwenden Sie die konfigurierte Teilgröße und die Regeln Ihres Anbieters, um ein sicheres Maximum zu berechnen und einen Sicherheitsspielraum einzuplanen.
Der einzige von ownCloud als konfigurierbar angegebene Multipart-Parameter ist STORAGE_USERS_S3NG_PUT_OBJECT_PART_SIZEdie Teilgröße. Erhöhen Sie die Teilgröße, falls Ihre unterstützte Dateigröße mehr als 10.000 Teile erfordert. Der Wert ist eine uint64vorzeichenlose Ganzzahl (MiB). Konfigurieren Sie ihn daher als Anzahl der Bytes und nicht als Zeichenkette mit angehängtem „MiB“. Halten Sie sich an den dokumentierten Bereich von 5 MiB bis 5 GiB und vergewissern Sie sich, dass Ihr S3-Anbieter den gewählten Wert unterstützt. Für ein 5 TiB großes Objekt mit 10.000 Teilen müsste die durchschnittliche Teilgröße 500 MiB betragen.
Reservieren Sie außerdem temporären Speicherplatz auf dem oCIS-Host oder -Container: ownCloud weist darauf hin, dass mindestens so viel temporärer Speicherplatz benötigt wird wie die größte erwartete Datei, um eingehende Daten zu puffern. Ein gültiger Bucket und gültige Zugangsdaten verhindern keine Fehler, die durch ein zu geringes Partitionslimit oder einen vollen temporären Speicherplatz verursacht werden. Weitere Informationen finden Sie in den Upload-Limits für S3 von ownCloud und der Referenz der Umgebungsvariablen .
Anwenden, überprüfen und schützen Sie die Daten
Nach dem Speichern der Konfiguration starten Sie oCIS neu oder stellen Sie es gemäß der für Ihre Installation geltenden Vorgehensweise erneut bereit. Überprüfen Sie die Dienstprotokolle auf Konfigurations-, Endpunkt-, Berechtigungs- oder Verbindungsfehler. Führen Sie anschließend die Blobstore-Prüfung in derselben konfigurierten Laufzeitumgebung wie oCIS aus.
ocis storage-users blobstore check
Dieser Wartungsbefehl nutzt den konfigurierten Blobstore und führt einen Upload-, Download- und Löschvorgang mit einer zufälligen Testnutzlast durch. Es handelt sich um eine gezielte Speicherprüfung, nicht um einen Beweis dafür, dass jeder benutzerbezogene Workflow oder sehr große Upload erfolgreich sein wird. Die Befehlsreferenz für den Blobstore beschreibt seine Optionen, einschließlich der konfigurierbaren Größe der Testnutzlast.
Führen Sie diesen Befehl mit derselben oCIS-Konfiguration aus, um den konfigurierten Blobstore zu überprüfen; das Bild zeigt kein Testergebnis.
Laden Sie abschließend eine kleine Testdatei über den Client oder die Weboberfläche hoch und prüfen Sie, ob sie angezeigt und geöffnet werden kann. Testen Sie bei der Bereitstellung großer Dateien ebenfalls eine repräsentative Dateigröße, bevor Sie sich auf die Einrichtung verlassen. Ein erfolgreicher Roundtrip mit einer kleinen Datei bestätigt weder die Multipart-Kapazität noch den verfügbaren temporären Speicherplatz.
Sichern Sie die S3-Objekte und die POSIX-Metadaten, Konfigurationen und andere erforderliche oCIS-Daten als zusammenhängendes Set. Die ownCloud-Backup-Richtlinien empfehlen, die Instanz für ein Backup anzuhalten und extern gespeicherte S3-Blobs separat zu behandeln. Bewahren Sie wiederherstellbare Kopien beider Speicherebenen auf und testen Sie ein Wiederherstellungsverfahren, bevor Sie die Bereitstellung als geschützt betrachten: ownCloud-Backup-Überlegungen .
Das Metadaten-Root ist ein persistenter POSIX-Speicher, und der S3-Bucket existiert bereits.
Endpunkt, Region, Bucket, Anmeldeinformationen und Richtlinie stimmen mit demselben Anbieterkonto überein.
Die größte geplante Datei umfasst die Möglichkeit, Teile in mehreren Teilen zu verarbeiten, eine Kapazität von 10.000 Teilen und einen temporären Speicher.
Die Blobstore-Prüfung ist erfolgreich, ein Upload durch einen echten Client wird korrekt geöffnet, und sowohl Metadaten als auch Bucket-Inhalte werden in die Sicherungs- und Wiederherstellungspläne aufgenommen.