Quels sont les avantages et les inconvénients du montage de divers répertoires sur des partitions séparées?

42

Lors de l'installation d'Ubuntu avec l'option "autre chose", j'ai découvert qu'il existe de nombreux dossiers pouvant être montés sur des partitions séparées, comme le montre l'image ci-dessous.

beaucoup de dossiers peuvent être montés sur des partitions séparées

Quels sont donc les avantages et les inconvénients du montage de ces dossiers (ou répertoires) sur des partitions distinctes?

Plus précisément, les répertoires sont

  1. /boot
  2. /home
  3. /tmp
  4. /usr
  5. /var
  6. /srv
  7. /opt
  8. /usr/local
Utilisateur enregistré
la source
6
@CharlesGreen Cette question décrit l'utilisation de ces répertoires. Je suis intéressé à connaître les avantages et les inconvénients de les monter sur des partitions séparées. Donc, ces questions ne sont pas les mêmes.
Utilisateur enregistré

Réponses:

55

Il y a très très longtemps...

... Il fut un temps où les gens installaient Linux et le configuraient à la main pour répondre à leurs besoins spécifiques. Une partie de cela est vrai même aujourd'hui pour les serveurs. Les choix que vous voyez gpartedsont parmi les plus populaires pour ceux qui ont des besoins très différents de ceux des utilisateurs de bureau moyens, le public visé par Ubuntu Desktop.

Prenons-les un à la fois. Je vais sauter ceux que je ne connais pas beaucoup.

  1. /bootIl fut un temps où le système de fichiers Linux était fragile et les disques durs de petite taille. Les gens craignaient que le disque dur ne se remplisse ou ne soit corrompu et Ubuntu ne démarrera pas. Le fait de conserver les noyaux dans une partition séparée a aidé le système à démarrer lorsque d’autres problèmes se sont produits. À cette époque, les utilisateurs de Linux compilaient leur propre noyau et nettoyaient les anciens. Aussi récemment qu’avec Ubuntu 16.04 LTS , l’ application Software Updater a installé la dernière mise à jour du noyau mais n’a pas supprimé les anciens noyaux. En conséquence, une petite /bootpartition remplie d'anciens noyaux et le système ne démarrait plus, à moins qu'un disque ne soit nettoyé périodiquement. Voyez ce qui s'est passé si vous aviez une /bootpartition séparée et que vous oubliez de la nettoyer régulièrement: Comment libérer de l'espace supplémentaire dans / boot? Avec Ubuntu 18.04 LTS, l’ application Software Updater maintient non seulement le système à jour, mais supprime également les anciens noyaux.
  2. D'autre part, si vous souhaitez chiffrer la /partition (pour protéger le logiciel secret sur lequel vous travaillez), vous aurez besoin d'une /bootpartition séparée (et non chiffrée) . Sinon, le système ne démarrera pas. De même, si vous avez un lecteur RAID, il /bootpeut être utile de conserver une partition non RAID. Beaucoup de gens pensent qu’avoir une /bootpartition séparée est une très bonne idée pour ces raisons, entre autres.
  3. /homeGarder la maison dans une partition séparée a encore du sens. Ce dossier / cette partition contient vos fichiers personnels et le placer dans une partition séparée vous permet de formater /et de réinstaller Ubuntu tout en conservant vos fichiers intacts. Les versions récentes du logiciel d'installation Ubuntu incluent un choix de mise à jour à partir de DVD / USB. Cette option reste /homeintacte même si elle ne se trouve pas sur une partition séparée. Si vous manquez d'espace sur votre disque principal avec une /partition. Vous voudrez peut-être ajouter un nouveau lecteur et créer un seul/home partition dans le nouveau lecteur.
  4. /tmpest l'endroit où les fichiers temporaires vont. Si vous exécutez un serveur qui crée des fichiers temporaires volumineux, ils risquent de saturer tout l'espace disque et de bloquer votre serveur. Le fait de le conserver dans une partition séparée ne fera que remplir cette partition et pourrait arrêter le processus qui créait les gros fichiers temporaires, mais pas le reste du système. On me dit qu'il est plus facile de gérer une /tmppartition remplie qu'un dossier temporaire sous /partition.
  5. /usr/, /opt/et /usr/localsont tous des lieux où les programmes et les applications sont conservés dans des conditions différentes. Si vous développez des logiciels pour Linux, il peut être judicieux de les conserver dans des partitions séparées afin de ne pas supprimer les programmes que vous avez écrits ou sur lesquels vous avez travaillé si vous réinstallez Ubuntu.
  6. Conserver /opt/et /usr/localdans une partition séparée est également utile si vous installez des programmes à partir du source (le vôtre ou ailleurs) et souhaitez les utiliser dans une autre distribution (par exemple, Red Hat) installée sur le même ordinateur dans sa propre partition. Ensuite, les distributions Ubuntu et Red Hat peuvent partager le /optet /usr/local partitions . (Merci Rmano!)
  7. /srvet /varsont particulièrement utiles en tant que partitions séparées si vous exécutez des serveurs ou développez des pages Web. Pour l'utilisateur de bureau moyen, ces dossiers ne prennent pas beaucoup de place et ne contiennent rien qui ait de la valeur pour l'utilisateur. Pour un développeur web, perdre /var/wwwpeut signifier perdre son emploi.

Pour être sûr, ce ne sont pas les seuls répertoires que l'on peut monter en tant que partitions. Sous Linux, on peut monter une partition comme n’importe quel dossier. Les partitions sont souvent montées en tant que sous-répertoires de/mnt/ et /media.

J'espère que cela t'aides

utilisateur68186
la source
+1, bonne réponse. Vous pouvez également voir ma prise dans askubuntu.com/a/379212/16395 et askubuntu.com/a/379019/16395
Rmano
1
Merci @Rmano J'avais déjà vu votre réponse détaillée. Je vais emprunter de votre deuxième réponse et éditer la mienne.
user68186
2
C’est correct (bien que je le fasse pour leur permettre de survivre à une réinstallation complète - les nouveaux installateurs sont en mesure de sauvegarder, /homemais pas /usr/local. BTW, "installer à la main et sur mesure" est le lemme Arch Linux ... il y en a donc encore beaucoup. ) des gens qui font ça
Rmano
2
La raison historique pour laquelle / boot est une partition distincte remonte aux jours où le disque dur était plus volumineux que le BIOS ne pouvait gérer. Ainsi, si le noyau se trouvait dans la partie inaccessible du disque, il ne pouvait pas être chargé. En plaçant d'abord le partitionnement / boot sur le disque, il était garanti que le BIOS pourrait toujours accéder au noyau pour que Linux puisse démarrer.
Thorbjørn Ravn Andersen
1
Notez également que des disques peuvent être ajoutés pour obtenir plus d'espace, mais sous Unix, vous avez besoin d'un emplacement pour les monter au lieu d'attribuer simplement une lettre de lecteur. Par exemple, si le disque était plein, un nouveau disque a été acheté pour contenir / home et le contenu actuel y a été déplacé.
Thorbjørn Ravn Andersen
15

Avantages génériques d'avoir plusieurs partitions:

  1. Vous pouvez utiliser différents disques / LUN et améliorer les performances. Cela peut augmenter les performances des bases de données car vous pouvez avoir le journal des transactions sur un stockage et les fichiers de données sur un autre. Semblable pour les applications Web intensives d'E / S de disque.
  2. Vous pouvez utiliser différentes options de montage (qui augmentent la sécurité ou qui affectent les performances ou la stabilité de manière plus granulaire)
  3. Vous pouvez avoir différents systèmes de fichiers
  4. Vous gérez l'espace séparément. Vous pouvez donc avoir une mauvaise application qui remplit l’espace qui n’affecte pas les autres applications.
  5. La fragmentation d'une partition est indépendante de l'autre.
  6. Vous pouvez créer des instantanés, monter, démonter, formater, défragmenter, surveiller les performances de ces systèmes de fichiers indépendamment.
  7. Vous pouvez avoir le cryptage sur des volumes spécifiques.
  8. Vous pouvez monter des volumes à la demande.

Inconvénients génériques d'avoir plusieurs partitions:

  1. Cela augmente les frais administratifs.
  2. Vous aurez plus de chances de perdre plus d’espace disque.
  3. Vous aurez plus d'incidents impliquant le disque plein.
  4. Il est plus difficile de créer un instantané cohérent d'une application s'exécutant sur différents volumes.
  5. Il utilise un peu plus de ressources.
  6. Selon le type de volume (étiquette MS-DOS, LVM, btrfs ...), il est possible que vous ne puissiez pas facilement allouer de l'espace à partir d'un volume en en réduisant un autre. Surtout en ligne.

Une autre façon de partitionner votre système consiste à utiliser LVM, btrfs ou zfs pour /. N'attribuez que l'espace minimum pour / et, si nécessaire, créez des volumes logiques ou étendez /. Cela vous laisse le choix de fractionner les volumes ultérieurement et de réduire les coûts de maintenance.

Maintenant des choses spécifiques:

  • / boot est bon pour être une partition séparée. Le système de fichiers doit être pris en charge par votre chargeur de démarrage (généralement GRUB).
  • Si vous utilisez EFI / UEFI, vous devez disposer d'une partition système EFI.
  • / home est utile pour séparer les éléments utilisateur du système d'exploitation et des applications.
  • / tmp peut être monté avec noexec, nodev, nosuid. Il peut s'agir d'un fs mappé en mémoire, comme tmpfs.
  • / usr peut être monté en lecture seule et ne peut être remonté que par rw pour les mises à jour, il peut être distant comme un partage NFS.
  • / srv / opt stockera l'application et les données de l'application. Si vous avez une application intensive en E / S, vous pouvez utiliser un meilleur sous-système de disque (par exemple, SSD).
  • / usr / local est la valeur par défaut utilisée par les applications installées localement sur la machine actuelle. Par exemple, vous avez tout le reste sur NFS et un disque local ...

Il n'y a pas de solution parfaite. Si vous n'avez pas de raison claire de créer une nouvelle partition, ne le faites pas. La seule partition que vous pourriez avoir besoin de créer à part / is / boot.

Pour les ordinateurs de bureau / portables, il est agréable d’avoir / home afin de pouvoir réinstaller le système d’exploitation indépendamment de vos données.

Mircea Vutcovici
la source
Je vous en prie. Je ne suis pas d'accord pour dire que c'est une bonne idée d'avoir une /bootpartition séparée pour un utilisateur de bureau moyen. Les anciens noyaux ne sont pas nettoyés automatiquement et de nouveaux sont ajoutés. Alors ça arrive!
user68186
1
S'il est plein, l'utilisateur ne pourra pas installer les nouveaux noyaux et les mises à jour échoueront. Mais le système sera fonctionnel.
Mircea Vutcovici
1
Par contre, si vous utilisez un système de fichiers non pris en charge par GRUB ou si vous chiffrez la partition /, vous devez utiliser une partition / boot.
Mircea Vutcovici
D'accord sur les deux points.
user68186
1
J'ai modifié ma réponse pour supprimer l'exigence obligatoire de / partition de démarrage.
Mircea Vutcovici
2

Pour le bureau?

Aucune différence.

Pour le serveur?

Gestion et sauvegarde de l'espace.

Si votre système compte de nombreux utilisateurs, vous pouvez créer une partition supplémentaire pour / home /, les utilisateurs ne pourront donc pas dépasser cet espace et la racine (/) ne sera pas affectée.

Vous pouvez également monter NFS, SMB ou une partition sur d'autres disques physiques de ces dossiers. Par exemple :

/ dev / sda1 / boot (1 Go)

/ dev / sda2 / (60 Go)

nfs: // IP / folder / home (X To)

/ dev / sdb1 / var (1 To pour / var / www ou / var / ftp)

Pour ordinateur portable

/ sur m-sata (rapide)

/ var / home / opt / tmp sur le disque dur (lent)

przemo
la source
1
Pouvez-vous préciser votre dernier point? Une autre publication a déconseillé de disposer de ces partitions sur un disque séparé, en raison de la création d’un point de défaillance supplémentaire: à présent, si l’un des disques tombe en panne, votre système ne fonctionne plus. Sans oublier que cela ralentirait le temps de démarrage, car maintenant / attend le montage des partitions du disque dur.
Khashir
2

La réponse de przemo, imo, touche le plus étroitement les points pratiques. Voici quelques considérations pratiques supplémentaires:

Les environnements d'entreprise utilisent généralement des partitions distinctes pour /, / home, / opt, / var, / boot et les systèmes de fichiers supplémentaires (1 par application ou équipe d'application) sous / opt. Ceci est principalement destiné à éviter de saturer le système car un répertoire personnel devient volumineux (/ home), des journaux échappent à tout contrôle (/ var) ou des applications occupant beaucoup d'espace (/ opt, / opt //, etc.) et / boot afin que les autres partitions puissent être construites dans LVM et également pour vous assurer de pouvoir obtenir un shell de récupération si la partition système principale était corrompue pour une raison quelconque.

Pour mes propres utilisations personnelles non-serveur, je conserve simplement des partitions séparées /, / boot et / home afin de pouvoir amorcer simultanément deux systèmes d'exploitation Linux / UNIX et utiliser la même partition / home pour eux.

Dans le cas de la construction d'une machine virtuelle dans Oracle Virtualbox, VMWare Player / Workstation / Fusion, etc. pour un usage personnel, il n'y a vraiment aucune raison pratique d'avoir plusieurs partitions avec des points de montage différents en raison des fonctionnalités de partage de dossier fournies par au moins VirtualBox. et VMWare Player / Workstation / Fusion. La seule exception pourrait être / boot pour la raison du shell de récupération indiquée dans mon paragraphe "Environnement d'entreprise".

MGodby
la source
2

En cas de problème majeur lors de la mise à jour ou de la mise à niveau d'une version majeure, avoir / home sur une partition différente vous permet de démarrer à partir d'un CD, puis de nettoyer complètement et de réinstaller le système d'exploitation sans perdre vos données. De plus, cela rend possible l’amorçage multiple avec diverses distributions Linux. Certaines personnes aiment les évaluer côte à côte.

h22
la source
Séparer / home est l’une de mes boîtes à savon, mais j’ai tout de même été brûlé récemment, alors que j’installais Saucy dans une autre partition uniquement pour les tests sur un ordinateur portable onirique. J'ai redémarré dedans.
Joe
0

En plus des réponses existantes, vous pouvez avoir des cas d'utilisation de performances et de compatibilité non standard / communs bénéficiant de partitions différentes.

Vous souhaiterez peut-être partager des données avec un autre système d'exploitation tel que Windows et utiliser un système de fichiers pris en charge par Linux et.

Vous pouvez avoir des cas d’utilisation spécifiques vous permettant d’avoir différents réglages (du même type de système de fichiers, comme une partition EXT4 pour de nombreux petits fichiers et une partition EXT4 pour quelques fichiers volumineux (tels que des ordinateurs virtuels), il est possible optimiser le stockage et les performances pour les deux cas d'utilisation.

NGRhodes
la source