Por defecto, los sistemas de ficheros ext2, ext3 y ext4 reservan un 5% del espacio disponible en el disco como medida de seguridad para que en el caso de que lleguemos al 100% de espacio utilizado podamos seguir accediendo al servidor y realizar tareas de gestión y administración. Hace años el tamaño de los discos duros era bastante menor al actual por lo que este 5% con el tamaño de discos que manejamos ahora puede ser demasiado.
tune2fs permite ajustar parámetros en sistemas de ficheros extendidos (ext2, ext3, ext4). Podemos visualizar todos estos parámetros del siguiente modo (suponemos que queremos trabajar con la partición /dev/sda2). Tenemos que autenticarnos como root:
# tune2fs -l /dev/sda2 tune2fs 1.39 (29-May-2006) Filesystem volume name: / Last mounted on: Filesystem UUID: b3856607-1a01-4ab5-86ad-264s75367a89 Filesystem magic number: 0xAF63 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype sparse_super large_file Default mount options: user_xattr acl Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 60227584 Block count: 60225676 Reserved block count: 3011283 Free blocks: 58165828 Free inodes: 60209009 First block: 0 Block size: 4096 Fragment size: 4096 Reserved GDT blocks: 1009 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 32768 Inode blocks per group: 1024 Filesystem created: Sat Aug 15 05:39:09 2009 Last mount time: Sat Aug 15 05:43:16 2009 Last write time: Sat Aug 15 07:48:11 2009 Mount count: 1 Maximum mount count: -1 Last checked: Sat Aug 15 05:39:09 2009 Check interval: 0 () Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 128 Journal inode: 8 Default directory hash: tea Directory Hash Seed: 89e00d30-0212-4a32-9354-e84d6327117e Journal backup: inode blocks
Los parámetros que nos interesan son los siguientes:
# tune2fs -l /dev/sda2 | grep "^Reserved" Reserved block count: 3011283 Reserved GDT blocks: 1009 Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root)
Como podéis ver tenemos reservados 3011283 para el usuario root. Cada bloque son 4096 bytes por lo que tenemos reservados 11GB aproximadamente.
Para modificar el número de bloques reservados debemos ejecutar tune2fs con el parámetro -m seguido del nuevo porcentaje de bloques a reservar. En este caso vamos a reducir el número de bloques al 3%:
# tune2fs -m 3 /dev/sda2
Información extraída de la ayuda del comando:
-m reserved-blocks-percentage Set the percentage of the filesystem which may only be allocated by privileged processes. Reserving some number of filesystem blocks for use by privileged processes is done to avoid filesystem fragmentation, and to allow system daemons, such as syslogd(8), to continue to function correctly after non-privileged processes are prevented from writing to the filesys‐ tem. Normally, the default percentage of reserved blocks is 5%.
Si listamos de nuevo la información del filesystem ya deberíamos ver reflejados los nuevos cambios, también deberíamos tener liberado ese espacio en disco (podeis verlo mediante el comando df -h).
# tune2fs -l /dev/sda2 | grep "^Reserved" Reserved block count: 1806769 Reserved GDT blocks: 1009 Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root)
# df -h