Uploads und Backups auf DigitalOcean Block Storage verschieben

Sie möchten also alle Uploads und Backups auf DigitalOcean Block Storage verschieben?

Bevor Sie dies tun, sollten Sie vielleicht stattdessen Configure an S3 compatible object storage provider for uploads in Betracht ziehen. Die Einrichtung ist nicht komplizierter und bietet einige weitere Vorteile.

Eine Discourse-Instanz auf DigitalOcean einrichten

Richten Sie eine Discourse-Instanz auf DigitalOcean mithilfe unserer offiziellen Anleitung ein.

Ein Volume zu Ihrem Droplet hinzufügen

Fügen Sie ein Block Storage Volume zu Ihrem Droplet hinzu. Notieren Sie sich den Namen des Volumes. In meinem Fall war der Name des Volumes volume-nyc1-05.

Stellen Sie sicher, dass das Volume formatiert und unter /mnt/volume_nyc1_05 eingehängt ist.

/var/discourse/shared auf das Volume verschieben

Für beste Leistung behalten wir postgres_data auf unserem Hauptlaufwerk und verschieben den Rest der Daten auf das neu angehängte Volume.

Als Root angemeldet, führen Sie diese Befehle von Ihrem Server aus:

mv /var/discourse/shared/standalone/postgres_data /var/postgres_data_discourse
mv /var/discourse/shared /mnt/volume_nyc1_05

Stellen Sie sicher, dass Sie volume_nyc1_05 durch den Namen Ihres Volumes ersetzen.

app.yml bearbeiten, um die Änderungen widerzuspiegeln

Öffnen Sie die Datei /var/discourse/containers/app.yml in Ihrem bevorzugten Editor und suchen Sie nach diesem Block:

## The Docker container is stateless; all data is stored in /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

Ersetzen Sie den obigen Block durch:

## The Docker container is stateless; all data is stored in /shared
volumes:
  - volume:
      host: /mnt/volume_nyc1_05/shared/standalone
      guest: /shared
  - volume:
      host: /mnt/volume_nyc1_05/shared/standalone/log/var-log
      guest: /var/log
  - volume:
      host: /var/postgres_data_discourse
      guest: /shared/postgres_data

Stellen Sie sicher, dass Sie volume_nyc1_05 durch den Namen Ihres Volumes ersetzen.

Speichern Sie die Datei app.yml und bauen Sie den Container neu.

/var/discourse/launcher rebuild app

:tada: Voila!

Das war’s, alle Ihre Uploads und Backups sind jetzt auf DigitalOcean Block Storage verschoben.


Credits

Diese Anleitung ist von @sam’s Vorschlag hier inspiriert.

37 „Gefällt mir“

Ich versuche, diesen Ansatz bei Hetzner zu verfolgen, der einen ähnlichen Speicher hat, aber ich frage mich, ob das unsere allgemeine Leistung beeinträchtigen könnte.

Ich habe gelesen, dass er 1/3 der SSD-Geschwindigkeit bietet, aber ich spreche von einem spürbaren Unterschied im täglichen Gebrauch beim Hochladen und Anzeigen von Dateien in unserer Discourse-Instanz, da ich mir nicht sicher bin, ob dieser 1/3 wirklich Auswirkungen hat oder für das Hochladen von Dateien in Ordnung ist.

Natürlich hängt das Endergebnis von unserer CPU, unserem RAM und dem verwendeten Dateisystem und der Blockgröße ab.

Möchte jemand seine Erfahrungen teilen? :slight_smile:

Danke für den Leitfaden!

Sollten Sie den Tropfen vorher ausschalten? Normalerweise würde ich ja annehmen, aber da es nur darum geht, Uploads zu verschieben?

Nein. Erstellen Sie einfach den Freiraum und befolgen Sie die Anweisungen, um ihn zu montieren.

Vielen Dank für die Anleitung. Nachdem ich alle Schritte abgeschlossen und das Forum wieder zum Laufen gebracht habe, sehen wir ständig Bilder, die nicht geladen werden konnten. Da sie einen falschen Pfad haben.

Gibt es eine Möglichkeit, dies zu diagnostizieren und einige automatische Korrekturen vorzunehmen?

Hast du das Problem am Ende behoben?

1 „Gefällt mir“

nein :frowning: konnte es nicht beheben.

1 „Gefällt mir“