Connecter Nextcloud à un Storage Server : espace, quotas et partages

Publié le 6 min de lecture

Nextcloud apporte les utilisateurs, les quotas et les partages, le Storage Server apporte l'espace. Ensemble, cela donne votre propre cloud : un petit serveur suffit, et les téraoctets sont ailleurs.

Nextcloud sait tout ce qu'un Storage Server ne sait pas faire : gérer des utilisateurs, attribuer à chacun son propre quota, partager des dossiers, créer des liens avec mot de passe et date d'expiration, et livrer des fichiers en HTTPS aux navigateurs. Ce qui rend Nextcloud coûteux, en revanche, c'est l'espace, car il se trouve sur le SSD NVMe du serveur.

Les deux ensemble donnent le montage qui s'est imposé en pratique : un petit serveur pour Nextcloud, les fichiers sur un Storage Server. Cet article présente les deux méthodes de mise en place, explique laquelle convient dans quel cas et nomme les pièges qui apparaissent à coup sûr.

Pourquoi cette combinaison fonctionne si bien

Nextcloud apporteLe Storage Server apporte
Des comptes utilisateurs avec mot de passe et double facteurDe l'espace, de 1 à 20 TB
Un quota par utilisateurDes instantanés comme deuxième niveau de sauvegarde
Des liens de partage avec mot de passe et expirationUn site séparé de celui du serveur
La livraison en HTTPS avec authentificationUne fraction du coût par téraoctet
Le versionnage et la corbeille100 sous-comptes pour des usages séparés

Le point décisif pour beaucoup de projets : le Storage Server ne connaît aucun quota par sous-compte. Un sous-compte reste certes dans son répertoire, mais il peut y remplir toute l'offre. Nextcloud résout exactement cela, car là-bas chaque utilisateur reçoit un quota ferme.

Deux méthodes, et laquelle est la meilleure

Méthode A : Nextcloud s'adresse lui-même au stockage, via son pilote SMB ou SFTP intégré. Aucune intervention dans le système d'exploitation n'est nécessaire.

Méthode B : vous montez le stockage comme répertoire dans le système d'exploitation et créez dans Nextcloud un stockage externe de type « Local » vers ce répertoire.

Prenez la méthode B si vous avez les droits root. Le détour par le système de fichiers est sensiblement plus rapide que le pilote SFTP de Nextcloud, surtout avec beaucoup de petits fichiers, et il survit mieux aux coupures réseau. La méthode A est la solution lorsque vous ne pouvez ou ne voulez rien changer au système d'exploitation.

Préparation : un sous-compte dédié

Dans l'espace client, créez un sous-compte réservé à Nextcloud, avec son propre répertoire de départ, par exemple /nextcloud. Ne lui autorisez que le protocole que vous utilisez réellement. Vérifiez en outre sous « Paramètres d'accès » que l'accessibilité externe est activée, sinon le serveur n'atteint pas le stockage.

Les exemples utilisent ces valeurs, remplacez-les par les vôtres :

DonnéeExemple de valeur
Nom d'hôteu123456.storage.kernelhost.net
Sous-compteu123456-sub1
Partage (SMB)backup
Port SMB445
Port SFTP23

Méthode B : monter le stockage et l'utiliser en local

D'abord le montage. Sous Debian et Ubuntu :

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

Ensuite l'entrée dans /etc/fstab, pour qu'elle survive à un redémarrage :

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

Les trois options importantes : uid=www-data fait en sorte que le serveur web ait le droit d'écrire, seal chiffre la transmission avec SMB 3, et _netdev plus nofail empêchent le serveur de rester bloqué au démarrage si le stockage ne répond pas à ce moment-là.

mount -a
sudo -u www-data touch /mnt/storage/test && echo "Accès en écriture opérationnel"

Ensuite, dans Nextcloud, activez l'application « External storage support » et enregistrez le stockage, soit dans l'interface sous Administration, Stockage externe, soit en ligne de commande :

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

Le dossier « Donnees » apparaît maintenant chez les utilisateurs auxquels vous l'attribuez. Vous pilotez cette attribution par utilisateur ou par groupe, de sorte que tout le monde ne voie pas tout.

Méthode A : stockage externe directement dans Nextcloud

Sans droits root, cela fonctionne aussi sans montage. Pour SMB, il vous faut l'extension PHP correspondante :

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

Créez ensuite une entrée sous Administration, Stockage externe :

ChampValeur
Nom du dossierDonnees
Stockage externeSMB / CIFS
Hôteu123456.storage.kernelhost.net
Partagebackup
Sous-dossier distantnextcloud
Nom d'utilisateuru123456-sub1
Mot de passele mot de passe du sous-compte

Pour SFTP, choisissez à la place le type « SFTP », saisissez comme hôte u123456.storage.kernelhost.net et comme port 23. C'est la source d'erreur la plus fréquente avec cette méthode : Nextcloud propose 22, notre stockage écoute sur 23.

Attribuer un quota par utilisateur

Vient maintenant la partie qui justifie tout ce montage. Sous Administration, Utilisateurs, vous saisissez un quota par compte, par exemple 50 GB. Ou en ligne de commande :

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

Nextcloud compte alors les versions et la corbeille dans ce total. C'est correct ainsi, mais cela surprend volontiers : qui reçoit 50 GB et téléverse 50 GB a vite occupé plus que prévu à cause des anciennes versions. Pour les comptes qui remplacent beaucoup plutôt qu'ils n'ajoutent, il vaut la peine de limiter la conservation des versions.

Des liens de partage pour votre propre site

Pour Nextcloud, le stockage externe est un dossier comme un autre, les partages fonctionnent donc sans changement. Un lien avec mot de passe et date d'expiration se crée en trois clics, et le fichier est alors livré par Nextcloud, pas directement par le stockage. Vos identifiants d'accès au stockage ne quittent donc jamais le serveur.

C'est exactement la brique qui manque à un Storage Server seul. Qui exploite un site avec une zone de téléchargement obtient ici la gestion des utilisateurs, les autorisations et la livraison en un seul endroit, sans rien programmer soi-même. À quoi ressemble l'alternative sans Nextcloud, c'est expliqué dans Utiliser un Storage Server pour son propre site.

Quatre pièges qui apparaissent à coup sûr

  • Le répertoire de données n'a rien à faire sur le stockage. Techniquement possible, délicat en pratique : Nextcloud y dépose aussi des fichiers de verrouillage et des états intermédiaires, et une brève coupure réseau paralyse toute l'instance. En stockage externe, une perturbation ne touche que ce seul dossier.
  • La base de données reste locale. Toujours. Sur le stockage, il y a des fichiers, rien d'autre.
  • Mettez Redis en place. Sans cache pour les verrous de fichiers, Nextcloud devient sensiblement lent avec un stockage externe, parce que chaque verrou passe par la base de données.
  • Port 23 et non 22. En SFTP, Nextcloud propose 22. Notre stockage écoute sur 23, et le message d'erreur correspondant n'aide guère.

Quel serveur et quelle offre

Pour Nextcloud lui-même, une petite machine suffit. Les fichiers sont ailleurs, le serveur ne fait que gérer : pour une poignée à quelques dizaines d'utilisateurs actifs, 4 à 8 GB de RAM suffisent, à condition que Redis tourne et que l'exécution en arrière-plan soit en place. Un guide à ce sujet se trouve dans Installer Nextcloud sur son propre serveur.

Pour le stockage, le choix dépend de l'espace :

OffreEspaceInstantanésPrix
Storage-11 TB10 plus 10 automatiques9,99 EUR
Storage-25 TB20 plus 20 automatiques29,99 EUR
Storage-310 TB30 plus 30 automatiques39,99 EUR
Storage-420 TB40 plus 40 automatiques69,99 EUR

Tous les Storage Server se trouvent en Allemagne, parlent SMB, SFTP, WebDAV et plus encore, autorisent jusqu'à 100 sous-comptes et apportent des instantanés. Pas de frais de mise en service, PrePaid, sans durée minimale. Si votre besoin d'espace grandit, vous passez à l'offre supérieure sans toucher aux données.

Questions fréquentes

Pourquoi ne pas simplement prendre un gros serveur avec beaucoup de disque ?
Parce que l'espace disque sur un serveur à SSD NVMe coûte plusieurs fois plus cher. Nextcloud lui-même a besoin de peu d'espace et de peu de puissance, la masse se trouve dans les fichiers. Un petit serveur plus un stockage revient donc en règle générale nettement moins cher qu'un gros serveur avec beaucoup de disque.
Faut-il prendre SMB ou SFTP ?
Si vous avez les droits root sur le serveur Nextcloud, montez le stockage dans le système de fichiers en SMB et créez dans Nextcloud un stockage externe local vers ce répertoire. C'est plus rapide et plus stable que le pilote SFTP de Nextcloud, qui freine sensiblement avec beaucoup de petits fichiers.
Puis-je attribuer une taille propre à chaque utilisateur ?
Oui, et c'est précisément la raison de ce montage. Le Storage Server lui-même ne connaît pas de quota par sous-compte, Nextcloud si. Dans la gestion des utilisateurs, vous attribuez un quota par compte, et Nextcloud l'applique.
Puis-je déposer les données directement sur le stockage plutôt que de passer par un stockage externe ?
Techniquement oui, en plaçant le répertoire de données de Nextcloud sur le stockage monté. Ce n'est pas recommandé : Nextcloud y dépose aussi des fichiers de verrouillage, des aperçus et des états intermédiaires, et une brève coupure réseau met toute l'instance à l'arrêt. En stockage externe, une perturbation ne touche que le dossier concerné.
Les liens de partage fonctionnent-ils aussi pour les fichiers sur le stockage ?
Oui, pour Nextcloud un stockage externe est un dossier comme un autre. Les partages avec mot de passe et date d'expiration fonctionnent exactement de la même façon, et le fichier est alors livré par Nextcloud, pas directement par le stockage.
Quelle est la vitesse ?
Pour les gros fichiers, c'est le raccordement de votre serveur qui limite, pas le stockage. Avec beaucoup de petits fichiers, le temps de parcours réseau s'ajoute à chaque accès, c'est pourquoi les vignettes appartiennent au cache local de Nextcloud et non au stockage externe.
Que se passe-t-il si le stockage est brièvement injoignable ?
Monté en stockage externe, Nextcloud signale le dossier comme indisponible, le reste continue de tourner. Si en revanche tout le répertoire de données s'y trouve, l'instance est à l'arrêt. C'est l'argument le plus important en faveur de la variante avec stockage externe.
Ai-je besoin d'une base de données sur le stockage ?
Non, en aucun cas. La base de données reste sur le serveur, sur du stockage local rapide. Sur le Storage Server, il n'y a que les fichiers.
Combien d'utilisateurs un petit serveur supporte-t-il ?
Pour une poignée à quelques dizaines d'utilisateurs actifs, un serveur avec 4 à 8 GB de RAM suffit sans problème, à condition que Redis et une exécution régulière en arrière-plan soient en place. Les fichiers sont de toute façon ailleurs, le serveur ne fait que gérer.
Combien coûte la combinaison ?
Un petit serveur pour Nextcloud, plus un Storage Server à partir de 9,99 euros par mois pour 1 TB. Storage-2 avec 5 TB coûte 29,99, Storage-3 avec 10 TB 39,99 et Storage-4 avec 20 TB 69,99. Le tout sans frais de mise en service, en PrePaid et sans durée minimale.

Nextcloud Storage Server Externer Speicher SMB SFTP Quota Freigaben