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 entrées et sorties 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 IDE dans un système Linux, /dev/hda. Si votre système utilise des disques SCSI ou SATA, alors votre premier disque dur devrait être /dev/sda.

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 devoir se tracasser 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 partitions sont divisées en trois types : primaire, étendue et logique.

Une partition primaire est une partition dont l'information est stockée dans le MBR (« master boot record », secteur d'amorçage principal). Comme un MBR est très petit (512 bytes), seules 4 partitions primaires peuvent y être définies (par exemple, de /dev/hda1 à /dev/hda4).

Une partition étendue est une partition primaire spéciale (ce qui signifie que la partition étendue doit être une des quatre partitions primaires possibles) qui contient d'autres partitions. Une telle partition n'existait pas à l'origine, mais étant donné que quatre partitions ne suffisaient plus, on a étendu le schéma de formatage sans perdre la compatibilité ascendante.

Une partition logique est une partition contenue dans la partition étendue. Sa définition n'est pas placée dans le MBR, mais est déclarée dans la partition étendue.

Solutions de stockage avancées

Les CD d'installation Gentoo pour x86 offrent le support des systèmes EVMS ou LVM2. Les systèmes LVM2 et EVMS 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/hda1 ext2 32M Partition de démarrage
/dev/hda2 (swap) 512M Partition de mémoire virtuelle
/dev/hda3 ext3 Reste du disque Partition principale

Si vous êtes intéressé de 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 fdisk.

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 /home séparé afin d'améliorer la sécurité et de simplifier les sauvegardes. Si vous installez Gentoo comme serveur de courrier, votre /var devrait être séparé é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 jeu auront un /opt séparé étant donné que la plupart des serveurs de jeux sont installés à cet endroit. La raison est la même que pour /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, de multiples partitions ont 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. Notez également qu'il y a une limite de 15 partitions par disque SCSI ou SATA.

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

Exemple de code 1 : Exemple d'utilisation de système de fichiers

$ df -h
Système de fichier    Type    Taille Util  Libre Util% Monté sur
/dev/hda5             ext3    509M   132M  351M  28%   /
/dev/hda2             ext3    5.0G   3.0G  1.8G  63%   /home
/dev/hda7             ext3    7.9G   6.2G  1.3G  83%   /usr
/dev/hda8             ext3   1011M   483M  477M  51%   /opt
/dev/hda9             ext3    2.0G   607M  1.3G  32%   /var
/dev/hda1             ext2     51M   17M   31M   36%   /boot
/dev/hda6             swap    516M   12M   504M   2%   <non monté>
(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 pour qu'elle pointe vers une partition qui dispose d'espace suffisant pour compiler de très gros paquets tels que OpenOffice.org.

4.c. Partitionner votre disque avec fdisk

Les parties suivantes expliquent comment créer le schéma de partition décrit précédemment :

Partition Description
/dev/hda1 Partition de démarrage
/dev/hda2 Partition de mémoire virtuelle
/dev/hda3 Partition principale

Changez votre plan de partitionnement comme vous le souhaitez.

Afficher le plan de partitionnement actuel

fdisk est un outil populaire et puissant pour diviser votre disque en partitions. Lancez fdisk sur votre disque (dans notre exemple, nous utilisons /dev/hda) :

Exemple de code 2 : Lancement de fdisk

# fdisk /dev/hda

Une fois dans fdisk, vous serez accueilli par une invite de commande (« prompt ») qui ressemble à ceci :

Exemple de code 3 : Invite de commande de fdisk

Command (m for help):

Appuyez sur p pour afficher la configuration actuelle de vos partitions.

Exemple de code 4 : Exemple de configuration de partition

Command (m for help): p

Disk /dev/hda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1             1        14    105808+  83  Linux
/dev/hda2            15        49    264600   82  Linux swap
/dev/hda3            50        70    158760   83  Linux
/dev/hda4            71      2184  15981840    5  Extended
/dev/hda5            71       209   1050808+  83  Linux
/dev/hda6           210       348   1050808+  83  Linux
/dev/hda7           349       626   2101648+  83  Linux
/dev/hda8           627       904   2101648+  83  Linux
/dev/hda9           905      2184   9676768+  83  Linux

Command (m for help):

Ce disque est configuré pour héberger sept systèmes de fichiers Linux (chacun avec une partition correspondante listée en tant que « Linux ») ainsi qu'une partition de mémoire virtuelle (listée en tant que « Linux swap »).

Supprimer toutes les partitions

Nous allons commencer par supprimer toutes les partitions existantes sur le disque. Tapez d pour supprimer une partition. Par exemple, pour supprimer un /dev/hda1 existant :

Exemple de code 5 : Suppression d'une partition

Command (m for help): d
Partition number (1-4): 1

La partition a été programmée pour la suppression. Elle ne sera plus affichée si vous tapez p, mais elle ne sera pas supprimée tant que vos changements n'auront pas été sauvés. Si vous faites une erreur et souhaitez annuler sans sauver vos changements, tapez q immédiatement et appuyez sur Entrée, vos partitions ne seront pas supprimées.

Maintenant, en supposant que vous souhaitiez enlever toutes les partitions de votre système, répétez la commande p pour afficher une liste des partitions et puis tapez d ainsi que le numéro de la partition que vous souhaitez supprimer. Finalement, vous vous retrouverez avec une table de partitions vide :

Exemple de code 6 : Une table de partitions vide

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System

Command (m for help):

Maintenant que la table de partitions en mémoire est vide, nous sommes prêts pour créer les partitions. Nous allons utiliser le plan de partitionnement par défaut comme dit précédemment. Bien sûr, ne suivez pas ces instructions à la lettre si vous n'utilisez pas le même plan de partitionnement !

Création de la partition de démarrage

Nous allons commencer par créer la partition de démarrage. Tapez n pour créer une nouvelle partition, ensuite p pour choisir une partition primaire, suivi par 1 pour sélectionner la première partition primaire. Quand on vous demande le premier cylindre, tapez Entrée. Quand on vous demande le dernier cylindre, tapez +32M pour créer une partition de 32 Mo :

Exemple de code 7 : Création de la partition de démarrage

Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-3876, default 1): (Appuyez sur Entrée)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M

Maintenant, quand vous tapez p, vous devriez voir l'affichage suivant :

Exemple de code 8 : Partition de démarrage créée

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1          1        14    105808+  83  Linux

Nous devons rendre cette partition amorçable. Tapez a et sélectionnez 1 pour activer l'option amorçable (bootable flag) sur cette partition. Si vous tapez p à nouveau, vous constaterez qu'un * (astérisque) est placé dans la colonne « Boot ».

Création de la partition de mémoire virtuelle

A présent, créons la partition de mémoire virtuelle. Pour ce faire, tapez n pour créer une nouvelle partition, puis p pour dire à fdisk que vous souhaitez une partition primaire. Ensuite, tapez 2 pour créer la deuxième partition primaire, /dev/hda2 dans notre cas. Quand on vous demandera le premier cylindre, tapez Entrée. Quand on vous demandera le dernier cylindre, tapez +512M pour créer une partition de 512 Mo. Ensuite, tapez t pour choisir le type de partition, 2 pour sélectionner la partition que vous venez juste de créer puis tapez 82 pour choisir le type de partition « Linux swap ». Après avoir terminé ces étapes, appuyer sur p devrait afficher une table de partitions qui ressemble à ceci :

Exemple de code 9 : Affichage des partitions après la création de la partition de mémoire virtuelle

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1 *        1        14    105808+  83  Linux
/dev/hda2         15        81    506520   82  Linux swap

Création de la partition principale

Pour finir, créons la partition principale. Pour ce faire, tapez n pour créer une nouvelle partition, puis p pour dire à fdisk que vous souhaitez une partition primaire. Ensuite, tapez 3 pour créer la troisième partition primaire, /dev/hda3 dans notre cas. Quand on vous demande le premier cylindre, tapez Entrée. Quand on vous demande le dernier cylindre, tapez Entrée pour créer une partition qui prend le reste de la place libre sur votre disque. Après avoir terminé ces étapes, taper p devrait afficher une table de partitions qui ressemble à ceci :

Exemple de code 10 : Affichage des partitions après la création de la partition principale

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1 *        1        14    105808+  83  Linux
/dev/hda2         15        81    506520   82  Linux swap
/dev/hda3         82      3876  28690200   83  Linux

Sauver le plan de partitionnement

Pour sauver le plan de partitionnement et quitter fdisk, tapez w.

Exemple de code 11 : Sauver et quiter fdisk

Command (m for help): w

Maintenant que vos partitions sont créées, vous pouvez continuer 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.

Systèmes de fichiers ?

De nombreux systèmes de fichiers sont disponibles. Ci-dessous, nous décrivons brièvement ext2, ext3, ReiserFS, XFS et JFS qui sont les plus utilisés sur les systèmes Linux.

ext2 est le système de fichiers original de Linux mais n'a pas de metadonné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.

ext3 est la version journalisée du système de fichiers ext2, qui fournit des metadonné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 B*-tree 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.

ReiserFS est un système de fichiers basé sur les B*-tree qui a de très bonnes performances et qui surpasse ext2 et ext3 dans le cas de l'utilisation de petits fichiers (fichiers de moins de 4 ko), souvent avec un facteur allant de 10 à 15. ReiserFS résiste aussi très bien à la montée en charge et a des metadonnées journalisées. ReiserFS est stable et peut être utilisé aussi bien dans un système de fichiers destiné à une utilisation générale et pour des cas extrêmes comme la création de grands systèmes de fichiers et l'utilisation de grands fichiers et répertoires qui contiennent des dizaines de milliers 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. Nous ne recommandons ce système de fichiers que pour des systèmes équipés d'unités de stockage SCSI haut de gamme ou connectés à des serveurs de stockage « Fibre Channel », et munis d'un onduleur. Puisque XFS utilise énormément le cache pour des données transitoires en mémoire vive, les programmes mal conçus (ceux qui ne prennent pas les précautions suffisantes quand ils écrivent les fichiers sur disque, et il y en a quelques uns) peuvent perdre beaucoup de données si le système s'interrompt de manière inattendue.

JFS est un système de fichiers journalisé à hautes performances d'IBM. Il a été récemment déclaré prêt pour un usage en production, mais il n'y a pas encore suffisamment d'information pour commenter sa stabilité générale de manière positive ou négative.

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 :

Système de fichiers Commande de création
ext2 mke2fs
ext3 mke2fs -j
reiserfs mkreiserfs
xfs mkfs.xfs
jfs mkfs.jfs

Par exemple, pour formater la partition de démarrage (/dev/hda1 dans notre exemple) en ext2 et la partition principale (/dev/hda3 dans notre exemple) en ext3, nous utiliserons :

Exemple de code 12 : Application d'un système de fichiers sur une partition

# mke2fs /dev/hda1
# mke2fs -j /dev/hda3

À présent, créons les systèmes de fichiers sur nos partitions (ou volumes logiques) fraichement créées.

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 13 : Création d'une signature de mémoire virtuelle

# mkswap /dev/hda2

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

Exemple de code 14 : Activation de la partition de mémoire virtuelle

# swapon /dev/hda2

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 15 : Monter les partitions

# mount /dev/hda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/hda1 /mnt/gentoo/boot

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

Dernière mise à jour le 2 juin 2007

Une version originale plus récente datée du 7 juillet 2007 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
Auteur

Grant Goodyear
Auteur

Roy Marples
Auteur

Daniel Robbins
Auteur

Chris Houser
Auteur

Jerry Alexandratos
Auteur

Seemant Kulleen
Développeur Gentoo x86

Tavis Ormandy
Développeur Gentoo Alpha

Jason Huebel
Développeur Gentoo AMD64

Guy Martin
Développeur Gentoo HPPA

Pieter Van den Abeele
Développeur Gentoo PPC

Joe Kallar
Développeur Gentoo SPARC

John P. Davis
Correcteur

Pierre-Henri Jondot
Correcteur

Eric Stockbridge
Correcteur

Rajiv Manglani
Correcteur

Jungmin Seo
Correcteur

Stoyan Zhekov
Correcteur

Jared Hudson
Correcteur

Colin Morey
Correcteur

Jorge Paulo
Correcteur

Carl Anderson
Correcteur

Jon Portnoy
Correcteur

Zack Gilburd
Correcteur

Jack Morgan
Correcteur

Benny Chuang
Correcteur

Erwin
Correcteur

Joshua Kinard
Correcteur

Tobias Scherbaum
Correcteur

Joshua Saddler
Correcteur

Gerald J. Normandin Jr.
Relecteur

Donnie Berkholz
Relecteur

Ken Nowack
Relecteur

Lars Weiler
Contributeur

Xavier Neys
Correcteur, traducteur

Camille Huot
Traducteur

Benjamin Girault
Traducteur

Olivier Fisette
Traducteur

Olivier Roomans
Traducteur

Vincent Strubel
Traducteur

Donate to support our development efforts.

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

php|architect

php|architect

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