Comando df de Linux: Informe de espacio en disco

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, explorarás el comando df, una herramienta fundamental para monitorear el uso del espacio en disco en sistemas Linux. Asumirás el papel de un administrador de sistemas que gestiona un servidor web ocupado, utilizando df para analizar el uso del disco, identificar posibles problemas de almacenamiento y garantizar el funcionamiento fluido del servidor. Este laboratorio está diseñado para principiantes, así que no te preocupes si eres nuevo en Linux: te guiaremos paso a paso con cuidado.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/SystemInformationandMonitoringGroup -.-> linux/df("Disk Space Reporting") subgraph Lab Skills linux/df -.-> lab-219188{{"Comando df de Linux: Informe de espacio en disco"}} end

Comprendiendo el comando básico df

Como administrador de sistemas, tu primera tarea es obtener una visión general del uso del espacio en disco de tu servidor web. El comando df sin opciones proporciona una instantánea rápida de todos los sistemas de archivos montados.

Primero, naveguemos hasta el directorio del proyecto:

cd ~/project

Ahora, ejecutemos el comando básico df:

df

Consejo: Debido a los cambios dinámicos en el almacenamiento de la máquina virtual, la salida del comando df puede ser inconsistente, y este problema se puede ignorar.

Deberías ver una salida similar a esta:

Filesystem     1K-blocks     Used Available Use% Mounted on
overlay         20971520  1314600  19656920   7% /
tmpfs              65536        0     65536   0% /dev
tmpfs            4068320        0   4068320   0% /sys/fs/cgroup
shm                65536        0     65536   0% /dev/shm
/dev/vdb       104806400 17442788  87363612  17% /etc/hosts
tmpfs             102400    51200     51200  50% /mnt/ramdisk

Desglosemos esta salida:

  • Filesystem: Esta columna muestra el nombre del dispositivo o partición.
  • 1K-blocks: Esto muestra el tamaño total del sistema de archivos en bloques de 1 kilobyte.
  • Used: Esto indica cuántos bloques de 1K se están utilizando.
  • Available: Esto muestra cuántos bloques de 1K están disponibles.
  • Use%: Esto muestra el porcentaje del sistema de archivos que se está utilizando.
  • Mounted on: Esto muestra en qué parte del árbol de directorios está montado el sistema de archivos.

Observa el sistema de archivos overlay, que se utiliza comúnmente en entornos contenerizados. El dispositivo /dev/vdb probablemente sea un disco virtual, y podemos ver un sistema de archivos tmpfs montado en /mnt/ramdisk, que es un sistema de archivos basado en RAM.

Haciendo que la salida de df sea legible para humanos

La salida predeterminada de df muestra los tamaños en bloques de 1K, lo que puede ser difícil de interpretar rápidamente. Imagina intentar averiguar cuántos gigabytes son 20640796 bloques de 1K. Afortunadamente, podemos usar la opción -h (que significa "legible para humanos") para hacer que la salida sea más fácil de entender.

Ejecuta el siguiente comando:

df -h

Deberías ver una salida similar a esta:

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /
tmpfs            64M     0   64M   0% /dev
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/vdb        100G   17G   84G  17% /etc/hosts
tmpfs           100M   50M   50M  50% /mnt/ramdisk

Observa cómo los tamaños ahora están en GB y MB. Esto es mucho más fácil de entender a simple vista. Por ejemplo, podemos ver rápidamente que nuestro sistema de archivos principal (overlay) tiene un tamaño de 20G, con solo 1.3G utilizados y 19G disponibles.

Mostrando los tipos de sistemas de archivos

Como administrador de sistemas, es importante conocer los tipos de sistemas de archivos en tu servidor. Diferentes tipos de sistemas de archivos tienen diferentes características y prestaciones. La opción -T te permite ver esta información.

Ejecuta el siguiente comando:

df -T

Deberías ver una salida similar a esta:

Filesystem     Type    1K-blocks     Used Available Use% Mounted on
overlay        overlay  20971520  1314600  19656920   7% /
tmpfs          tmpfs       65536        0     65536   0% /dev
tmpfs          tmpfs     4068320        0   4068320   0% /sys/fs/cgroup
shm            tmpfs       65536        0     65536   0% /dev/shm
/dev/vdb       xfs     104806400 17442728  87363672  17% /etc/hosts
tmpfs          tmpfs      102400    51200     51200  50% /mnt/ramdisk

Esta salida incluye una nueva columna, Type, que muestra el tipo de sistema de archivos para cada sistema de archivos montado. Veamos los tipos que vemos:

  • overlay: Este es un tipo de sistema de archivos unión (union filesystem), a menudo utilizado en entornos contenerizados.
  • tmpfs: Este es un sistema de archivos temporal que reside en la memoria y/o en la partición de intercambio (swap).
  • xfs: Este es un sistema de archivos con registro (journaling filesystem) de alto rendimiento, utilizado aquí para el montaje de /etc/hosts.

Comprender los tipos de sistemas de archivos puede ayudarte a solucionar problemas y optimizar el rendimiento de tu sistema.

Analizando el uso de inodos

En Linux, los inodos son estructuras de datos que almacenan información importante sobre los archivos, como sus permisos, propietarios y ubicación en el disco. Cada archivo en tu sistema utiliza un inodo. Curiosamente, es posible quedarse sin inodos incluso si tienes mucho espacio en disco disponible, lo que impediría la creación de nuevos archivos. Por eso es crucial monitorear el uso de inodos.

Vamos a verificar el uso de inodos utilizando la opción -i:

df -i

Deberías ver una salida similar a esta:

Filesystem       Inodes  IUsed    IFree IUse% Mounted on
overlay        52428800 539001 51889799    2% /
tmpfs           1017080    206  1016874    1% /dev
tmpfs           1017080     17  1017063    1% /sys/fs/cgroup
shm             1017080      1  1017079    1% /dev/shm
/dev/vdb       52428800 539001 51889799    2% /etc/hosts
tmpfs           1017080      2  1017078    1% /mnt/ramdisk

Desglosemos esta salida:

  • Inodes: El número total de inodos para el sistema de archivos
  • IUsed: El número de inodos actualmente en uso
  • IFree: El número de inodos libres
  • IUse%: El porcentaje de inodos utilizados

En este ejemplo, podemos ver que nuestro sistema de archivos principal (overlay) está utilizando solo el 2% de sus inodos disponibles. Esto es bueno, lo que significa que estamos lejos de quedarnos sin inodos, lo cual podría impedirnos crear nuevos archivos incluso si tuviéramos espacio en disco disponible.

Combinando opciones para un análisis completo

Ahora que hemos explorado opciones individuales, combinémoslas para obtener una visión más completa de la situación de almacenamiento de nuestro servidor. Podemos usar múltiples opciones juntas para obtener toda la información que necesitamos en un solo comando.

Ejecuta el siguiente comando:

df -hT

Este comando combina las opciones de formato legible para humanos (-h) y tipo de sistema de archivos (-T).

Deberías ver una salida similar a esta:

Filesystem     Type     Size  Used Avail Use% Mounted on
overlay        overlay   20G  1.3G   19G   7% /
tmpfs          tmpfs     64M     0   64M   0% /dev
tmpfs          tmpfs    3.9G     0  3.9G   0% /sys/fs/cgroup
shm            tmpfs     64M     0   64M   0% /dev/shm
/dev/vdb       xfs      100G   17G   84G  17% /etc/hosts
tmpfs          tmpfs    100M   50M   50M  50% /mnt/ramdisk

Esta salida proporciona una visión general completa de tus sistemas de archivos, incluyendo sus tipos y tamaños en un formato legible para humanos. Es una excelente manera de obtener una instantánea rápida pero detallada de la situación de almacenamiento de tu sistema.

Centrándose en un sistema de archivos específico

Como administrador de sistemas, a menudo es posible que necesites comprobar el estado de un sistema de archivos específico. Por ejemplo, es posible que desees comprobar rápidamente el espacio disponible en el sistema de archivos raíz. Podemos hacer esto especificando el punto de montaje después del comando df.

Centrémonos en el sistema de archivos raíz. Ejecuta el siguiente comando:

df -h /

Deberías ver una salida similar a esta:

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /

Este comando te ofrece una vista rápida del uso del espacio en el sistema de archivos raíz. Es especialmente útil cuando solo estás interesado en un sistema de archivos específico y no necesitas información sobre todos los demás.

Comprobando el espacio disponible en los directorios personales de los usuarios

Como parte de tus responsabilidades de gestión del servidor, debes asegurarte de que los usuarios tengan suficiente espacio en sus directorios personales. En muchos sistemas, los directorios personales de los usuarios se encuentran en el directorio /home. Vamos a comprobar el espacio disponible en el directorio /home.

Ejecuta el siguiente comando:

df -h /home

Podrías ver una salida similar a esta:

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /

Esto muestra que el directorio /home está en el mismo sistema de archivos que el directorio raíz (/). En este caso, podemos ver que hay mucho espacio disponible (19G) para los directorios personales de los usuarios.

Si ves que el sistema de archivos se está llenando (un valor alto de Use%), es posible que debas investigar qué usuarios están utilizando más espacio o considerar aumentar la capacidad de almacenamiento.

Excluyendo ciertos tipos de sistemas de archivos

A veces, es posible que desees excluir ciertos tipos de sistemas de archivos de la salida del comando df. Por ejemplo, es posible que desees excluir los sistemas de archivos temporales, que se almacenan en memoria y no representan el uso físico del disco. Podemos hacer esto utilizando la opción -x.

Ejecuta el siguiente comando para excluir los sistemas de archivos tmpfs:

df -h -x tmpfs

Deberías ver una salida similar a esta:

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /
/dev/vdb        100G   17G   84G  17% /etc/hosts

Observa que los sistemas de archivos tmpfs ya no aparecen en la salida. Esto puede ser útil cuando solo estás interesado en el uso físico del disco y deseas filtrar los sistemas de archivos virtuales.

Mostrando un resumen total

Como una visión general final, mostraremos un resumen total de todos los sistemas de archivos. Podemos hacer esto utilizando la opción --total. Esto es especialmente útil cuando deseas ver el uso general del disco en todos los sistemas de archivos.

Ejecuta el siguiente comando:

df -h --total

Deberías ver una salida similar a esta:

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /
tmpfs            64M     0   64M   0% /dev
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/vdb        100G   17G   84G  17% /etc/hosts
tmpfs           100M   50M   50M  50% /mnt/ramdisk
total           125G   18G  107G  15% -

Esto proporciona un resumen total del uso del disco en todos los sistemas de archivos. La última línea muestra el total de todos los sistemas de archivos, lo que indica que, en general, se utilizan 18G de 125G, lo que representa aproximadamente el 15% del espacio total disponible.

Resumen

En este laboratorio, has aprendido cómo usar el comando df para monitorear y analizar el uso del espacio en disco en un sistema Linux. Has explorado varias opciones del comando df, incluyendo:

  • Uso básico de df
  • Hacer la salida legible para humanos con -h
  • Mostrar los tipos de sistemas de archivos con -T
  • Analizar el uso de inodos con -i
  • Combinar opciones para un análisis completo
  • Centrarse en sistemas de archivos específicos
  • Excluir ciertos tipos de sistemas de archivos con -x
  • Mostrar un resumen total con --total

Estas habilidades son cruciales para una administración de sistemas efectiva y para garantizar el rendimiento óptimo de tus servidores Linux. A medida que continúes tu camino en la administración de sistemas, encontrarás que el comando df es una herramienta invaluable en tu conjunto de herramientas.

Otras opciones de df no cubiertas en este laboratorio incluyen:

  • -a: Mostrar todos los sistemas de archivos, incluyendo los pseudo, duplicados e inaccesibles
  • -k: Mostrar tamaños en kilobytes (por defecto)
  • -m: Mostrar tamaños en megabytes
  • -P: Usar el formato de salida POSIX
  • --sync: Invocar sync antes de obtener la información de uso
  • -t: Limitar la lista a sistemas de archivos de un tipo específico

Recuerda, aunque df es poderoso, es solo una de las muchas herramientas disponibles para monitorear el uso del disco. A medida que avances en tu camino con Linux, es posible que desees explorar otros comandos como du (uso de disco), ncdu (Uso de Disco con NCurses) y varias herramientas de monitoreo del sistema.