Introducción
En esta práctica de laboratorio, explorarás el comando df, una herramienta fundamental para supervisar el uso del espacio en disco en sistemas Linux. Asumirás el papel de un administrador de sistemas encargado de gestionar un servidor web con mucho tráfico, utilizando df para analizar el uso del disco, identificar posibles problemas de almacenamiento y garantizar el funcionamiento fluido del servidor. Esta sesión está diseñada para principiantes, así que no te preocupes si eres nuevo en Linux: te guiaremos cuidadosamente en cada paso.
Comprensión del comando df básico
Como administrador de sistemas, tu primera tarea es obtener una visión general del uso del espacio en disco en tu servidor web. El comando df sin ninguna opción proporciona una instantánea rápida de todos los sistemas de archivos montados.
Primero, naveguemos al directorio del proyecto:
cd ~/project
Ahora, ejecutemos el comando df básico:
df
Consejos: Debido a los cambios dinámicos en el almacenamiento de las máquinas virtuales, la salida del comando df puede ser inconsistente; este detalle puede ignorarse.
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 información:
Filesystem: Esta columna muestra el nombre del dispositivo o partición.1K-blocks: Muestra el tamaño total del sistema de archivos en bloques de 1 kilobyte.Used: Indica cuántos bloques de 1K están en uso.Available: Muestra cuántos bloques de 1K están disponibles.Use%: Muestra el porcentaje del sistema de archivos que está siendo utilizado.Mounted on: Indica 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 de contenedores. El dispositivo /dev/vdb es probablemente un disco virtual, y podemos ver un sistema de archivos tmpfs montado en /mnt/ramdisk, que es un sistema de archivos basado en la memoria RAM.
Formato de salida legible para humanos
La salida predeterminada de df muestra los tamaños en bloques de 1K, lo cual puede ser difícil de interpretar rápidamente. ¡Imagina intentar calcular cuántos gigabytes representan 20640796 bloques de 1K! Afortunadamente, podemos usar la opción -h (que significa "human-readable" o legible para humanos) para facilitar la comprensión.
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 aparecen ahora en GB y MB. Esto es mucho más sencillo de entender de un vistazo. 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.
Visualización de los tipos de sistemas de archivos
Como administrador de sistemas, es importante conocer los tipos de sistemas de archivos en tu servidor. Los diferentes tipos tienen características y rendimientos distintos. La opción -T te permite visualizar 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 montaje. Veamos los tipos que aparecen:
overlay: Es un tipo de sistema de archivos de unión, usado frecuentemente en contenedores.tmpfs: Es un sistema de archivos temporal que reside en la memoria volátil o en la partición de intercambio (swap).xfs: Es un sistema de archivos de alto rendimiento con registro por diario (journaling), utilizado aquí para el montaje de/etc/hosts.
Conocer los tipos de sistemas de archivos puede ayudarte a diagnosticar problemas y optimizar el rendimiento de tu sistema.
Análisis del uso de Inodos
En Linux, los inodos son estructuras de datos que almacenan información importante sobre los archivos, como sus permisos, propiedad y ubicación en el disco. Cada archivo en tu sistema utiliza un inodo. Curiosamente, es posible quedarse sin inodos incluso si todavía tienes mucho espacio en disco disponible, lo que te impediría crear nuevos archivos. Por eso, supervisar el uso de inodos es crucial.
Comprobemos el uso de inodos con 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 disponibles en 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) solo está utilizando el 2% de sus inodos disponibles. Esto es positivo: significa que estamos lejos de agotar los inodos, lo cual evitaría la creación de nuevos archivos aunque tuviéramos espacio físico en el disco.
Combinación de opciones para un análisis exhaustivo
Ahora que hemos explorado las opciones individuales, combinémoslas para obtener una visión más completa del almacenamiento de nuestro servidor. Podemos usar varias opciones juntas para obtener toda la información necesaria en un solo comando.
Ejecuta el siguiente comando:
df -hT
Este comando combina la lectura humana (-h) y el 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 integral de tus sistemas de archivos, incluyendo sus tipos y tamaños legibles. Es una excelente manera de obtener una instantánea rápida pero detallada del estado del almacenamiento de tu sistema.
Enfoque en un sistema de archivos específico
Como administrador de sistemas, a menudo necesitarás comprobar el estado de un sistema de archivos concreto. Por ejemplo, podrías querer revisar rápidamente el espacio 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 exclusivamente en el sistema de archivos raíz. Es particularmente útil cuando solo te interesa un punto de montaje específico y no necesitas información sobre todos los demás.
Comprobación del espacio disponible para los directorios de usuario
Como parte de tus tareas de gestión del servidor, debes asegurarte de que los usuarios tengan suficiente espacio en sus directorios personales. En muchos sistemas, estos directorios se encuentran en /home. Comprobemos el espacio disponible en dicho directorio.
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 indica que el directorio /home se encuentra en el mismo sistema de archivos que el directorio raíz (/). En este caso, vemos que hay suficiente espacio disponible (19G) para los directorios de los usuarios.
Si observas que el sistema de archivos se está llenando (un valor alto en Use%), es posible que debas investigar qué usuarios están consumiendo más espacio o considerar aumentar la capacidad de almacenamiento.
Exclusión de ciertos tipos de sistemas de archivos
A veces, es posible que desees excluir ciertos tipos de sistemas de archivos de la salida de df. Por ejemplo, podrías querer omitir los sistemas de archivos temporales, que se almacenan en memoria y no representan el uso del disco físico. Podemos lograr esto usando 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 lista. Esto es muy útil cuando solo te interesa el uso del disco físico y quieres filtrar los sistemas de archivos virtuales.
Visualización de un resumen total
Como revisión final, mostremos un resumen total de todos los sistemas de archivos. Podemos hacerlo utilizando la opción --total. Esto es especialmente útil cuando quieres ver el uso global del disco en todos los sistemas de archivos combinados.
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. La última línea muestra el total acumulado, indicando que, en conjunto, se están utilizando 18G de 125G, lo que representa aproximadamente el 15% del espacio total disponible.
Resumen
En esta práctica de laboratorio, has aprendido a utilizar el comando df para supervisar 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. - Formato de salida legible para humanos con
-h. - Visualización de tipos de sistemas de archivos con
-T. - Análisis del uso de inodos con
-i. - Combinación de opciones para un análisis exhaustivo.
- Enfoque en sistemas de archivos específicos.
- Exclusión de ciertos tipos de sistemas de archivos con
-x. - Visualización de un resumen total con
--total.
Estas habilidades son fundamentales para una administración de sistemas eficaz y para garantizar el rendimiento óptimo de tus servidores Linux. A medida que avances en tu camino como administrador, descubrirás que el comando df es una herramienta invaluable en tu repertorio.
Otras opciones de df no cubiertas en esta práctica incluyen:
-a: Muestra todos los sistemas de archivos, incluyendo los pseudo-sistemas, duplicados e inaccesibles.-k: Muestra los tamaños en kilobytes (predeterminado).-m: Muestra los tamaños en megabytes.-P: Utiliza el formato de salida POSIX.--sync: Invoca una sincronización antes de obtener la información de uso.-t: Limita el listado a sistemas de archivos de un tipo específico.
Recuerda que, aunque df es potente, es solo una de las muchas herramientas disponibles para supervisar el uso del disco. A medida que progreses en Linux, es recomendable explorar otros comandos como du (uso de disco por directorio), ncdu (uso de disco con interfaz NCurses) y diversas herramientas de monitorización del sistema.



