Nextcloud met de Storage Server verbinden: ruimte, quota en deellinks

Gepubliceerd op 6 min leestijd

Nextcloud levert gebruikers, quota en deellinks, de Storage Server levert de ruimte. Samen vormen ze een eigen cloud waarbij een kleine server volstaat en de terabytes elders staan.

Nextcloud kan alles wat een Storage Server niet kan: gebruikers beheren, iedereen een eigen quotum toekennen, mappen delen, links met wachtwoord en vervaldatum maken en bestanden via HTTPS aan browsers uitleveren. Wat Nextcloud daarentegen duur maakt, is de ruimte, want die staat op de NVMe-SSD van de server.

Beide samen leveren de opzet op die zich in de praktijk heeft doorgezet: een kleine server voor Nextcloud, de bestanden op een Storage Server. Dit artikel laat beide manieren van inrichten zien, legt uit welke wanneer beter is, en noemt de valkuilen die daarbij telkens opduiken.

Waarom deze combinatie zo goed past

Nextcloud levertDe Storage Server levert
Gebruikersaccounts met wachtwoord en tweefactorRuimte, 1 tot 20 TB
Quota per gebruikerSnapshots als tweede back-uplaag
Deellinks met wachtwoord en vervaldatumeen locatie los van de server
Uitlevering via HTTPS met aanmeldingeen fractie van de kosten per terabyte
Versiebeheer en prullenbak100 subaccounts voor gescheiden doeleinden

Het beslissende punt voor veel projecten: de Storage Server kent geen quotum per subaccount. Een subaccount blijft wel in zijn eigen map, maar kan daar het hele tarief volschrijven. Nextcloud lost precies dat op, want daar krijgt elke gebruiker een hard quotum.

Twee wegen, en welke de betere is

Weg A: Nextcloud spreekt de storage zelf aan, via zijn ingebouwde SMB- of SFTP-driver. Geen ingreep in het besturingssysteem nodig.

Weg B: U koppelt de storage in het besturingssysteem als map en richt in Nextcloud een externe opslag van het type "Lokaal" op die map in.

Neem weg B als u rootrechten hebt. De omweg via het bestandssysteem is merkbaar sneller dan de SFTP-driver van Nextcloud, vooral bij veel kleine bestanden, en hij overleeft netwerkstoringen beter. Weg A is de oplossing als u aan het besturingssysteem niets kunt of wilt veranderen.

Voorbereiding: een eigen subaccount

Maak in het klantenpaneel een subaccount aan dat alleen voor Nextcloud bedoeld is, met een eigen startmap, bijvoorbeeld /nextcloud. Geef het alleen het protocol vrij dat u werkelijk gebruikt. Controleer bovendien onder "Toegangsinstellingen" of Externe bereikbaarheid ingeschakeld is, anders komt de server niet bij de storage.

De voorbeelden gebruiken deze waarden, vervang ze door uw eigen gegevens:

GegevenVoorbeeldwaarde
Hostnaamu123456.storage.kernelhost.net
Subaccountu123456-sub1
Share (SMB)backup
Poort SMB445
Poort SFTP23

Weg B: koppelen en als lokale opslag gebruiken

Eerst het koppelen. Onder Debian en Ubuntu:

apt install -y cifs-utils
mkdir -p /mnt/storage
printf 'username=u123456-sub1\npassword=UW_WACHTWOORD\n' > /etc/samba/storage.cred
chmod 600 /etc/samba/storage.cred

Dan de regel in /etc/fstab, zodat hij een herstart overleeft:

//u123456.storage.kernelhost.net/backup /mnt/storage cifs credentials=/etc/samba/storage.cred,uid=www-data,gid=www-data,file_mode=0660,dir_mode=0770,seal,_netdev,nofail 0 0

De drie belangrijke opties: uid=www-data zorgt ervoor dat de webserver mag schrijven, seal versleutelt de overdracht met SMB 3, en _netdev plus nofail voorkomen dat de server bij het opstarten blijft hangen als de storage op dat moment niet antwoordt.

mount -a
sudo -u www-data touch /mnt/storage/test && echo "Schrijfrechten in orde"

Activeer daarna in Nextcloud de app "External storage support" en registreer de storage, of in de interface onder Beheer, Externe opslag, of op de opdrachtregel:

sudo -u www-data php occ app:enable files_external
sudo -u www-data php occ files_external:create Gegevens local null::null -c datadir=/mnt/storage
sudo -u www-data php occ files_external:list

De map "Gegevens" verschijnt nu bij de gebruikers voor wie u hem vrijgeeft. Die vrijgave regelt u per gebruiker of per groep, zodat niet iedereen alles ziet.

Weg A: externe opslag direct in Nextcloud

Zonder rootrechten gaat het ook zonder koppelen. Voor SMB hebt u de bijbehorende PHP-uitbreiding nodig:

apt install -y smbclient php-smbclient
systemctl restart php8.3-fpm

Maak dan onder Beheer, Externe opslag een regel aan:

VeldWaarde
MapnaamGegevens
Externe opslagSMB / CIFS
Hostu123456.storage.kernelhost.net
Sharebackup
Externe submapnextcloud
Gebruikersnaamu123456-sub1
Wachtwoordhet wachtwoord van het subaccount

Voor SFTP kiest u in plaats daarvan het type "SFTP", vult u als Host u123456.storage.kernelhost.net in en als poort 23. Dat is de meest voorkomende foutbron bij deze weg: Nextcloud stelt 22 voor, onze storage luistert op 23.

Quota per gebruiker toekennen

Nu komt het deel dat de hele opzet rechtvaardigt. Onder Beheer, Gebruikers vult u per account een quotum in, bijvoorbeeld 50 GB. Of op de opdrachtregel:

sudo -u www-data php occ user:setting fotograf1 files quota "50 GB"

Nextcloud rekent daarbij versies en prullenbak mee. Dat is terecht, maar verrast nogal eens: wie 50 GB krijgt en 50 GB uploadt, heeft door oude versies snel meer bezet dan gedacht. Voor accounts die veel vervangen in plaats van toevoegen, is het de moeite waard om het bewaren van versies te begrenzen.

Voor Nextcloud is de externe opslag een map als elke andere, delen werkt dus onveranderd. Een link met wachtwoord en vervaldatum maakt u in drie klikken, en het bestand wordt daarbij via Nextcloud uitgeleverd, niet direct vanaf de storage. Uw inloggegevens voor de storage verlaten de server dus nooit.

Dat is precies het onderdeel dat op een Storage Server alleen ontbreekt. Wie een website met een downloadgedeelte beheert, krijgt hier gebruikersbeheer, rechten en uitlevering in één, zonder zelf iets te programmeren. Hoe het alternatief zonder Nextcloud eruitziet, leest u in Storage Server voor uw eigen website gebruiken.

Vier valkuilen die telkens opduiken

  • De datamap hoort niet op de storage. Technisch mogelijk, praktisch riskant: Nextcloud legt daar ook vergrendelingsbestanden en tussenresultaten neer, en een korte netwerkstoring legt de hele instantie plat. Als externe opslag raakt een storing alleen die ene map.
  • De database blijft lokaal. Altijd. Op de storage horen bestanden, niets anders.
  • Redis inrichten. Zonder cache voor bestandsvergrendelingen wordt Nextcloud met externe opslag merkbaar langzaam, omdat elke vergrendeling via de database loopt.
  • Poort 23 in plaats van 22. Bij SFTP stelt Nextcloud 22 voor. Onze storage luistert op 23, en de foutmelding daarbij is weinig behulpzaam.

Welke server en welk tarief

Voor Nextcloud zelf volstaat een kleine machine. De bestanden staan immers elders, de server beheert alleen: voor een handvol tot enkele tientallen actieve gebruikers zijn 4 tot 8 GB RAM genoeg, mits Redis draait en de achtergrondtaak ingericht is. Een handleiding daarvoor leest u in Nextcloud op uw eigen server installeren.

Bij de storage hangt de keuze af van de ruimte:

TariefRuimteSnapshotsPrijs
Storage-11 TB10 plus 10 automatisch9,99 EUR
Storage-25 TB20 plus 20 automatisch29,99 EUR
Storage-310 TB30 plus 30 automatisch39,99 EUR
Storage-420 TB40 plus 40 automatisch69,99 EUR

Alle Storage Servers staan in Duitsland, spreken SMB, SFTP, WebDAV en meer, staan tot 100 subaccounts toe en brengen snapshots mee. Geen instelkosten, prepaid, geen minimale looptijd. Groeit uw behoefte aan ruimte, dan stapt u over naar het grotere tarief, zonder de data aan te raken.

Veelgestelde vragen

Waarom niet simpelweg een grote server met veel schijfruimte nemen?
Omdat schijfruimte op een server met NVMe-SSD een veelvoud kost. Nextcloud zelf heeft weinig ruimte en weinig rekenkracht nodig, de massa zit in de bestanden. Een kleine server plus storage is daarom in de regel duidelijk goedkoper dan een grote server met veel schijfruimte.
Moet ik SMB of SFTP nemen?
Hebt u rootrechten op de Nextcloud-server, koppel de storage dan via SMB in het bestandssysteem en richt in Nextcloud een lokale externe opslag op die map in. Dat is sneller en stabieler dan de SFTP-driver van Nextcloud, die bij veel kleine bestanden merkbaar afremt.
Kan ik elke gebruiker een eigen omvang toekennen?
Ja, en precies dat is de reden voor deze opzet. De Storage Server zelf kent geen quotum per subaccount, Nextcloud wel. In het gebruikersbeheer kent u per account een quotum toe, en Nextcloud dwingt dat af.
Kan ik de data direct op de storage zetten in plaats van als externe opslag?
Technisch wel, door de datamap van Nextcloud op de gekoppelde storage te leggen. Aan te raden is het niet: Nextcloud legt daar ook vergrendelingsbestanden, voorbeeldweergaven en tussenresultaten neer, en bij een korte netwerkstoring staat de hele instantie stil. Als externe opslag raakt een storing alleen de betrokken map.
Werken deellinks ook voor bestanden op de storage?
Ja, voor Nextcloud is externe opslag een map als elke andere. Delen met wachtwoord en vervaldatum werkt net zo, en het bestand wordt daarbij via Nextcloud uitgeleverd, niet direct vanaf de storage.
Hoe snel is dat?
Bij grote bestanden is de verbinding van uw server de beperking, niet de storage. Bij veel kleine bestanden komt per toegang de netwerklooptijd erbij, daarom horen voorbeeldweergaven in de lokale cache van Nextcloud en niet op de externe opslag.
Wat gebeurt er als de storage even niet bereikbaar is?
Als externe opslag gekoppeld meldt Nextcloud de map als niet beschikbaar, de rest blijft werken. Ligt daarentegen de hele datamap daar, dan staat de instantie stil. Dat is het belangrijkste argument voor de variant met externe opslag.
Heb ik een database op de storage nodig?
Nee, in geen geval. De database blijft op de server, op snelle lokale opslag. Op de storage horen alleen de bestanden.
Hoeveel gebruikers kan een kleine server aan?
Voor een handvol tot enkele tientallen actieve gebruikers volstaat een server met 4 tot 8 GB RAM zonder problemen, mits Redis en een regelmatige achtergrondtaak ingericht zijn. De bestanden staan toch al elders, de server beheert alleen.
Wat kost de combinatie?
Een kleine server voor Nextcloud plus een Storage Server vanaf 9,99 euro per maand voor 1 TB. Storage-2 met 5 TB kost 29,99, Storage-3 met 10 TB 39,99 en Storage-4 met 20 TB 69,99. Alles zonder instelkosten, op prepaidbasis en zonder minimale looptijd.

Nextcloud Storage Server Externer Speicher SMB SFTP Quota Freigaben