|
1.
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 et tranches
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. Sur la plupart des systèmes ces subdivisions sont appelées
partitions. D'autres architectures utilisent une technique similaire
appelée tranches (ou slices en anglais).
1.
Concevoir un plan de partitionnement
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, 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.
1.
Partitionner votre disque avec fdisk
Utilisez fdisk pour créer les partitions que vous voulez :
Exemple de code 1.1 : partitionnement du disque |
# fdisk /dev/sda
|
Les machines HPPA utilisent le format de partitions du DOS. Pour créer une
nouvelle table de partitions DOS, tapez simplement o.
Exemple de code 1.1 : créer une table de partitions |
# fdisk /dev/sda
Command (m for help): o
Building a new DOS disklabel.
|
PALO (le chargeur de démarrage des machines HPPA) nécessite une partition
spéciale pour fonctionner. Vous devez créer une partition d'au moins 16 Mo
au début de votre disque. Le type de partition doit être f0 (Linux/PA-RISC
boot).
Important :
si vous ignorez ceci et que vous continuez sans partition spéciale PALO, votre
système n'appréciera pas et échouera au démarrage. De plus, si votre disque est
plus grand que 2 Go, assurez-vous que la partition de démarrage est dans les
2 premiers Go de votre disque. PALO est incapable de lire un noyau après la
limite des 2 Go.
|
Exemple de code 1.1 : exemple simple d'une table de partitions |
# cat /etc/fstab
/dev/sda2 /boot ext2 noauto,noatime 1 1
/dev/sda3 none swap sw 0 0
/dev/sda4 / ext4 noatime 0 0
# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 4294 MB, 4294816768 bytes
133 heads, 62 sectors/track, 1017 cylinders
Units = cylinders of 8246 * 512 = 4221952 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 8 32953 f0 Linux/PA-RISC boot
/dev/sda2 9 20 49476 83 Linux
/dev/sda3 21 70 206150 82 Linux swap
/dev/sda4 71 1017 3904481 83 Linux
|
Maintenant que vos partitions sont créées, vous pouvez continuer avec
Création des systèmes de fichiers.
1.
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 ext2, ext3, ext4, 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
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 :
| Système de fichiers |
Commande de création |
| 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/sda2
dans notre exemple) en ext2 et la partition principale (root) (/dev/sda4
dans notre exemple) en ext4, nous utiliserons :
Exemple de code 1.1 : application d'un système de fichiers sur une partition |
# mkfs.ext2 /dev/sda2
# mkfs.ext4 /dev/sda4
|
À 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 1.1 : création d'une signature de mémoire virtuelle |
# mkswap /dev/sda3
|
Pour activer la partition de mémoire virtuelle, utilisez swapon :
Exemple de code 1.1 : activation de la partition de mémoire virtuelle |
# swapon /dev/sda3
|
Créez et activez la partition de mémoire virtuelle maintenant.
1.
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 1.1 : monter les partitions |
# mount /dev/sda4 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/sda2 /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).
|