Object Storage (S3, Ceph RGW)
Wo im Administratorbereich: Infrastructure › Cloud provider › Ceph S3 (RGW) (
/infra/s3). Konten: Services › Object Storage › S3 accounts (/s3). Preise: Services › Object Storage › PAYG pricing (/s3/policy). Aktivieren Sie das Modul unter System › Admin › License & updates.
Funktion
Kunden erstellen S3-Konten über das Portal und erhalten Zugriffsschlüssel. NexCMP erstellt und löscht die entsprechenden Benutzer auf Ihrem Ceph RADOS Gateway (RGW) über die RGW Admin Ops API, liest die Nutzung für die Abrechnung aus und berechnet die verbrauchsabhängige Nutzung: Speicher über ein kostenloses Kontingent pro GB und Monat (stündlich abgerechnet) und Download-Traffic pro GB. Uploads sind kostenlos.
Verwenden Sie dies, wenn Sie einen Ceph-Cluster mit RGW betreiben und Objektspeicher weiterverkaufen möchten.
Anforderungen
| Komponente | Anforderung |
|---|---|
| Ceph | Ein Cluster mit mindestens einem RGW-Daemon, bei dem die Admin Ops API aktiviert ist (die Standardeinstellung rgw_enable_apis enthält admin). |
| Admin-Benutzer | Ein RGW-Benutzer für NexCMP mit den unten aufgeführten Berechtigungen. Verwenden Sie keinen Benutzer, der Kundendaten besitzt. |
| Endpoints | Der von Kunden verwendete S3-Endpoint und der Admin Ops-Endpoint. Beide werden als https://host geschrieben, ohne Pfad, nur Port 443, und müssen zu einer öffentlichen Adresse aufgelöst werden: Loopback-, Link-Local-, Multicast-, Private- und Unique-Local-Adressen werden abgelehnt. |
| Zertifikat | Ein gültiges Zertifikat für den Endpoint-Host. |
| Nutzungsprotokoll | Aktivierte RGW-Nutzungsprotokollierung (rgw_enable_usage_log = true), damit die Usage-API Traffic melden kann. |
| Zone | Eine Master-Zone, bei der der Dienst Object Storage (S3) ausgewählt ist. Siehe Zones. |
| Storage | Kapazität in Ceph für die von Ihnen verkauften Quotas. |
| Abhängig von | Das Modul Object Storage. Download-Traffic zählt ebenfalls zu Bandwidth. |
Infrastruktur vorbereiten
Auf einem Ceph-Admin-Node:
Erstellen Sie den Admin-Benutzer und weisen Sie ihm die erforderlichen Admin Ops-Berechtigungen zu:
bashradosgw-admin user create --uid=nexcmp-admin --display-name="NexCMP admin" radosgw-admin caps add --uid=nexcmp-admin --caps="users=*;buckets=*;usage=read;metadata=read" radosgw-admin user info --uid=nexcmp-adminKopieren Sie
access_keyundsecret_keyaus der Ausgabe. Dies sind der Admin access key und der Admin secret key in NexCMP.Aktivieren Sie das Nutzungsprotokoll und starten Sie die Gateways neu:
bashceph config set client.rgw rgw_enable_usage_log truePlatzieren Sie die Gateways hinter HTTPS auf Port 443 (ein Reverse Proxy oder das RGW-eigene TLS), veröffentlichen Sie den DNS-Namen und testen Sie vom Panel-Server aus:
bashcurl -fsS -o /dev/null -w '%{http_code}\n' https://s3.example.com/Sie sollten eine S3-XML-Antwort (HTTP 200 oder 403) erhalten, kein Zeitüberschreitung (Timeout).
In NexCMP verbinden
Weisen Sie einer Zone den S3-Dienst zu. Öffnen Sie Infrastructure › Datacenter › Zone, bearbeiten Sie die Zone und aktivieren Sie Object Storage (S3). Nur Master-Zones mit dem S3-Dienst werden im Backend-Formular angezeigt.
Öffnen Sie Infrastructure › Cloud provider › Ceph S3 (RGW) und klicken Sie auf Add backend:
Feld Beispielwert Backend name Ceph RGW 1Zone die Zone aus Schritt 1 RGW Admin Ops endpoint https://s3.example.comS3-Endpunkt für Kunden https://s3.example.comS3-Signierregion defaultAdmin-Access-Key XXXXAdmin-Secret-Key XXXXAktiv on Verkauf aktivieren (erfordert zuerst einen Verbindungstest) off vorerst Änderungsgrund initial setup
Klicken Sie auf OK (speichern) und danach in der Zeile auf Check. NexCMP ruft die Admin Ops API mit dem Adminschlusskel auf. Ceph connection successful und das Tag Verified bedeuten, dass es funktioniert.
Klicken Sie auf Edit, schalten Sie Enable sales ein und speichern Sie. NexCMP verweigert den Verkauf, bis ein Test erfolgreich war.
Öffnen Sie Services › Object Storage › PAYG pricing und legen Sie die Preise fest:
Feld Bedeutung Speicher über der Free Tier (VND/GB/Monat) Speicherpreis; wird stündlich als Monatspreis geteilt durch 730 abgerechnet. Download (VND/GB) Preis für ausgehenden Datenverkehr. Upload (VND/GB) Immer 0. Free Tier mit laufender VM (GB) Fest auf 100 GB pro Konto, solange der Kunde mindestens eine laufende VM besitzt, nach Größe auf seine S3-Konten aufgeteilt. Schuldenlimit (VND) Wie viel unbezahlte Nutzung zulässig ist. Abrechnungsschwelle (VND) Die Nutzung wird in einer Rechnung zusammengefasst, sobald dieser Betrag überschritten wird. Min. Guthaben zum Erstellen von S3 (VND) Für die Erstellung eines Kontos erforderliches Guthaben im Wallet. Max. S3-Konten pro Kunde, Standard-technisches Kontingent (GB) Grenzwerte für neue Konten. 
S3-Preise werden in VND eingegeben. Sie werden für die Anzeige und Wallet-Belastungen zum jeweils gültigen Wechselkurs umgerechnet; siehe Currency and exchange rates.
Verifizierung
- Check gibt „Ceph connection successful“ aus.
- Erstellen Sie als Kunde (oder mit einem Testkonto) ein S3-Konto. Auf Ceph zeigt
radosgw-admin user listeinen neuen Benutzer und S3 accounts führt diesen auf. - Erstellen Sie mit einem beliebigen S3-Client und den Kundenschlüsseln am Kundenendpunkt einen Bucket. Laden Sie eine Datei hoch.
- Nach dem Abrechnungstakt der nächsten Stunde zeigt S3 accounts die Nutzung an.
Grenzwerte und Hinweise
- Ein Backend, dem bereits Konten zugeordnet sind, behält seine Zone, seinen Endpunkt und seine Region; um diese zu ändern, erstellen Sie ein neues Backend.
- Eine Zone kann ein eigenes Backend haben; Konten und Backends sind dauerhaft an eine Zone gebunden.
- Das Free Tier und „Uploads sind kostenlos“ sind feste Regeln und keine Optionen.
- Schlüssel werden verschlüsselt gespeichert; die Konsole zeigt nur ein Feld mit der Beschriftung „leer lassen, um den aktuellen Schlüssel beizubehalten“. Ein Schlüsselpaar wird immer gemeinsam eingegeben.
- Die Secret Keys der Kunden werden einmal bei der Erstellung angezeigt und danach nie wieder. Ein verlorener Schlüssel wird durch Rotation ersetzt.
Fehlerbehebung
| Symptom | Ursache | Behebung |
|---|---|---|
| "Endpoint requires HTTPS" | Der Endpunkt verwendet unverschlüsseltes HTTP | HTTPS auf Port 443 bereitstellen. |
| "Endpoint-Port nicht zulässig" | Ein anderer Port als 443 | Den Standard-HTTPS-Port verwenden. |
| "Endpoint-Adresse nicht zulässig" | Der Name wird zu einer privaten, Loopback-, Link-Local- oder Unique-Local-Adresse aufgelöst | Verwenden Sie eine öffentliche Adresse. |
| "Endpoint darf nur Protokoll und Host enthalten" | Die URL enthält einen Pfad, eine Abfrage oder Benutzerinformationen | Verwenden Sie nur https://host. |
| "Endpoint konnte nicht aufgelöst werden" | DNS wird vom Panel-Server aus nicht aufgelöst | Beheben Sie das DNS-Problem. |
| "Failed to connect to Ceph" | Firewall- oder TLS-Fehler | Testen Sie mit curl vom Panel-Server aus. |
| "Ceph returned HTTP 403 AccessDenied" | Falsche Schlüssel oder fehlende Berechtigungen | Überprüfen Sie die Schlüssel und führen Sie radosgw-admin caps add erneut aus. |
| "Invalid Ceph response" | Der Endpunkt ist keine RGW Admin Ops API | Verweisen Sie darauf auf das RGW, nicht auf eine Webseite. |
| "Verbindungstest muss vor Aktivierung des Verkaufs erfolgreich sein" | Sie haben den Verkauf vor einem erfolgreichen Check aktiviert | Führen Sie Check aus und aktivieren Sie dann den Verkauf. |
| "Alle neuen Schlüssel für den Endpoint sind erforderlich" | Endpunkt ohne beide Schlüssel geändert | Geben Sie den Access Key und den Secret Key zusammen ein. |
| "Backend enthält bereits verknüpfte Ressourcen; erstellen Sie ein neues Backend, um Zone oder Endpoint zu ändern" | Auf diesem Backend existieren Konten | Erstellen Sie ein neues Backend. |
| "Master-Zone mit S3-Dienst auswählen" | Die Zone ist keine Master-Zone oder verfügt über keinen S3-Dienst | Wählen Sie Object Storage (S3) für die Zone aus. |
| "Invalid region" | Die Region enthält andere Zeichen als Buchstaben, Ziffern, - und _ | Verwenden Sie default oder Ihren RGW-Zonegroup-Namen. |
| "Ceph-Nutzungsübersicht fehlt; nicht abgerechnet" | Nutzungsprotokoll deaktiviert | Aktivieren Sie rgw_enable_usage_log. |