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
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.
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 les systèmes Alpha, ces subdivisions sont appelées
À titre d'exemple, nous utilisons le plan de partitionnement suivant dans ce manuel :
« Slice » | Description |
---|---|
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
Le nombre de partitions dépend beaucoup de votre environnement. Par exemple,
si vous avez beaucoup d'utilisateurs, vous désirerez certainement avoir
votre
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 :
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.
Les parties suivantes expliquent comment créer l'exemple de plan de « slices » décrit précédemment :
« Slice » | Description |
---|---|
Changez votre plan de « slice » comme vous le souhaitez.
Pour trouver quels disques vous utilisez, utilisez les commandes suivantes :
# dmesg | grep 'drive$'(Pour des disques IDE) # dmesg | grep 'scsi'(Pour des disques SCSI)
À partir de cet affichage, vous devriez voir quels disques sont détectés
et leurs entrées
À présent, lancez
# fdisk /dev/sda
Si votre disque dur est totalement vierge, vous devez d'abord créer le « label » disque de type BSD.
Command (m for help): b /dev/sda contains no disklabel. Do you want to create a disklabel? (y/n) yDes infos relatives au disque vont défiler. 3 partitions: # start end size fstype [fsize bsize cpg] c: 1 5290* 5289* unused 0 0
Nous allons commencer par supprimer tous les « slices »
Utilisez
BSD disklabel command (m for help): p 8 partitions: # start end size fstype [fsize bsize cpg] a: 1 235* 234* 4.2BSD 1024 8192 16 b: 235* 469* 234* swap c: 1 5290* 5289* unused 0 0 d: 469* 2076* 1607* unused 0 0 e: 2076* 3683* 1607* unused 0 0 f: 3683* 5290* 1607* unused 0 0 g: 469* 1749* 1280 4.2BSD 1024 8192 16 h: 1749* 5290* 3541* unused 0 0 BSD disklabel command (m for help): d Partition (a-h): a
Après avoir répété ce processus pour tous les « slices », un affichage devrait vous montrer quelque chose de similaire à ceci :
BSD disklabel command (m for help): p 3 partitions: # start end size fstype [fsize bsize cpg] c: 1 5290* 5289* unused 0 0
Sur un système Alpha, vous n'avez pas besoin d'une partition de démarrage
séparée. Cependant, le premier cylindre ne peut pas être utilisé vu que l'image
Nous allons créer un « slice » de mémoire virtuelle qui commence au
troisième cylindre, avec une taille totale de 1 Go. Utilisez
BSD disklabel command (m for help): n Partition (a-p): a First cylinder (1-5290, default 1): 3 Last cylinder or +size or +sizeM or +sizeK (3-5290, default 5290): +1024M BSD disklabel command (m for help): t Partition (a-c): a Hex code (type L to list codes): 1
Après ces étapes, vous devriez avoir un plan similaire au suivant :
BSD disklabel command (m for help): p 3 partitions: # start end size fstype [fsize bsize cpg] a: 3 1003 1001 swap c: 1 5290* 5289* unused 0 0
A présent, nous allons créer le « slice » principal qui commencera au
premier cylindre
Un autre problème est qu'il y a actuellement un bogue dans
Quand la partition est créée, nous changeons le type à
D disklabel command (m for help): n Partition (a-p): b First cylinder (1-5290, default 1): 1004 Last cylinder or +size or +sizeM or +sizeK (1004-5290, default 5290): 5289 BSD disklabel command (m for help): t Partition (a-c): b Hex code (type L to list codes): 8
Votre plan de « slice » devrait maintenant ressembler à ceci :
BSD disklabel command (m for help): p 3 partitions: # start end size fstype [fsize bsize cpg] a: 3 1003 1001 swap b: 1004 5289 4286 ext2 c: 1 5290* 5289* unused 0 0
Quittez
Command (m for help): w
Maintenant que vos « slice » sont créés, vous pouvez continuer avec la
Cette section décrit comment partitionner votre disque selon le plan précédemment indiqué, c'est-à-dire :
Partition | Description |
---|---|
Vous pouvez utiliser un autre plan de partitionnement si vous le désirez.
Pour déterminer quels disques sont disponibles sur votre système, utilisez les commandes suivantes :
# dmesg | grep 'drive$'(Disques IDE.) # dmesg | grep 'scsi'(Disques SCSI.)
Le résultat de ces commandes devrait vous permettre de voir quels disques sont
installés ainsi que leur chemin d'accès dans
Lancez
# fdisk /dev/sda
Si votre disque est complètement vierge, vous devez d'abord créer un label de disque DOS.
Command (m for help): o Building a new DOS disklabel.
Si le disque contient déjà des partitions, commenez par toutes les supprimer.
L'exemple suivant utilise
Utilisez
command (m for help): p Disk /dev/sda: 9150 MB, 9150996480 bytes 64 heads, 32 sectors/track, 8727 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Device Boot Start End Blocks Id System /dev/sda1 1 478 489456 83 Linux /dev/sda2 479 8727 8446976 5 Extended /dev/sda5 479 1433 977904 83 Linux Swap /dev/sda6 1434 8727 7469040 83 Linux command (m for help): d Partition number (1-6): 1
Sur un système Alpha qui utilise MILO pour démarrer, il faut créer une petite partition vfat.
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-8727, default 1): 1 Last cylinder or +size or +sizeM or +sizeK (1-8727, default 8727): +16M Command (m for help): t Selected partition 1 Hex code (type L to list codes): 6 Changed system type of partition 1 to 6 (FAT16)
Nous allons créer une partition de mémoire virtuelle de 1 Go qui commence
au troisième cylindre. Utilisez
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (17-8727, default 17): 17 Last cylinder or +size or +sizeM or +sizeK (17-8727, default 8727): +1000M Command (m for help): t Partition number (1-4): 1 Hex code (type L to list codes): 82 Changed system type of partition 2 to 82 (Linux swap)
Votre table de partitions devrait maintenant ressembler à :
Command (m for help): p Disk /dev/sda: 9150 MB, 9150996480 bytes 64 heads, 32 sectors/track, 8727 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Device Boot Start End Blocks Id System /dev/sda1 1 16 16368 6 FAT16 /dev/sda2 17 971 977920 82 Linux swap
Il nous reste à créer la partition principale. Utilisez
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 3 First cylinder (972-8727, default 972): 972 Last cylinder or +size or +sizeM or +sizeK (972-8727, default 8727): 8727
Votre table de partitions devrait maintenant ressembler à :
Command (m for help): p Disk /dev/sda: 9150 MB, 9150996480 bytes 64 heads, 32 sectors/track, 8727 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Device Boot Start End Blocks Id System /dev/sda1 1 16 16368 6 FAT16 /dev/sda2 17 971 977920 82 Linux swap /dev/sda3 972 8727 7942144 83 Linux
Tapez
Command (m for help): w
Maintenant que vos « slice » sont créés, vous pouvez continuer avec la
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
De nombreux systèmes de fichiers sont disponibles. La plupart d'entre eux sont stables sur l'architecture Alpha.
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. ext3 est un très bon système de fichiers fiable. Il offre généralement des performances décentes dans la plupart des conditions. Il offre de bonnes performances dans la plupart des cas grâce à un arbre balancé indexé par clé de hachage. En résumé, ext3 est un excellent système de fichiers.
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. Depuis le noyau 2.4.18, ReiserFS est stable et peut être utilisé aussi bien dans un système de fichiers destiné à une utilisation générale que pour des cas extrêmes comme la création de grands systèmes de fichiers et l'utilisation de nombreux petits fichiers ou 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.
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 |
---|---|
Par exemple, pour formater la partition racine (
# mkfs.ext3 /dev/sda2
À présent, créons les systèmes de fichiers sur nos partitions (ou volumes logiques) fraîchement créées.
# mkswap /dev/sda1
Pour activer la partition de mémoire virtuelle, utilisez
# swapon /dev/sda1
Créez et activez la partition de mémoire virtuelle maintenant.
Maintenant que nos partitions sont initialisées et contiennent un système de
fichiers, il est temps de les monter avec la commande
# mount /dev/sda2 /mnt/gentoo(Avec une partition ext3 :) # mount -t ext3 /dev/sda2 /mnt/gentoo
Nous devrons également monter le système de fichiers proc (une interface
virtuelle avec le noyau) sur
Continuez avec