Propojení Nextcloudu se Storage Serverem: místo, kvóty a sdílení

Publikováno 5 min čtení

Nextcloud přináší uživatele, kvóty a sdílení, Storage Server přináší místo. Dohromady z toho vznikne vlastní cloud, u kterého stačí malý server a terabajty leží jinde.

Nextcloud umí všechno, co Storage Server neumí: spravovat uživatele, přidělit každému vlastní kvótu, sdílet složky, vytvářet odkazy s heslem a datem vypršení a vydávat soubory přes HTTPS do prohlížeče. Co naopak Nextcloud zdražuje, je místo, protože leží na NVMe SSD serveru.

Obojí dohromady dává uspořádání, které se v praxi prosadilo: malý server pro Nextcloud, soubory na Storage Serveru. Tento článek ukazuje oba způsoby nastavení, vysvětluje, který se kdy hodí lépe, a jmenuje pasti, které se při tom spolehlivě objeví.

Proč se tato kombinace tak dobře hodí

Nextcloud přinášíStorage Server přináší
uživatelské účty s heslem a druhým faktoremmísto, 1 až 20 TB
kvóty pro jednotlivé uživatelesnímky jako druhou úroveň zálohy
odkazy ke sdílení s heslem a vypršenímumístění oddělené od serveru
výdej přes HTTPS s přihlášenímzlomek nákladů na terabajt
verzování a koš100 podúčtů pro oddělené účely

Rozhodující bod pro mnoho projektů: Storage Server nezná kvótu pro jednotlivý podúčet. Podúčet sice zůstane ve svém adresáři, může tam ale zaplnit celý tarif. Nextcloud řeší přesně tohle, protože tam každý uživatel dostane tvrdý limit.

Dvě cesty a která z nich je lepší

Cesta A: Nextcloud komunikuje s úložištěm sám, přes svůj zabudovaný ovladač SMB nebo SFTP. V operačním systému není potřeba nic měnit.

Cesta B: Úložiště připojíte v operačním systému jako adresář a v Nextcloudu na tento adresář nastavíte externí úložiště typu „Místní“.

Zvolte cestu B, pokud máte práva roota. Obchvat přes souborový systém je citelně rychlejší než ovladač SFTP v Nextcloudu, především u mnoha malých souborů, a lépe přežije poruchy sítě. Cesta A je řešení, když na operačním systému nemůžete nebo nechcete nic měnit.

Příprava: vlastní podúčet

V zákaznické sekci vytvořte podúčet jen pro Nextcloud, s vlastním výchozím adresářem, například /nextcloud. Povolte mu jen ten protokol, který skutečně používáte. Zkontrolujte navíc v „Nastavení přístupu“, že je zapnutá Dostupnost zvenčí, jinak se server k úložišti nedostane.

Příklady používají tyto hodnoty, nahraďte je svými vlastními:

ÚdajUkázková hodnota
Název hostiteleu123456.storage.kernelhost.net
Podúčetu123456-sub1
Sdílená složka (SMB)backup
Port SMB445
Port SFTP23

Cesta B: připojit a použít jako místní úložiště

Nejprve připojení. V Debianu a Ubuntu:

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

Potom záznam v /etc/fstab, aby přežil restart:

//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

Tři důležité volby: uid=www-data zajistí, že webový server smí zapisovat, seal šifruje přenos pomocí SMB 3 a _netdev plus nofail zabrání tomu, aby se server při startu zasekl, kdyby úložiště právě neodpovídalo.

mount -a
sudo -u www-data touch /mnt/storage/test && echo "Zápis funguje"

Potom v Nextcloudu aktivujte aplikaci „Podpora externích úložišť“ a úložiště zapište, buď v rozhraní pod Správa, Externí úložiště, nebo na příkazové řádce:

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

Složka „Data“ se teď objeví u uživatelů, kterým ji zpřístupníte. Zpřístupnění řídíte podle uživatele nebo podle skupiny, takže nevidí každý všechno.

Cesta A: externí úložiště přímo v Nextcloudu

Bez práv roota to jde i bez připojování. Pro SMB potřebujete příslušné rozšíření PHP:

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

Potom pod Správa, Externí úložiště vytvořte záznam:

PoleHodnota
Název složkyData
Externí úložištěSMB / CIFS
Hostu123456.storage.kernelhost.net
Sdílená složkabackup
Vzdálená podsložkanextcloud
Uživatelské jménou123456-sub1
Hesloheslo podúčtu

Pro SFTP zvolíte místo toho typ „SFTP“, jako hostitele zapíšete u123456.storage.kernelhost.net a jako port 23. To je u této cesty nejčastější zdroj chyb: Nextcloud navrhuje 22, naše úložiště poslouchá na 23.

Přidělení kvóty jednotlivým uživatelům

Teď přichází část, která celé uspořádání ospravedlňuje. Pod Správa, Uživatelé zapíšete každému účtu limit, například 50 GB. Nebo na příkazové řádce:

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

Nextcloud do toho započítá verze a koš. Tak je to správně, ale často to překvapí: kdo dostane 50 GB a nahraje 50 GB, má přes staré verze rychle zabráno víc, než si myslel. U účtů, které spíš nahrazují než přidávají, se vyplatí omezit, jak dlouho se verze uchovávají.

Odkazy ke sdílení pro vlastní web

Pro Nextcloud je externí úložiště složka jako každá jiná, sdílení tedy funguje bez změny. Odkaz s heslem a datem vypršení vytvoříte třemi kliknutími a soubor se při tom vydává přes Nextcloud, ne přímo z úložiště. Vaše přístupové údaje k úložišti tak server nikdy neopustí.

To je přesně ten díl, který samotnému Storage Serveru chybí. Kdo provozuje web se sekcí ke stažení, dostane tady správu uživatelů, oprávnění a výdej v jednom, aniž by musel sám cokoli programovat. Jak vypadá varianta bez Nextcloudu, popisuje článek Využití Storage Serveru pro vlastní web.

Čtyři pasti, které se spolehlivě objeví

  • Datový adresář na úložiště nepatří. Technicky to jde, v praxi je to riskantní: Nextcloud tam odkládá i zamykací soubory a mezistavy a krátká porucha sítě položí celou instanci. Jako externí úložiště zasáhne porucha jen tu jednu složku.
  • Databáze zůstává místní. Vždy. Na úložiště patří soubory, nic jiného.
  • Nastavte Redis. Bez mezipaměti pro zamykání souborů se Nextcloud s externím úložištěm citelně zpomalí, protože každý zámek jde přes databázi.
  • Port 23 místo 22. U SFTP navrhuje Nextcloud 22. Naše úložiště poslouchá na 23 a chybová hláška k tomu je málo nápomocná.

Který server a který tarif

Pro Nextcloud samotný stačí malý stroj. Soubory leží jinde, server jen spravuje: pro pár až několik desítek aktivních uživatelů postačí 4 až 8 GB RAM, pokud běží Redis a je nastavený běh na pozadí. Návod k tomu najdete v článku Instalace Nextcloudu na vlastní server.

U úložiště se volba řídí potřebným místem:

TarifMístoSnímkyCena
Storage-11 TB10 plus 10 automaticky9,99 EUR
Storage-25 TB20 plus 20 automaticky29,99 EUR
Storage-310 TB30 plus 30 automaticky39,99 EUR
Storage-420 TB40 plus 40 automaticky69,99 EUR

Všechny Storage Servery stojí v Německu, mluví SMB, SFTP, WebDAV a dalšími protokoly, dovolují až 100 podúčtů a přinášejí snímky. Bez zřizovacího poplatku, PrePaid, bez minimální doby trvání. Když vaše potřeba místa poroste, přejdete do většího tarifu, aniž byste se dat museli dotknout.

Časté dotazy

Proč prostě nevzít velký server s velkým diskem?
Protože místo na disku u serveru s NVMe SSD stojí několikanásobek. Nextcloud sám potřebuje málo místa a málo výkonu, objem leží v souborech. Malý server plus úložiště je proto obvykle výrazně levnější než velký server s velkým diskem.
Mám použít SMB, nebo SFTP?
Pokud máte na serveru s Nextcloudem práva roota, připojte úložiště přes SMB do souborového systému a v Nextcloudu nastavte na tento adresář místní externí úložiště. Je to rychlejší a stabilnější než ovladač SFTP v Nextcloudu, který u mnoha malých souborů citelně brzdí.
Můžu každému uživateli přidělit vlastní velikost?
Ano, a právě to je důvod pro celé toto uspořádání. Samotný Storage Server nezná kvótu pro jednotlivý podúčet, Nextcloud ano. Ve správě uživatelů přidělíte každému účtu limit a Nextcloud ho vynutí.
Můžu data uložit přímo na úložiště místo jako externí úložiště?
Technicky ano, tím že datový adresář Nextcloudu bude ležet na připojeném úložišti. Doporučit to nelze: Nextcloud tam odkládá i zamykací soubory, náhledy a mezistavy a při krátké poruše sítě stojí celá instance. Jako externí úložiště zasáhne porucha jen dotčenou složku.
Fungují odkazy ke sdílení i u souborů na úložišti?
Ano, pro Nextcloud je externí úložiště složka jako každá jiná. Sdílení s heslem a datem vypršení funguje úplně stejně a soubor se při tom vydává přes Nextcloud, ne přímo z úložiště.
Jak je to rychlé?
U velkých souborů omezuje konektivita vašeho serveru, ne úložiště. U mnoha malých souborů se ke každému přístupu přidá doba odezvy sítě, proto náhledy obrázků patří do místní mezipaměti Nextcloudu a ne na externí úložiště.
Co se stane, když úložiště krátce není dostupné?
Připojené jako externí úložiště ohlásí Nextcloud složku jako nedostupnou, zbytek běží dál. Pokud tam ale leží celý datový adresář, instance stojí. To je nejdůležitější důvod pro variantu s externím úložištěm.
Potřebuji na úložišti databázi?
Ne, v žádném případě. Databáze zůstává na serveru, na rychlém místním disku. Na úložiště patří jen soubory.
Kolik uživatelů zvládne malý server?
Pro pár až několik desítek aktivních uživatelů bez problémů stačí server se 4 až 8 GB RAM, pokud jsou nastavené Redis a pravidelný běh na pozadí. Soubory tak jako tak leží jinde, server je jen spravuje.
Kolik ta kombinace stojí?
Malý server pro Nextcloud plus Storage Server od 9,99 eura za měsíc za 1 TB. Storage-2 s 5 TB stojí 29,99, Storage-3 s 10 TB 39,99 a Storage-4 s 20 TB 69,99. Všechno bez zřizovacího poplatku, na bázi PrePaid a bez minimální doby trvání.

Nextcloud Storage Server Externer Speicher SMB SFTP Quota Freigaben