Gentoo Logo

[ << ] [ < ] [ Sommaire ] [ > ] [ >> ]


4. Préparer les disques

Table des matières :

4.a. Introduction aux périphériques de bloc

Les périphériques de bloc

Nous allons regarder de manière approfondie la question des disques sous Gentoo Linux et sous Linux en général, y compris les systèmes de fichiers de Linux, les partitions et les périphériques de bloc. Ensuite, une fois que vous serez familiarisé avec les tenants et aboutissants des disques et des systèmes de fichiers, vous serez guidé pour réaliser la mise en place des partitions et des systèmes de fichiers pour votre installation de Gentoo Linux.

Pour commencer, nous allons présenter les périphériques de bloc. Le plus célèbre étant certainement celui qui représente le premier disque dans un système Linux, /dev/sda. Les disques durs SCSI, Serial ATA et mêmes les disques durs IDE sont tous nommés en /dev/sda depuis les nouveaux pilotes libata de Linux. Si vous utilisez les anciens pilotes, votre premier disque dur IDE s'appelle alors /dev/hda.

Les périphériques de bloc cités ci-dessus représentent une interface abstraite vers les disques. Les programmes utilisateur peuvent les utiliser pour interagir avec votre disque sans se préoccuper de savoir si vos périphériques sont IDE, SCSI ou autres. Le programme peut simplement utiliser l'espace sur le disque comme un groupe de blocs continus de 512 octets accessibles aléatoirement.

Partitions

Bien qu'il soit théoriquement possible d'utiliser un disque complet pour héberger votre système Linux, ceci n'est pratiquement jamais fait. À la place, les périphériques de bloc sont divisés pour être plus petits et plus facilement gérables. Ces subdivisions sont appelées partitions.

Les systèmes Itanium utilisent l'EFI, ou Extensible Firmware Interface (pour Interface Microcodée Extensible), pour démarrer. La table de partition que comprend l'EFI est appelée GPT, ou GUID Partition Table. Le programme qui sait lire ces tables est "Parted", c'est donc l'outil auquel nous aurons recours dans ce guide. De plus, EFI ne sait lire les sysèmes de fichiers FAT, c'est donc aussi le système de fichiers à utiliser pour la partition de démarrage, l'endroit où le noyau sera installé par elilo.

Solutions de stockage avancées

Les CD d'installation Gentoo pour IA64 offrent le support des systèmes LVM2. Les systèmes LVM2 permettent une plus grande flexibilité dans l'organisation des disques. Le reste de ce guide utilise des partitions normales, mais vous pouvez activer ces systèmes de stockage avancés si vous le désirez.

4.b. Concevoir un plan de partitionnement

Plan de partitionnement par défaut

Si vous n'êtes pas intéressé par l'établissement d'un plan de partitionnement pour votre système, vous pouvez utiliser le plan de partitionnement que nous utilisons dans ce manuel :

Partition Système de fichiers Taille Description
/dev/sda1 vfat 32M Partition EFI de démarrarge (/boot)
/dev/sda2 (swap) 512M Partition de mémoire virtuelle
/dev/sda3 ext4 Rest of the disk Partition racine (/)

Si vous souhaitez savoir la taille qu'une partition doit avoir, ou même de combien de partitions vous avez besoin, poursuivez la lecture de ce chapitre. Sinon, poursuivez avec le chapitre Partitionner votre disque avec parted.

Combien et de quelle taille ?

Le nombre de partitions dépend beaucoup de votre environnement. Par exemple, si vous avez beaucoup d'utilisateurs, vous désirerez certainement avoir votre partition /home séparée afin d'améliorer la sécurité et de simplifier les sauvegardes. Si vous installez Gentoo comme serveur de courrier, votre partition /var devrait être séparée étant donné que tous les courriels sont stockés dans /var. Un bon choix de système de fichiers va vous permettre d'améliorer les performances. Les serveurs de jeux auront une partition /opt séparée étant donné que la plupart des serveurs de jeux sont installés à cet endroit. La raison est la même que pour la partition /home : sécurité et sauvegarde. Vous devriez consacrer suffisamment de place au répertoire /usr, car il contient non seulement vos applications, mais aussi l'arbre Portage (qui prend 500 Mo à lui seul) et les sources des programmes que vous allez installer.

Comme vous pouvez le voir, cela dépend beaucoup de ce que vous souhaitez faire. Séparer les partitions ou volumes procure les avantages suivants :

  • Vous pouvez choisir le système de fichiers le plus performant pour chaque partition ou volume.
  • Votre système entier ne risque pas d'arriver à court d'espace disque libre si un outil défectueux sature l'espace disque d'une partition ou d'un volume.
  • Si nécessaire, les vérifications des systèmes de fichiers durent moins longtemps, vu que de multiples vérifications peuvent être faites en parallèle (quoique cet avantage est plus important avec plusieurs disques qu'avec plusieurs partitions).
  • La sécurité peut être améliorée en montant certaines partitions ou volumes en lecture seulement, en utilisant nosuid (les bits suid sont ignorés) et noexec (les bits exécutables sont ignorés), etc.

Cependant, avoir de multiples partitions présente un gros désavantage : si elles ne sont pas configurées correctement, vous risquez d'obtenir un système avec beaucoup d'espace libre sur une partition et plus du tout sur une autre. Un autre inconvénient est que des partitions séparées, en particulier pour des points de montage importants tels que /usr ou /var - requièrent que l'utilisateur amorce avec un initramfs pour monter la partition avant que les scripts de démarrage ne soient lancés. Ce n'est pas toujours le cas cependant, ce qui fait que le résultat peut varier.

Notez que les disques SCSI et SATA sont limités à 15-partitions sauf si vous utilisez des étquettes GPT.

Voici un exemple de partitionnement pour un disque de 20 Go utilisé sur un portable de démonstration (contenant un serveur web, un serveur de courrier, GNOME...) :

Exemple de code 2.1 : exemple d'utilisation de système de fichiers

$ df -h
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/sda5     ext4    509M  132M  351M  28% /
/dev/sda2     ext4    5.0G  3.0G  1.8G  63% /home
/dev/sda7     ext4    7.9G  6.2G  1.3G  83% /usr
/dev/sda8     ext4   1011M  483M  477M  51% /opt
/dev/sda9     ext4    2.0G  607M  1.3G  32% /var
/dev/sda1     ext2     51M   17M   31M  36% /boot
/dev/sda6     swap    516M   12M  504M   2% <not mounted>
(Espace non partitionné pour utilisation future : 2 Go)

/usr est plutôt rempli ici (83 % utilisés), mais une fois que tous les programmes sont installés, /usr a une taille relativement stable. Pour /var, on pourrait croire que trop d'espace a été alloué. Cependant, Gentoo compile tous les programmes dans /var/tmp/portage. Si vous voulez allouer relativement peu d'espace pour /var, par exemple 2 Go, vous devrez modifier la variable PORTAGE_TMPDIR dans /etc/portage/make.conf pour qu'elle pointe vers une partition qui dispose d'un espace suffisant pour compiler de très gros paquets tels que LibreOffice.org.

4.c. Partitionner votre disque avec parted

Dans ce chapitre, nous allons vous guider pour la création des partitions correspondant à notre exemple mentionné plus haut, à savoir :

Partition Description
/dev/sda1 Partition d'amorçage EFI
/dev/sda2 Partition de mémoire virtuelle
/dev/sda3 Partition racine (root)

Adaptez ce plan de partitionnement à vos besoins.

Affichage du plan de partitionnement courant

parted est l'outil GNU de partitionnement. Lancez parted sur votre disque (dans cet exemple nous utilisons /dev/sda):

Exemple de code 3.1 : lancer parted

# parted /dev/sda

Une fois dans parted, vous serez accueilli par une invite de commande telle que celle-ci :

Exemple de code 3.2 : invite de commande de parted

GNU Parted 1.6.22
Copyright (C) 1998 - 2005 Free Software Foundation, Inc.
This program is free software, covered by the GNU General Public License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

Using /dev/sda
(parted)

Pour découvrir toutes les options offertes par parted, tapez help et tapez Entrée. Pour le moment, continuez simplement en demandant à parted d'afficher les partitions actuellement utilisées sur le disque choisi. La commande print peut être utilisée pour cela.

Exemple de code 3.3 : un exemple de plan de partitionnement affiché par parted

(parted) print
Disk geometry for /dev/sda: 0.000-34732.890 megabytes
Disk label type: gpt
Minor    Start       End     Filesystem  Name                  Flags
1          0.017    203.938  fat32                             boot
2        203.938   4243.468  linux-swap
3       4243.469  34724.281  ext4

Cette configuration est très similaire à celle que nous recommandions plus haut. Notez, sur la deuxième ligne que le table des partitions est du type GPT. Si ce type est différent, le système ia64 ne pourra amorcer du disque. Pour les besoins pédagogiques de ce guide, nous allons retirer les partitions et les recréer.

Suppression de toutes les partitions

Note : contrairement à d'autres outils de partitionnement, comme fdisk, qui diffèrent l'engagement des modifications jusqu'à ce que vous donniez explicitement la commande d'écriture, les commandes de parted ont un effet immédiat. C'est pourquoi, dès que vous avez commencé à ajouter et à retirer des partitions, vous ne pouvez plus tout simplement abandonner et quitter sans rien modifier, les modifications ont déjà eu lieu.

La manière le plus facile de retirer toutes les partitions et de redémarrer à zéro, ce qui garantit que nous utilisons le bon type de partitions, est de créer une nouvelle table des partitions en utilisant la commande mklabel . Après avoir entré cette commande, vous disposerez d'une table des partitions, GPT, vide.

Exemple de code 3.4 : créer une nouvelle table des partitions

(parted) mklabel gpt
(parted) print
Disk geometry for /dev/sda: 0.000-34732.890 megabytes
Disk label type: gpt
Minor    Start       End     Filesystem  Name                  Flags

Maintenant que la table des partitions est vide, vous pouvez y créer les partitions. Nous utiliserons le plan de partitionnement par défaut vu précédemment. Bien-sûr, vous n'êtes pas forcé de suivres ces instruction à la lettre si vous voulez un autre plan.

Création de la partition de démarrage EFI

Commencez par créer une petite partition de démarrage EFI qui, nous le rappelons, doit recevoir un syscème de fichiers FAT pour être lisible par microcode IA64. Dans notre exemple, cette partition fait 32 MO, ce qui est suffisant pour stockere les noyaux et la configuration du chargeur de démarrage elilo. Vous pouvez estimer la taille des noyau IA64 à environ 5 MB, ce qui vous laisse de la place pour l'expérimentation.

Exemple de code 3.5 : créer la partition de démarrage

(parted) mkpart primary fat32 0 32
(parted) print
Disk geometry for /dev/sda: 0.000-34732.890 megabytes
Disk label type: gpt
Minor    Start       End     Filesystem  Name                  Flags
1          0.017     32.000  fat32

Création de la partition de mémoire virtuelle

Créez maintenant une partition de mémoire virtuelle. Ordinairement, sa taille devrait être deux fois la taille de la mémoire RAM du système. Dans les systèmes modernes qui disposent de beaucoup de mémoire, cela n'est plus nécessaire. Pour la plupart des stations de travail, une partition de mémoire virtuelle de 512 MO est suffisante. Pour un serveur, vous devriez envisager plus pour anticiper sur les besoins du serveur.

Exemple de code 3.6 : créer la partition de mémoire virtuelle

(parted) mkpart primary linux-swap 32 544
(parted) print
Disk geometry for /dev/sda: 0.000-34732.890 megabytes
Disk label type: gpt
Minor    Start       End     Filesystem  Name                  Flags
1          0.017     32.000  fat32
2         32.000    544.000

Création de la partition racine

Pour finir, créez la partition racine (/). Dans notre exemple, elle couvre le reste du disque et est formatée en ext4, mais vous pouvez utiliser ext2, jfs, reiserfs ou xfs si vous le souhaitez. Le système de fichiers réel n'est pas créé à cette étape, mais la table des partitions contient seulement une indication sur le type des systèmes de fichiers qui seront hébergés sur chacune des partitions. .

Exemple de code 3.7 : créer la partition racine

(parted) mkpart primary ext4 544 34732.890
(parted) print
Disk geometry for /dev/sda: 0.000-34732.890 megabytes
Disk label type: gpt
Minor    Start       End     Filesystem  Name                  Flags
1          0.017     32.000  fat32
2         32.000    544.000
3        544.000  34732.874

Quitter parted

Pour quitter parted, saisissez quit. Il n'est pas nécessaire de sauvegarder le plan de partitionnement car, nous l'avons déjà dit, parted a déjà fait le travail au fil de vos commandes. En quittant parted, rappelez-vous que vous devrez metter à jour votre fichier /etc/fstab, comme nous le verrons plus loin dans ce guide.

Exemple de code 3.8 : quitter parted

(parted) quit
Information: Don't forget to update /etc/fstab, if necessary.

Maintenant que vos partitions sont créées, continuez avec Création des systèmes de fichiers.

4.d. Création des systèmes de fichiers

Introduction

Maintenant que vos partitions sont créées, il est temps d'y installer un système de fichiers. Si vous ne vous souciez pas de quel système de fichiers choisir et êtes satisfait de ceux que nous utilisons par défaut dans ce manuel, continuez avec Application d'un système de fichiers à une partition. Sinon, continuez à lire pour en apprendre plus sur les systèmes de fichiers disponibles.

Les systèmes de fichiers

Le noyau Linux prend en charge de nombreux systèmes de fichiers. Ci-dessous, nous décrirons brièvement VFAT, ext2, ext3, ext4, ReiserFS, XFS et JFS, qui sont les plus utilisés sur les systèmes Linux.

VFAT est le système de fichiers de MS-DOS, mis à jour pour supporter les noms de fichiers longs. Il est aussi le seul type de système de fichiers lisible par le firmware EFI qui se trouve sur les systèmes IA64. La partition de démarrage des systèmes IA64 doit donc forcément être en VFAT, mais vous pouvez utiliser les autres systèmes de fichiers pour vos partitions de données.

ext2 est le système de fichiers original de Linux mais n'a pas de métadonnées journalisées, ce qui signifie que la routine de vérification du système de fichiers ext2 au démarrage peut prendre beaucoup de temps. À présent, vous avez le choix entre plusieurs systèmes de fichiers journalisés qui peuvent être vérifiés très rapidement et sont généralement préférés à leurs homologues non journalisés. Les systèmes de fichiers journalisés évitent de devoir attendre longtemps quand vous démarrez votre système et que vos systèmes de fichiers sont dans un état instable. Si votre intention est d'installer Gentoo sur un très petit disque (moins de 4 GO), vous devez dire à ext2 de réserver un nombre suffisant d'inodes quand vous créez le système de fichiers. L'application mke2fs utilise un paramètre "bytes-per-inode" pour calculer combien d'inodes sont nécessaires au système de fichiers. Généralement, en exécutant mke2fs -T small /dev/<device>, le nombre d'inodes quadruple pour un système de fichiers donné car son nombre d'octets par inode passe de 16 kO à 4 kO. Vous pouvez affiner encore un peu plus en utilisant mke2fs -i <ratio> /dev/<device>.

ext3 est la version journalisée du système de fichiers ext2, qui fournit des métadonnées journalisées pour une récupération rapide en plus d'autres modes journalisés comme la journalisation de données complètes et ordonnées. Il utilise un index à base de HTree qui permet d'obtenir d'excellentes performances dans pratiquement toutes les situations. En résumé, ext3 est un très bon système de fichiers fiable. Si votre intention est d'installer Gentoo sur un très petit disque (moins de 4 GO), vous devez dire à ext2 de réserver un nombre suffisant d'inodes quand vous créez le système de fichiers. L'application mke2fs utilise un paramètre "bytes-per-inode" pour calculer combien d'inodes sont nécessaires au système de fichiers. Généralement, en exécutant mke2fs -T small /dev/<device>, le nombre d'inodes quadruple pour un système de fichiers donné car son nombre d'octets par inode passe de 16 kO à 4 kO. Vous pouvez affiner encore un peu plus en utilisant mke2fs -i <ratio> /dev/<device>.

ext4 est un système de fichier dérivant de ext3 et y apportant de nouvelles fonctionnalités, une amélioration des performances et la suppression de la taille limite, ceci moyennant des changements modérés au formatage du disque. Il peut couvrir des volumes allant jusqu'à 1 EB avec une taille maximum de fichier de 16 TB. À la place de la classique table d'allocation de blocs des systèmes ext2/3, ext4 utilise les extents, ce qui améliore la performance des fichiers de grande taille et réduit la fragmentation. Ext4 offre également des algorythmes sophistiqués d'allocation de blocs (allocation retardée et allocation multi-blocs) donnant ainsi au pilote du système de fichiers plus de moyens d'optimiser l'arrangement des données sur le disque. Le système de fichiers ext4 est un compromis entre la stabilité d'un code pour la production et le désir d'introduire des extensions dans un système de fichiers vieux de près de 10 ans. Ext4 est le système de fichier recommandé pour les systèmes de fichiers non spécifiques sur toutes les architectures.

JFS est le système de fichiers journalisé à hautes performances d'IBM. C'est un système de fichiers basé sur les B+tree léger, rapide et sûr avec de bonnes performances dans diverses configurations.

ReiserFS est un système de fichiers journalisé basé sur les B+tree qui a de très bonnes performances, spécialement dans le cas de petits fichiers au prix d'une plus grande consommation de cycles CPU. ReiserFS est apparemment moins maintenu que les autres systèmes de fichiers.

XFS est un système de fichiers avec des métadonnées journalisées qui possède un ensemble de fonctionnalités robustes et qui est optimisé pour la mise à l'échelle. XFS ne semble pas pardonner les éventuels problèmes de matériel.

Application d'un système de fichiers à une partition

Pour créer un système de fichiers sur une partition ou un volume, chaque système de fichiers fournit ses propres outils :

Filesystem Creation Command
vfat mkdosfs
ext2 mkfs.ext2
ext3 mkfs.ext3
ext4 mkfs.ext4
reiserfs mkreiserfs
xfs mkfs.xfs
jfs mkfs.jfs

Par exemple, pour formater la partition de démarrage (/dev/sda1 dans notre exemple) en vfat et la partition principale (/dev/sda3 dans notre exemple) en ext4, nous utiliserons :

Exemple de code 4.1 : appliquer un système de fichiers à une partition

# mkdosfs /dev/sda1
# mkfs.ext4 /dev/sda3

Activation de la partition de mémoire virtuelle

mkswap est la commande utilisée pour initialiser la partition de mémoire virtuelle :

Exemple de code 4.2 : créer une signature de mémoire virtuelle

# mkswap /dev/sda2

Pour activer la partition de mémoire virtuelle, utilisez swapon :

Exemple de code 4.3 : activer la partition de mémoire virtuelle

# swapon /dev/sda2

Créez et activez la partition de mémoire virtuelle maintenant.

4.e. Monter les partitions

Maintenant que nos partitions sont initialisées et contiennent un système de fichiers, il est temps de les monter avec la commande mount. N'oubliez pas de créer les points de montage nécessaires pour toutes les partitions que vous avez créées. Par exemple, pour monter les partitions de démarrage et racine :

Exemple de code 5.1 : monter la partition racine

# mount /dev/sda3 /mnt/gentoo

Note : contrairement à d'autres architectures prises en charge par Gentoo, la partition /boot n'est pas montée sur un système ia64. La raison en est que la partition de démarrage EFI est montée automatiquement et écrite par la commande elilo à chaque fois que vous l'utilisez. À cause de celà, le dossier /boot reside sur le système de fichiers racine et c'est là que sont placés les noyaux auxquels votre configuration elilo fait référence.

Note : si vous installez /tmp sur une partition séparée, n'oubliez pas de définir les permissions nécessaires après avoir monté la partition. Utilisez la commande chmod 1777 /mnt/gentoo/tmp. La même remarque s'applique à /var/tmp.

Nous devrons également monter le système de fichiers proc (une interface virtuelle avec le noyau) sur /proc, mais nous devons d'abord placer nos fichiers sur les partitions.

Continuez avec Installer les fichiers d'installation de Gentoo.


[ << ] [ < ] [ Sommaire ] [ > ] [ >> ]


Imprimer

Voir tout

Dernière mise à jour le 17 décembre 2013

Une version originale plus récente datée du 23 janvier 2014 existe.

Résumé : Pour installer Gentoo, vous devez créer les partitions requises. Ce chapitre décrit comment préparer vos disques durs.

Sven Vermeulen
Author

Grant Goodyear
Author

Roy Marples
Author

Daniel Robbins
Author

Chris Houser
Author

Jerry Alexandratos
Author

Seemant Kulleen
Gentoo x86 Developer

Tavis Ormandy
Gentoo Alpha Developer

Jason Huebel
Gentoo AMD64 Developer

Guy Martin
Gentoo HPPA developer

Tim Yamin
Gentoo IA64 developer

Pieter Van den Abeele
Gentoo PPC developer

Joe Kallar
Gentoo SPARC developer

Mike Frysinger
Gentoo * developer

John P. Davis
Editor

Pierre-Henri Jondot
Editor

Eric Stockbridge
Editor

Rajiv Manglani
Editor

Jungmin Seo
Editor

Stoyan Zhekov
Editor

Jared Hudson
Editor

Colin Morey
Editor

Jorge Paulo
Editor

Carl Anderson
Editor

Jon Portnoy
Editor

Zack Gilburd
Editor

Jack Morgan
Editor

Benny Chuang
Editor

Erwin
Editor

Joshua Kinard
Editor

Stuart Longland
Editor

Tobias Scherbaum
Editor

Xavier Neys
Editor

Joshua Saddler
Editor

Gerald J. Normandin Jr.
Reviewer

Donnie Berkholz
Reviewer

Ken Nowack
Reviewer

Lars Weiler
Contributor

José Fournier
Traducteur

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.