Linux
numéro 150 de mai 2008
Adaptation française: Renaud Flavigny
Relecture de la version française: Deny
Version : 1.0
Copyright © 2008 Joey Prestia
Copyright © 2008 Renaud Flavigny
Copyright © 2008 Deny
Conditions de distribution : cet article est distribué selon les conditions de la licence Open Publication License, version 1.0, du 8 juin 1999. Pour plus d'informations, consultez : http://linuxgazette.net/copying.html.
20 septembre 2008
Historique des versions | ||
---|---|---|
Version 1.0 | 2008-09-21 | RF |
Première traduction française. | ||
2008-05 | JP | |
Version originale de l'article. |
Résumé
L'article décrit la procédure pas à pas pour accroitre l'espace de stockage sur un système existant par ajout d'une partition ou d'un disque. À partir d'un scénario classique, les différentes alternatives sont exposées ainsi que les commandes à enchainer pour atteindre le but fixé.
Table des matières
Le processus nécessite les étapes suivantes :
Linux
doit fonctionner)/etc/fstab
les entrées appropriées pour que les partitions soient montées lors du reboot
Imaginons que nous ayons un serveur sous RHEL 4
et que votre chef arrive et demande à ce qu'une partition de 10 Go soit créée pour le département informatique.
Ceci vient en supplément de ce qui est actuellement alloué sur le serveur. Vous pouvez donc soit créer une partition sur la partie non partitionnée d'un disque existant s'il y en a (les administrateurs Linux
expérimentés laissent toujours un espace non partitionné pour des extensions futures) ou vous pouvez ajouter un autre disque.
Ce scénario se produit relativement souvent dans le monde de la production, c'est donc un savoir-faire précieux même si vous n'administrez que les machines de votre domicile.
Nous supposerons que votre chef vous a donné toute latitude pour choisir l'une ou l'autre des solutions ci-dessus. Votre première tâche est de vérifier s'il y a de l'espace disponible sur vos supports existants. Nous allons lancer fdisk -l pour voir la taille du disque. Les données dont nous avons besoin sont sur la première ligne de la sortie.
[root@station17 ~]# fdisk -l Disk /dev/sda: 80.0 GB, 80000000000 bytes 255 heads, 63 sectors/track, 9726 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 38 305203+ 83 Linux /dev/sda2 39 7687 61440592+ 83 Linux /dev/sda3 7688 7942 2048287+ 82 Linux swap
De là nous voyons que la taille du disque est de 80 Go. maintenant, nous utilisons df -h pour calculer la taille des partitions qui sont sur notre système. Seules les lignes qui ont un nom de périphérique nous concernent, les autres (étiquettées none ne nous concernent pas. La colonne nommée Size contient les nombres que nous devons additionner pour obtenir la taille totale.
[root@station17 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 58G 6.5G 49G 12% / /dev/sda1 289M 17M 258M 6% /boot none 1013M 0 1013M 0% /dev/shm [root@station17 ~]#
De là, nous voyons que la taille de /dev/sda2
est 58 Go et celle de /dev/sda1
de 289 Mo - pour un total de 58,3 Go. Maintenant, il faut ajouter la taille de notre zone d'échange (swap) ; cat /proc/swaps nous dira quelle est la taille de notre zone d'échange.
Si vous avez envie d'utiliser un utilitaire d'un système actuel, swapon -s fera la même chose. --Ben
[root@station17 ~]# cat /proc/swaps Filename Type Size Used Priority /dev/sda3 partition 2048276 0 -1 [root@station17 ~]#
En ajoutant les 2 Go ci-dessus, cela signifie que nous avons 19,7 Go disponibles—bien plus que ce dont nous avons besoin. Maintenant, nous allons passer à la création de notre partition : fdisk /dev/sda ouvrira la table des partitions en modification. Puisque nous utilisons déjà trois partitions sur ce disque, nous devons créer la quatrième en tant que « partition étendue »—un container qui abritera toute nouvelle partition dont celle que nous sommes en train de créer. Nous allons accepter les valeurs par défaut pour la partition étendue, ce qui allouera la totalité de l'espace disponible sur le disque à notre nouvelle partition. Nous utiliserons un système de fichiers ext3 et nous devons garder à l'esprit que la commande mkfs réserve 5 % des blocs pour la racine. Ceci dit, nous allons tailler notre nouvelle partition à 11,5 Go pour compenser les blocs réservés pour la racine en prenant une petite marge.
[root@station17 ~]# fdisk /dev/sda The number of cylinders for this disk is set to 9726. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): n Command action e extended p primary partition (1-4) e Selected partition 4 First cylinder (7943-9726, default 7943): Using default value 7943 Last cylinder or +size or +sizeM or +sizeK (7943-9726, default 9726): Using default value 9726
Ici, nous pouvons voir que j'ai choisi n
pour créer une nouvelle partition et e
pour une partition étendue. J'ai ensuite accepté les valeurs par défaut pour les cylindres de départ et de fin.
Command (m for help): n First cylinder (7943-9726, default 7943): Using default value 7943 Last cylinder or +size or +sizeM or +sizeK (7943-9726, default 9726):.+11500M
Ensuite, j'ai saisi n
pour créer une nouvelle partition, à l'invite de saisir un cylindre de départ, j'ai saisi enter pour accepter la valeur par défaut. Pour le cylindre de fin, j'ai entré +11500M
pour spécifier la taille. Le plus est important— sans lui vous aurez une erreur. C'est une bonne idée à ce stade de saisir p
pour que fdisk affiche la table des partitions. Cela montre ce que nous avons fait avant de sauver nos modifications.
Command (m for help):.p Disk /dev/sda: 80.0 GB, 80000000000 bytes 255 heads, 63 sectors/track, 9726 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 38 305203+ 83 Linux /dev/sda2 39 7687 61440592+ 83 Linux /dev/sda3 7688 7942 2048287+ 82 Linux swap /dev/sda4 7943 9726 14329980 5 Extended /dev/sda5 7943 9341 11237436 83 Linux
S'il y a une erreur, quittez fdisk en tapant q
et aucune modification ne sera sauvée. Ça parait correct - alors écrivons les modifications avec un « w ».
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot. Syncing disks. [root@station17 ~]#
L'avertissement peut-être corrigé en utilisant la commande partprobe pour forcer le noyau à relire la table des partitions. Rappelez vous : si c'est une machine de production, nous ne voulons pas avoir à la rebooter.
[root@station17 ~]# partprobe
À ce stade, notre partition de 11,5 Go est /dev/sda5
est brute - elle n'a ni système de fichier, ni descripteur de nom (label descriptor). Nous allons donc la formater et lui donner un nom. Donner un nom à la partition peut être fait en même temps que la création du système de fichier avec l'option -L
, mais je préfére le faire dans une étape séparée.
[root@station17 ~]# mkfs.ext3 /dev/sda5 mke2fs 1.35 (28-Feb-2004) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 1406272 inodes, 2809359 blocks 140467 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2877292544 86 block groups 32768 blocks per group, 32768 fragments per group 16352 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 34 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@station17 ~]#
Maintenant, nous allons donner le nom (/data)
[root@station17 ~]# e2label /dev/sda5 /data [root@station17 ~]#
Ensuite, nous devons créer un point de montage pour notre système de fichiers et nous assurer qu'il est monté lors du boot. Créons un répertoire dans notre système appelé /data
La méthode habituelle pour allouer un nouvel espace est souvent plus complexe que cela—au moins au stade de la planification. En fait, créer un répertoire non standard à la racine du système de fichiers comme suggéré ici est incorrect et viole le Standard de Hiérarchie du Système de fichiers (FileSystem Hierarchy Standard - FHS). Comme exemple d'une situation plus typique, si un administrateur découvre qu'un disque partagé n'a plus d'espace libre, il doit d'abord examiner la machine pour voir où est la plus grande activité ou consommation. Supposons que ce soit dans l'espace alloué aux utilisateurs (par exemple /home
), il préférera sauvegarder les données de ce sous-répertoire, les restaurer dans la partition nouvellement créée, supprimer /home
et monter la nouvelle partition en tant que /home
. Ceci permet de récupérer tout l'espace utilisé par la partition /home
originale et de la laisser disponible pour une utilisation par le reste du système. la plupart des utilisateurs ne réalisera pas qu'un changement a eu lieu. Cette approche ne nécessite pas non plus le reboot de la machine. --Ben
Je comprend que ce partionnement est incohérent avec le FHS, mais notre matériel de cours RedHat nous prescrit la création de répertoires sous /
pour faciliter et simplifier les sauvegardes. Nous sommes aussi conduits par les instructions à faire des choses comme des schémas de partition spécialisées pour différentes choses de cette façon ici à l'académie RedHat. -- Joey
[root@station17 ~]# mkdir /data [root@station17 ~]#
Maintenant, nous le mettons dans la table système /etc/fstab
afin qu'il soit monté à chaque démarrage.
[root@station17 ~]# vi /etc/fstab # This file is edited by fstab-sync - see 'man fstab-sync' for details LABEL=/ / ext3 defaults 1 1 LABEL=/data /data ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 none /dev/pts devpts gid=5,mode=620 0 0 none /dev/shm tmpfs defaults 0 0 none /proc proc defaults 0 0 none /sys sysfs defaults 0 0 LABEL=SWAP-sda3 swap swap defaults 0 0 /dev/scd0 /media/cdrecorder auto pamconsole,exec,noauto,managed 0 0
J'ai utilisé la partition racine comme guide dans cet exemple. Le nom est dans la première colonne, le point de montage est dans la deuxième, puis nous avons le type de système de fichiers et les options de montage. les deux derniers nombres sont l'indicateur de dump et l'indicateur fsck ; ils déterminent quand le systéme doit être sauvegardé si vous utilisez dump et quand le système doit être contrôlé. Fondamentalement, vous pouvez copier ces options et ces nombres comme je l'ai fait. Enregistrez vos modifications et sortez de l'éditeur. Ensuite, pour être sûr qu'il n'y a pas d'erreurs, lancez mount -a pour monter toutes les partitions listées dans /etc/fstab
. Les éventuelles erreurs seront affichées à ce moment.
[root@station17 ~]# mount -a
Puisque nous n'avons pas d'erreurs, lançons df -h et voyons comment ça se présente.
[root@station17 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 58G 6.6G 49G 12% / /dev/sda1 289M 17M 258M 6% /boot none 1013M 0 1013M 0% /dev/shm /dev/sda5 11G 59M 10G 1% /data [root@station17 ~]#
Ça y est— nous sommes prêts à utiliser cette nouvelle partition en gardant à l'esprit que nous pourrons être amenés à modifer les permissions pour les besoins des utilisateurs et des groupes. C'est une tâche trés commune, avec laquelle tous les utilisateurs de Linux
doivent être familiers car vous serez presque certainement confronté au besoin de plus d'espace. Le processus est tout à fait similaire pour ajouter un autre disque— vous devez simplement substituer les noms de périphérique quand c'est nécessaire.
Joey est né à Phoenix et a commencé à programmer à l'âge de quatorze ans sur un Timex Sinclair 1000©. Il espérait pouvoir tirer quelque chose de ce modèle d'ordinateur ancien. Maîtrisant rapidement le BASIC et l'Assembleur, Joey est devenu programmeur en 1990 et a ajouté le COBOL, le Fortran et le Pascal à son répertoire de langages de programmation. Depuis lors, il se passionne pour presque tous les aspects de l'informatique. Il s'est perfectionné et a découvert RedHat
Linux
© en 2002, quand on lui a donné une version six de RedHat©. Ce fut le début d'une nouvelle passion centrée sur. Actuellement, Joey termine sa formation en gestion de réseau sous
Linux
et travaille sur le campus pour la RedHat Academy de l'université, en Arizona. Il fait aussi partie de l'équipe de la
Linux
Linux
Gazette comme coordinateur de miroir.
Linux
L'adaptation française de ce document a été réalisée dans le cadre du
Projet de traduction de la Gazette Linux
.
Vous pourrez lire d'autres articles traduits et en apprendre plus sur ce projet en visitant notre site : http://www.traduc.org/Gazette_Linux.
Si vous souhaitez apporter votre contribution, n'hésitez pas à nous rejoindre, nous serons heureux de vous accueillir.