Lorsque vous formatez une partition en ext2 ou ext3, par défaut Linux bloque 5% de la place pour le « super-user » (root).

C’est très bien pour votre partition principale. Cela permet à « root » de travailler même si une application ou un utilisateur a consommé la totalité de la place libre !

Mais sur une partition Data de 100 GBytes, pourquoi perdre 5 GB qui ne seront jamais utilisés ?

La solution est simple, mais finalement pas très connue ;-)

J’ai une partition /dev/sda7 d’environ 94 GB. Je la formate en ext3 et je constate que j’ai nettement moins de 94 GB de libre :-(

$ df -Th
 Sys. de fich. Type    Tail. Occ. Disp. %Occ. Monté sur
/dev/sda7     ext3     94G  188M   89G   1% /mnt/sda7

Évidemment, les nodes, ça prend de la place aussi… mais quand même pas 5 GB ! Surtout que « df » m’indique qu’il n’y a que 1% d’occupé… Si je fais « 94 – 89″, j’obtiens 5 GB (arrondi)… ce n’est pas 1% ça !

L’explication tient bien dans ces 5 %, réservés d’office pour l’usage exclusif de « root ».

Il est possible de réduire cette place alouée pour « root » avec une option au formatage. Le manuel de l’instruction mkfs donne évidemment cette option :

man mkfs.ext3
  -m reserved-blocks-percentage
              Specify the percentage of the filesystem blocks reserved for the  super-user.   This  avoids
              fragmentation,  and  allows  root-owned daemons, such as syslogd(8), to continue to function
              correctly after non-privileged processes are prevented from writing to the filesystem.   The
              default percentage is 5%.

En faisant un formatage sans cette option, il me reste donc 89 GBytes sur les 94 :

$ sudo mkfs.ext3 /dev/sda7
mke2fs 1.40.2 (12-Jul-2007)
Étiquette de système de fichiers=
Type de système d'exploitation : Linux
Taille de bloc=4096 (log=2)
Taille de fragment=4096 (log=2)
12451840 i-noeuds, 24902750 blocs
1245137 blocs (5.00%) réservés pour le super utilisateur
 Sys. de fich. Type    Tail. Occ. Disp. %Occ. Monté sur
/dev/sda7     ext3     94G  188M   89G   1% /mnt/sda7

Si je reformate avec l’option -m :

$ umount /dev/sda7
$ sudo mkfs.ext3 -m 1 /dev/sda7
mke2fs 1.40.2 (12-Jul-2007)
Étiquette de système de fichiers=
Type de système d'exploitation : Linux
Taille de bloc=4096 (log=2)
Taille de fragment=4096 (log=2)
12451840 i-noeuds, 24902750 blocs
249027 blocs (1.00%) réservés pour le super utilisateur
$ sudo mount /dev/sda7 sda7
$ df -Th
Sys. de fich. Type    Tail. Occ. Disp. %Occ. Monté sur
/dev/sda7     ext3     94G  188M   93G   1% /mnt/sda7

Avec cette option « -m 1″, j’ai donc limité la place réservée à l’utilisateur « root » à 1% de la taille de la partition.

Effectivement, je n’ai plus que 1 GB d’utilisé sur les 94 GB. Gain : +4 GB.

Si réellement cette partition ne sera utilisée que pour des données, vous pouvez même ne rien réserver pour « root » :

$ sudo mkfs.ext3 -m 0 /dev/sda7

0 blocs (0.00%) réservés pour le super utilisateur

Sys. de fich. Type    Tail. Occ. Disp. %Occ. Monté sur

/dev/sda7     ext3     94G  188M   94G   1% /mnt/sda7

Et voilà : Tout est disponible pour VOS données (sauf la place occupée par les inodes) ;-)

Remarque : je n’ai pas réussi à spécifier un pourcentage « décimal ». Pas moyen de lui dire de réserver 0.10 % par exemple.

Facile… mais peu connu et rarement utilisé ! ;-)


Réseaux sociaux :
  • Print
  • Identi.ca
  • Twitter
  • Facebook
  • email
  • PDF
  • RSS
  • Digg
  • Sphinn
  • del.icio.us
  • Mixx
  • Google Bookmarks
  • MySpace
  • Netvibes
  • Technorati
  • Wikio
  • Wikio FR
  • LinkedIn
  • Add to favorites
  • FriendFeed
  • viadeo FR
  • Yahoo! Buzz
  • MisterWong
Si vous appréciez cet article, laissez un commentaire ou abonner vous au flux RSS feed pour avoir les articles futures délivrés dans votre Reader.

Articles relatifs

Written on mai 22nd, 2008 & filed under Linux Tags:
LEAVE A COMMENT
Comment
 
COMMENTS
    Drago commented

    Je voulais savoir est-ce que ce procédé vaut aussi pour la partition Home dans Ubuntu qui est de 5.8 GB?

    23 mai 2008 at 15:21
    Didier commented

    Probablement oui.
    La seul où il faut pas toucher à la place réserver pour le super-user, c’est la partition « / »
    car c’est là que se trouve le /root … et si le / devient plein, tu risques de ne plus savoir faire logon en root…
    Mais, en Ubuntu, vu qu’on ne fait pas logon en root, je ne suis pas sur du comportement. Je dois me renseigner.
    ;-)

    23 mai 2008 at 17:27
    Cretch commented

    Merci pour l’info ;) 5% sur un disque d’un To, ça commençait à faire pas mal :D

    Mais tant qu’à être ici, autant demander. Sauriez-vous me dire pourquoi l’ami Gparted m’indique toujours 7 et quelque Go d’espace utilisé, malgré avoir formaté et viré l’espace root? Sous le moniteur système c’est OK.

    18 septembre 2008 at 10:22
    Didier commented

    Bonjour,
    Oui, c’est exactement ce que je me suis dit : 5% c’est loin d’être négligeable ! Surtout sur des partitions données où, en théorie, root n’a pas besoin de place reservée ;-)

    Et pour Gparted, je n’en sais rien. Je vais essayer de vérifier ça chez moi.
    Bonne journée,

    18 septembre 2008 at 10:41
    Marco commented

    Pour une partition déjà créé, on peut changer le % root en faisant « tune2fs -m 1 device » (1 pour 1% et /dev/sd?? pour device)

    23 août 2010 at 21:16