Comment configurer le stockage d'objets S3 pour ownCloud Infinite Scale

ownCloud Infinite Scale peut utiliser le stockage objet compatible S3 pour les fichiers binaires tout en conservant les métadonnées sur un système de fichiers conforme à la norme POSIX. Cette distinction est essentielle : S3 ne remplace pas directement tous les répertoires de données locaux. Dans la s3ngconfiguration prise en charge, le stockage objet contient le contenu binaire des fichiers, tandis que les métadonnées restent sur un stockage POSIX, tel qu'un système de fichiers local ou NFS.

Ce guide suit la documentation actuelle sur le stockage ownCloud Infinite Scale disponible en octobre 2026. Il est destiné aux administrateurs qui découvrent le s3ngpilote et souhaitent une configuration qu'ils peuvent comprendre avant de l'adapter à Docker Compose, systemd, Kubernetes ou à une autre méthode de déploiement.

Les références officielles utilisées dans ce guide sont la documentation sur le stockage ownCloud S3 , la configuration du service Storage-Users et les considérations générales relatives au stockage .

Que signifie S3 dans ownCloud Infinite Scale ?

S3 est une API de stockage d'objets initialement proposée par Amazon. Un service compatible S3 stocke les données sous forme d'objets dans un compartiment et expose des opérations via des API HTTP. ownCloud Infinite Scale utilise le s3ngpilote de stockage pour placer des fichiers binaires (blobs) dans un tel compartiment.

Le stockage POSIX désigne un système de fichiers offrant le comportement attendu par Infinite Scale pour les métadonnées. Dans ce cas s3ng, les métadonnées ne sont pas déplacées vers le compartiment S3. ownCloud indique clairement que les objets blob sont transférés vers S3 tandis que les métadonnées restent sur le stockage POSIX.

Cette distinction permet d'éviter une erreur fréquente : configurer Infinite Scale pour qu'il pointe vers un compartiment et supposer que l'intégralité de l'état du serveur s'y trouve. Ce n'est pas le cas. Votre plan de sauvegarde et de restauration doit couvrir à la fois les métadonnées côté POSIX et les objets blob côté S3.

Étape 1 : Préparer le compartiment, le stockage des métadonnées, les informations d’identification et le chemin réseau

Avant de modifier Infinite Scale, préparez quatre éléments :

  • Un compartiment S3 dédié.
  • Un chemin conforme à la norme POSIX pour s3ngles métadonnées. Pour un déploiement multi-nœuds, ownCloud recommande de bien réfléchir au stockage partagé ; NFS est généralement utilisé lorsque plusieurs instances Infinite Scale doivent accéder au chemin des métadonnées.
  • Une clé d'accès et une clé secrète contenant uniquement les autorisations de compartiment requises par Infinite Scale.
  • Accessibilité réseau depuis l'hôte ou le conteneur Infinite Scale jusqu'au point de terminaison S3, normalement via HTTPS.
Liste de contrôle montrant le stockage des métadonnées POSIX, un compartiment S3, les informations d'identification d'accès et la connectivité HTTPS comme prérequis pour le stockage S3 d'ownCloud Infinite Scale.
Avant de modifier la configuration Infinite Scale, préparez le chemin des métadonnées POSIX, le compartiment S3, les informations d'identification et la connectivité réseau.

Ne rendez pas le compartiment public. Infinite Scale s'authentifie auprès du compartiment à l'aide d'identifiants ; un accès public n'est ni requis ni souhaitable. Évitez également de réutiliser des identifiants d'administrateur généraux lorsqu'il est possible de créer une identité de service dédiée.

Si vous utilisez Amazon S3, le point de terminaison et la région suivent les conventions AWS. Si vous utilisez un autre fournisseur compatible S3, veuillez vérifier le format de son point de terminaison, le comportement des régions, les exigences TLS et la syntaxe de sa politique dans sa documentation. ownCloud signale expressément que le comportement, notamment les détails du chiffrement, peut varier d'un fournisseur à l'autre.

Étape 2 : Activez le pilote s3ng et fournissez les paramètres de connexion S3

Le paramètre de stockage principal est défini STORAGE_USERS_DRIVER=s3ng. Le service Storage-Users est le composant Infinite Scale responsable du stockage des fichiers utilisateur. La configuration officielle conserve également le pilote de stockage système sur le ocisbackend normal.

Un ensemble minimal de variables d'environnement ressemble à ceci :

STORAGE_USERS_DRIVER=s3ng
STORAGE_USERS_S3NG_ROOT=/var/lib/ocis/storage/users
STORAGE_SYSTEM_DRIVER=ocis

STORAGE_USERS_S3NG_ENDPOINT=https://s3.example.com
STORAGE_USERS_S3NG_REGION=us-east-1
STORAGE_USERS_S3NG_ACCESS_KEY=YOUR_ACCESS_KEY
STORAGE_USERS_S3NG_SECRET_KEY=YOUR_SECRET_KEY
STORAGE_USERS_S3NG_BUCKET=ocis-files
Éditeur de terminal affichant le pilote s3ng, la racine des métadonnées POSIX, le point de terminaison S3, la région, la clé d'accès, la clé secrète et les variables d'environnement du compartiment.
Les variables d'environnement essentielles s3ng connectent le service Storage-Users à S3 tout en préservant les métadonnées sur le stockage POSIX.

Les valeurs indiquées en exemple sont des espaces réservés. Utilisez le point de terminaison, la région, le compartiment et les informations d'identification fournis par votre fournisseur. Ne stockez pas la clé secrète dans un dépôt Git public. Pour l'orchestration de conteneurs, privilégiez le mécanisme de gestion des secrets de la plateforme plutôt que d'intégrer directement les informations d'identification dans un fichier Compose ou un manifeste.

Votre méthode de déploiement détermine l'emplacement de ces variables. Un déploiement Docker Compose peut les placer dans la environmentsection du service Infinite Scale ou les charger depuis un fichier d'environnement. Un déploiement systemd peut utiliser un fichier d'environnement ou une configuration d'unité. Kubernetes les injecte généralement via un Secret et un Deployment ou un StatefulSet. Seuls les noms des variables importent ; la syntaxe qui les entoure dépend de votre plateforme.

Étape 3 : Accorder au compartiment les autorisations nécessaires à Infinite Scale

Une politique de compartiment est une règle de gestion des identités et des accès (IAM) qui contrôle les actions qu'une identité authentifiée peut effectuer sur un compartiment et ses objets. ownCloud publie un modèle de politique requis pour le s3ngpilote.

Remplacez bucket-namedans la politique suivante par le nom réel de votre compartiment :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ListBucket",
      "Effect": "Allow",
      "Action": ["s3:ListBucket"],
      "Resource": ["arn:aws:s3:::bucket-name"]
    },
    {
      "Sid": "ActionsInBucketContext",
      "Effect": "Allow",
      "Action": [
        "s3:*Object",
        "s3:*MultipartUpload",
        "s3:ListMultipartUploadParts"
      ],
      "Resource": ["arn:aws:s3:::bucket-name/*"]
    }
  ]
}
Gros plan sur une politique de compartiment S3 montrant les autorisations ListBucket, object et multipart-upload pour un compartiment ownCloud Infinite Scale.
La structure de la politique doit autoriser le listage des compartiments ainsi que les opérations d'envoi d'objets et de chargement multipart requises par le pilote s3ng. Utilisez la politique exacte décrite dans la documentation officielle pour votre déploiement.

Ne résolvez pas une erreur d'accès refusé en accordant les autorisations s3:*à tous les compartiments du compte. Commencez par les autorisations documentées au niveau du compartiment, puis adaptez-les uniquement si votre fournisseur S3 exige des autorisations équivalentes.

Étape 4 : Redémarrez Infinite Scale et vérifiez le chemin de stockage

Appliquez la configuration en suivant la procédure de redémarrage habituelle de votre déploiement. Par exemple, une installation systemd peut utiliser la commande `restart` systemctl restart ocis, tandis qu'un déploiement Compose recréera ou redémarrera les conteneurs de service concernés. Consultez les journaux immédiatement après le démarrage pour détecter les erreurs d'authentification, de DNS, de TLS, de région ou d'autorisation.

Terminal affichant un redémarrage du service ownCloud Infinite Scale, l'état du service et une liste de compartiments S3 en ligne de commande utilisée pour vérifier la connectivité.
Après avoir appliqué la configuration, redémarrez les services Infinite Scale concernés et vérifiez que l'hôte peut accéder au compartiment prévu et s'y authentifier.

L'exécution d'une requête de liste de compartiment avec l'interface de ligne de commande de votre fournisseur S3 prouve que l'hôte et les identifiants permettent d'accéder au compartiment, mais ne prouve pas à elle seule qu'Infinite Scale écrit correctement les blobs. Le test de bout en bout le plus fiable consiste à démarrer Infinite Scale, à téléverser un petit fichier via l'interface web d'ownCloud, à le télécharger à nouveau et à consulter les journaux du service pour détecter d'éventuelles erreurs.

Si votre version d'Infinite Scale installée inclut la commande de maintenance du blobstore documentée par ownCloud, vous pouvez également l'utiliser ocis storage-users blobstore check. ownCloud décrit cette commande comme un aller-retour entre le chargement, le téléchargement et la suppression de données sur le blobstore configuré. Consultez la documentation officielle de vérification du blobstore pour connaître la syntaxe spécifique à votre version.

Ne vous attendez pas à ce que les noms de fichiers d'origine apparaissent comme des objets S3 normaux

L'une des erreurs les plus fréquentes consiste à parcourir le compartiment et à s'attendre à retrouver une arborescence de dossiers utilisateur classique Documents/report.pdf. Infinite Scale considère S3 comme un espace de stockage d'objets blob, et non comme un système de fichiers accessible à l'utilisateur. Le format de clé documenté s3ngrepose sur les identifiants d'espace et d'objet blob, tandis que l'espace de noms lisible par l'utilisateur est reconstruit à partir des métadonnées.

Cela signifie que vous ne devez pas renommer, réorganiser ou supprimer manuellement des objets dans le bucket simplement parce que leurs clés semblent inconnues. Gérez les fichiers utilisateur via ownCloud. Toute manipulation directe du bucket peut rompre le lien entre les métadonnées et les blobs.

Fichiers volumineux : vérifiez la taille des pièces multiparties avant la production.

S3 utilise le chargement multipart pour diviser les objets volumineux en plusieurs parties. La documentation ownCloud STORAGE_USERS_S3NG_PUT_OBJECT_PART_SIZEexplique comment contrôler la taille des parties. La valeur par défaut, lorsqu'aucune valeur explicite n'est fournie, est de 16 Mio.

Amazon S3 autorise un maximum de 10 000 parties par chargement multipart. Avec une taille de partie de 16 Mio, cela correspond à environ 160 Gio avant que la limite du nombre de parties ne pose problème. Si vos utilisateurs chargent régulièrement des fichiers volumineux, calculez la taille de partie requise avant la mise en production plutôt que d'attendre qu'un transfert important échoue.

Le compromis est simple : des compartiments plus grands permettent de gérer des fichiers plus volumineux avec moins de requêtes, mais ils modifient également les caractéristiques de mémoire, de mise en mémoire tampon, de nouvelle tentative et de transfert. ownCloud précise également que les données des fichiers entrants nécessitent un stockage temporaire pendant leur mise en mémoire tampon ; la planification de la capacité doit donc prendre en compte davantage que le seul compartiment distant.

Problèmes courants et points à vérifier en premier

SymptômeZone probablePremier contrôle
Accès refusépolitique d'identification ou de compartimentConfirmez la clé d'accès, la clé secrète, l'ARN du compartiment et les actions requises.
Seau introuvableNom du compartiment, point de terminaison ou régionVérifiez le nom exact du compartiment et la combinaison point de terminaison/région spécifique au fournisseur.
Erreur TLS ou de certificatconfiance HTTPSVérifiez que le certificat du point de terminaison est valide et approuvé au sein de l'hôte/conteneur Infinite Scale.
Les petits fichiers fonctionnent, mais les très gros fichiers échouent.dimensionnement en plusieurs partiesVérifiez STORAGE_USERS_S3NG_PUT_OBJECT_PART_SIZEles limites de votre fournisseur pour les paiements en plusieurs parties.
Les fichiers disparaissent après la restauration du seul S3.Sauvegarde incomplèteRestaurez les métadonnées POSIX et les blobs S3 sous forme d'un seul ensemble de données cohérent.

Sauvegardez simultanément les blobs S3 et les métadonnées POSIX

Avec s3ngownCloud, le bucket ne représente que la moitié de l'état de stockage. La documentation de sauvegarde d'ownCloud indique qu'une configuration S3 distribuée doit inclure la configuration, les données système, les métadonnées et les blobs. La documentation de restauration exige également que ces ensembles de données soient restaurés de manière cohérente.

Pour un service de production, documentez le montage des métadonnées, le compartiment, les identifiants ou le rôle, les fichiers de configuration et la procédure de sauvegarde dans le même manuel d'exploitation. Testez la restauration avant de vous fier à la conception. Les références officielles pertinentes sont le guide de sauvegarde et les considérations relatives à la restauration d'ownCloud .

Point de départ recommandé

Pour un premier déploiement, privilégiez une conception simple : utilisez un compartiment S3 dédié aux objets blob, un chemin de métadonnées POSIX persistant, une identité de service dédiée avec les autorisations de compartiment documentées, HTTPS vers le point de terminaison de stockage d’objets et les paramètres multipart par défaut, sauf si la taille de vos fichiers prévus nécessite une modification.

Après la configuration, validez trois niveaux séparément : l’accès réseau et l’authentification au bucket, le démarrage d’Infinite Scale sans erreur de stockage et un transfert effectif (téléchargement/chargement) via ownCloud. Une fois ces vérifications réussies, passez à la surveillance, aux sauvegardes, aux règles de cycle de vie et à l’optimisation des performances. Cette méthode facilite grandement le dépannage, car chaque test répond à une question différente au lieu de considérer le bon fonctionnement de S3 comme un simple résultat binaire.

Laisser un commentaire

Les 7 meilleurs outils WSUS pour la gestion des mises à jour et le dépannage

Les 7 meilleurs outils WSUS pour la gestion des mises à jour et le dépannage

Comparez sept outils qui prennent en charge ou complètent WSUS, allant de la console et des diagnostics natifs de Microsoft à la publication de correctifs tiers et au déploiement à distance.

Meilleurs outils de surveillance système Windows : 6 solutions pour une visibilité optimale des serveurs

Meilleurs outils de surveillance système Windows : 6 solutions pour une visibilité optimale des serveurs

Comparez six outils de surveillance système Windows pour l'état du serveur, la visibilité des applications et les alertes, avec des informations actualisées sur le déploiement et les licences.

7 outils Wake-on-LAN : lesquels sont encore disponibles dans la liste de 2021 ?

7 outils Wake-on-LAN : lesquels sont encore disponibles dans la liste de 2021 ?

Comparez sept outils Wake-on-LAN en fonction de leurs fonctionnalités et de leur disponibilité, y compris les utilitaires gratuits, les suites d'administration réseau et les outils sélectionnés en 2021 qui ont depuis été retirés du marché.

Les 9 meilleurs outils de ping pour tester la latence et analyser un réseau

Les 9 meilleurs outils de ping pour tester la latence et analyser un réseau

Comparez neuf outils de ping pour des vérifications rapides d'accessibilité, la découverte de sous-réseaux, les tests TCP et la surveillance de la latence, avec des conseils pour choisir celui qui convient le mieux à votre tâche réseau.

Meilleurs serveurs TFTP pour Windows, Linux et macOS

Meilleurs serveurs TFTP pour Windows, Linux et macOS

Comparez les meilleurs serveurs TFTP pour Windows, Linux et macOS, notamment SolarWinds, Tftpd64, tftpd-hpa, atftpd, haneWIN et dnsmasq.

5 des meilleures alternatives à Microsoft Access pour les bases de données de bureau et Web

5 des meilleures alternatives à Microsoft Access pour les bases de données de bureau et Web

Comparez cinq alternatives à Microsoft Access pour le travail sur bases de données de bureau, SQLite, sans code et basées sur navigateur, avec leurs points forts, leurs limites et leurs cas d'utilisation les plus adaptés.

Comparaison des outils de surveillance open source et propriétaires

Comparaison des outils de surveillance open source et propriétaires

Comparez les outils de surveillance open source et propriétaires en fonction du coût, du support, de la personnalisation, de la sécurité et des options actuelles, notamment Zabbix, Nagios, PRTG et plus encore.

Entrée vs. Sortie : Quelle est la différence en matière de mise en réseau ?

Entrée vs. Sortie : Quelle est la différence en matière de mise en réseau ?

Comprendre comment les termes « entrée » et « sortie » décrivent le trafic entrant et sortant, pourquoi la direction dépend des limites du réseau et comment surveiller la bande passante et repérer les transferts de données à risque.

6 serveurs Syslog gratuits à essayer pour la journalisation centralisée

6 serveurs Syslog gratuits à essayer pour la journalisation centralisée

Comparez six serveurs et collecteurs syslog gratuits pour Windows et Linux, incluant des outils GUI, des options open source, la recherche, les alertes et le transport sécurisé.

Qu'est-ce qu'IIS ? Le serveur web Windows de Microsoft et ses alternatives

Qu'est-ce qu'IIS ? Le serveur web Windows de Microsoft et ses alternatives

Découvrez ce que fait Microsoft IIS, comment fonctionnent son pipeline de requêtes et ses pools d'applications, et quand Apache, NGINX ou Caddy peuvent mieux répondre à vos besoins en matière de serveur Web.