[ << ]
[ < ]
[ 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é>
|
/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):
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 ]
[ > ]
[ >> ]
Ce document est protégé par la licence Creative
Commons : Paternité - Partage des Conditions Initiales à
l'Identique 2.5.
|