Nextcloud mit External Storage erweitern

Speicherkapazität ist i. d. R. nicht mehr so teuer, dennoch gibt es auch günstige Möglichkeiten, den Speicher einer Nextcloud Instanz zu erweitern. Als Beispiel nehme ich hier den aktuell kleinsten CAX11 von Hetzner. Ein Cloud-Server mit 40 GB Festplattenkapazität, hier können nicht viele, besser gesagt große Dateien abgelegt werden. Wenn man sich nun den Speicherpreis der kleinsten Storage Box von Hetzner ansieht, bekommt man hier für lediglich 3,81 € bereits 1 TB Speicherkapazität.

Voraussetzung:
- Debian/Ubuntu Server (egal ob Cloud oder Dedicated)
- Storage Box z. B. BX11 von Hetzner.

Vorbereitungen

Damit die Storage Box auf Ihrem Server gemountet werden kann, muss ggf. noch cifs-utils nachinstalliert werden.

Bash
apt update && apt install cifs-utils -y

Loggen Sie sich bei Hetzner ein. Navigieren Sie im obigen Menü zu Robot und hier angekommen, auf Ihre Storage Box. Aktivieren Sie hier den Samba Support sowie die externe Erreichbarkeit.


Hier kann auch unter Sub-Account ein weiterer Nutzer angelegt werden.

Notieren Sie sich auf jeden Fall die Serveradresse sowie Nutzer und Kennwort für die Storage Box. Diese Zugangsdaten benötigen wir später.

Authentifizierungsdatei erstellen

Öffnen Sie einen Terminal Ihrer Wahl als root User. Navigieren Sie zu Ihrem Heimatverzeichnis, mit cd ~/ sollten Sie noch nicht in diesem sein. Erstellen Sie hier mit nano oder vi eine neue Datei.

Bash
nano .smbauthstoragebox

Hier tragen Sie Ihre Zugangsdaten für die Storage Box ein.

Beispiel:

Bash: .smbauthstoragebox
username=u123456
password=P@ssw0rd
domain=u123456.your-storagebox.de/freigabe

Mountpoint erstellen und mounten

Navigieren Sie nach /mnt/ und erstellen Sie hier einen neuen Ordner.

Bash
mkdir nc_external_storage

Öffnen Sie mit einem Editor Ihrer Wahl die Datei /etc/fstab.

Am Ende dieser Datei fügen Sie Folgendes ein

vim: /etc/fstab
#### Mount Hetzner Storage Box for Nextcloud external storage support 
//u123456.your-storagebox.de/freigabe/ /mnt/nc_external_storage cifs uid=1000,gid=1000,iocharset=utf8,rw,_netdev,user,credentials=/root/.smbauthstoragebox,file_mode=0660,dir_mode=0770  0 0

Die ID muss der Webserver-Nutzer sein, welcher auch für die Nextcloud zuständig ist. Als Beispiel wäre das www-data oder ein andere Nutzer. Sie können mit dem Befehl id oder id <username> die UID sowie die GID anzeigen lassen.

Haben Sie alles erstellt und die Dateien befüllt bzw. bearbeitet, können Sie das Laufwerk mounten.

Bash
mount -a -v

Jetzt sollte folgende Meldung angezeigt werden:

Code
/mnt/nc_external_storage : successfully mounted

Sollte dies nicht der Fall sein, prüfen Sie alle Eintragungen auf evtl. Fehler. Alle weiteren Schritte funktionieren nur, wenn das Laufwerk richtig gemountet ist.

Das gemountete Laufwerk, sollte auch mit dem richtigen User gemountet sein. Dies kann simpel mit dem Befehl ls -la überprüft werden.

Nextcloud

Damit das Laufwerk auch in Nextcloud eingebunden werden kann, benötigen Sie die App External storage support. Laden Sie diese also in Ihrer Nextcloud herunter und aktivieren Sie diese direkt.

Öffnen Sie die Administrationseinstellungen und klicken Sie in der linken Sidebar auf Externen Speicher.

Ignorieren Sie folgende Fehlermeldung:
"smbclient" ist nicht installiert. Das Hinzufügen von "SMB/CIFS", "SMB/CIFS mit OC-Anmeldung" ist nicht möglich. Bitte wende dich zur Installation an den Administrator.

Vergeben Sie einen Ordnernamen, dieser wird anschließend unter Dateien angezeigt. Ich benenne diesen als Beispiel mit share. Als Externer Speicher wählen Sie Lokal aus. Eine Authentifizierung benötigen Sie nicht, aber unter Konfiguration, muss der komplette Mount Pfad eingetragen werden. /mnt/nc_external_storage

Unter Verfügbar können Sie noch Benutzergruppen angeben, welcher Zugriff auf den Storage haben darf. Möchten Sie auch Dateien aus dem Storage teilen, muss diese Option explizit ausgewählt werden. Diese Einstellung verbirgt sich unter den ....

Hat alles so weit geklappt, sollte der Storage bzw. der Ordnername bereits unter Dateien auffindbar sein. Glückwunsch!

Über den Autor

Ich bin IT-Spezialist im Fachbereich der IT-Administratoren. Neben Beruf und Familie, erstelle ich als, Teil meines Hobbys, gerne Tutorials, sowie WoltLab Stile. Aktuell befinde ich mich auf meinem Informationstechnikermeister.

Foxly Team

Kommentare 2

Hi,

I'm trying your tutorial but I'm having problems with mounting in fstab. I get this error when I run "sudo mount -a -v"

Error:

/ : ignored

/boot/efi : already mounted

Password for root@//uXXXXXX.your-storagebox.de/next: ****************

mount.cifs kernel mount options: ip=2a01:4f9:4a:5605::2,unc=\\uXXXXXX.your-storagebox.de\next,iocharset=utf8,smbauthstoragebox,file_mode=0660,dir_mode=0770,uid=1000,gid=1000,user=root,pass=********

mount error(22): Invalid argument

Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)

Hello, according to your error the path "uXXXXXX.your-storagebox.de\next" is already mounted. It's best to unmount the path again. Then check the paths and try again.