48 votes

Où dois-je stocker les données partagées dans le système de fichiers ?

Où se trouve, dans le système de fichiers Unix, l'emplacement conventionnel où sont sauvegardées les données non spécifiques à l'utilisateur, par exemple les données partagées via nfs ou ftp, ou les sauvegardes ?

Je pourrais évidemment créer et utiliser n'importe quel dossier arbitraire (tel que /home/shared, /data ou /var/data), mais je me demande vraiment s'il existe des lignes directrices en matière de "meilleures" pratiques ou de "pratiques courantes". Les Norme de hiérarchie des systèmes de fichiers ne spécifie pas d'emplacement pour les données partagées.

Pour les sauvegardes, j'ai tendance à utiliser /var/backups, mais comme plusieurs cronjobs y écrivent, faut-il vraiment le laisser à leur disposition ?

34voto

andybee Points 497

Cette question fait semblent avoir une réponse claire dans le Norme de hiérarchie des systèmes de fichiers qui précise /srv als "contenant des données spécifiques à un site qui est desservi par ce système " . (3.16.1)

L'objectif principal de cette spécification est de faire en sorte que utilisateurs peut trouver l'emplacement de la fichiers de données pour les parties service Les services qui nécessitent un seul arbre pour les données en lecture seule, les données en écriture et les scripts ne sont donc pas pris en compte.

(je souligne)

Remarque : "desservi par le système" ne fait pas nécessairement référence à l'internet. Il ne doit même pas s'agir d'un réseau. Elle s'applique même à un système partagé. En outre, les mots site y service doivent être compris dans leur sens antérieur à Internet. Votre site peut être "le département de physique" ou "le bureau des finances".

Il poursuit en disant

Sur les grands systèmes, il peut être utile de structurer /srv en fonction du contexte administratif, comme par exemple /srv/physics/www, /srv/compsci/cvs, etc. Cette configuration diffère d'un hôte à l'autre. Par conséquent, aucun programme ne doit s'appuyer sur une structure de sous-répertoire spécifique de /srv ou sur des données nécessairement stockées dans /srv. Cependant, /srv doit toujours exister sur les systèmes conformes au SHF et doit être utilisé comme emplacement par défaut pour ces données. de telles données.

Vous devez donc structurer davantage vos données dans des répertoires tels que /srv/nfs , /srv/backup et ainsi de suite.

Je dois également mentionner que peu de gens le font encore aujourd'hui. Mais il n'y a pas de raison valable pour qu'ils ne le fassent plus. La norme n'est en aucun cas dépassée.

/var est traditionnellement utilisé pour des choses telles que les pools d'impression et les fichiers journaux, mais il est également utilisé par le serveur web Apache (sur les systèmes Debian en tout cas - SUSE utilise /srv) ; Il ne semble pas y avoir de consensus sur la question de savoir si /var est un répertoire approprié pour les données partagées. Mais si vous décidez de l'utiliser à la place, vous ne le regretterez pas, j'en suis sûr.

A noter également : La réponse de Karthick n'est en aucun cas erronée. Le FHS dit que /srv " doit être utilisé comme emplacement par défaut pour de de telles données", mais la norme laisse une certaine marge de manœuvre pour votre propre préférence, en fonction de la façon dont vous interprétez les termes.

15voto

Rob Gray Points 1556
  • Les données non spécifiques à l'utilisateur peuvent être stockées dans /usr/local/var afin qu'il ne se retrouve pas à nouveau sur un partage de travail.
  • Tout ce qui n'est pas sous ../local/ est autorisé à se retrouver sur un partage nfs, donc si vous voulez télécharger des données à partir d'un partage nfs, assurez-vous qu'elles sont stockées localement sur le disque dur de la machine.
  • Ensuite, vous devez choisir un chemin avec .../local/... à l'intérieur.... le reste dépend de la nature des données, de leur type. Il peut s'agir de /local/var ou de /local/tmp, etc.

Hiérarchie du système de fichiers :
alt text

Jetez également un coup d'œil à ceci

5voto

Matthew Steeples Points 4637

Je ne pense pas que le SGH définisse un lieu pour les données partagées des utilisateurs. C'est aux utilisateurs de décider où ils veulent stocker leurs données partagées. J'utilise généralement /usr/local/shared ou /home/shared .

2voto

Mike Points 1

J'ai vu /export utilisé pour servir avec nfs, et /mnt utilisé pour monter un partage nfs localement, dans un environnement d'entreprise, comme le suggère la documentation NFS, un standard qui, je suppose, provient à l'origine de Sun OS, rebaptisé plus tard Solaris.

En /etc/exports nomme les volumes exportés et le fichier /exports les transmet aux utilisateurs distants, qui les montent sur le répertoire /mnt . L'hôte du serveur peut également monter ces mêmes partages sur /mnt utiliser le même démon nfs pour tous les clients ou processus s'exécutant localement sur le serveur, afin de conserver la compatibilité avec les hôtes distants et peut-être conserver les fonctionnalités de nivellement de la charge, de quotas, etc.

C'est ce qui se rapproche le plus d'une "norme". Notez que /export ne figure donc pas dans le FHS /export a été ajouté indépendamment, de sorte que personne n'est vraisemblablement satisfait de /srv . Probablement en raison d'une confusion potentielle avec les "services" fonctionnant en tant que démons plutôt qu'avec les volumes "servis". /export est nommé sans ambiguïté et ne présente que peu de risques de confusion. Je ne vois jamais rien dans /srv .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X