Introducción
Existen muchas herramientas disponibles para gestionar el almacenamiento en Linux. Sin embargo, solo unas pocas se utilizan para el mantenimiento y administración diarios. En esta guía, revisarás algunas de las utilidades más comúnmente utilizadas para gestionar puntos de montaje, dispositivos de almacenamiento y sistemas de archivos.
Otros Recursos
Esta guía no cubrirá cómo preparar dispositivos de almacenamiento para su uso inicial en un sistema Linux. Esta guía sobre particionar y formatear dispositivos de bloques en Linux te ayudará a preparar tu dispositivo de almacenamiento en bruto si aún no has configurado tu almacenamiento.
Para obtener más información sobre algunos de los términos utilizados para hablar sobre almacenamiento, prueba a leer este artículo sobre terminología de almacenamiento.
Buscar Capacidad y Uso de Almacenamiento con df
A menudo, la información más importante que necesitarás sobre el almacenamiento en tu sistema es la capacidad y la utilización actual de los dispositivos de almacenamiento conectados.
Para verificar cuánto espacio de almacenamiento está disponible en total y ver la utilización actual de tus unidades, utiliza la utilidad df. De forma predeterminada, esto muestra las medidas en bloques de 1K, lo cual no siempre es útil. Agrega la bandera -h
para mostrar la salida en unidades legibles para humanos:
- df -h
OutputFilesystem Size Used Avail Use% Mounted on
udev 238M 0 238M 0% /dev
tmpfs 49M 624K 49M 2% /run
/dev/vda1 20G 1.1G 18G 6% /
tmpfs 245M 0 245M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 245M 0 245M 0% /sys/fs/cgroup
tmpfs 49M 0 49M 0% /run/user/1000
/dev/sda1 99G 60M 94G 1% /mnt/data
La partición /dev/vda1
, que está montada en /
, está llena al 6% y tiene 18G de espacio disponible, mientras que la partición /dev/sda1
, que está montada en /mnt/data
, está vacía y tiene 94G de espacio disponible. Las otras entradas usan sistemas de archivos tmpfs
o devtmpfs
, que son memoria volátil utilizada como si fuera almacenamiento permanente. Puedes excluir estas entradas escribiendo:
- df -h -x tmpfs -x devtmpfs
OutputFilesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 1.1G 18G 6% /
/dev/sda1 99G 60M 94G 1% /mnt/data
Esta salida ofrece una visualización más centrada de la utilización actual del disco al eliminar algunos pseudodispositivos y dispositivos especiales.
Encontrar información sobre dispositivos de bloque con lsblk
A block device is a generic term for a storage device that reads or writes in blocks of a specific size. This term applies to almost every type of non-volatile storage, including hard disk drives (HDDs), solid state drives (SSDs), and so on. The block device is the physical device where the filesystem is written. The filesystem, in turn, dictates how data and files are stored.
La utilidad lsblk se puede utilizar para mostrar información sobre dispositivos de bloques. Las capacidades específicas de la utilidad dependen de la versión instalada, pero en general, el comando lsblk
se puede usar para mostrar información sobre la unidad en sí, así como la información de particionado y el sistema de archivos que se ha escrito en ella.
Sin argumentos, lsblk
mostrará nombres de dispositivos, los números mayor y menor asociados con un dispositivo (utilizados por el kernel de Linux para llevar un seguimiento de controladores y dispositivos), si la unidad es extraíble, su tamaño, si está montada de solo lectura, su tipo (disco o partición) y su punto de montaje. Algunos sistemas requieren sudo
para que se muestre correctamente:
- sudo lsblk
OutputNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
vda 253:0 0 20G 0 disk
└─vda1 253:1 0 20G 0 part /
De la salida mostrada, las partes más importantes suelen ser el nombre, que se refiere al nombre del dispositivo bajo /dev
, el tamaño, el tipo y el punto de montaje. Aquí, puede ver que tiene un disco (/dev/vda
) con una sola partición (/dev/vda1
) que se utiliza como partición /
y otro disco (/dev/sda
) que no ha sido particionado.
Para obtener información más relevante para la gestión de discos y particiones, puede utilizar la bandera --fs
en algunas versiones:
- sudo lsblk --fs
OutputNAME FSTYPE LABEL UUID MOUNTPOINT
sda
vda
└─vda1 ext4 DOROOT c154916c-06ea-4268-819d-c0e36750c1cd /
Si la bandera --fs
no está disponible en su sistema, puede replicar manualmente la salida utilizando la bandera -o
para solicitar una salida específica. Puede usar -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT
para obtener la misma información.
Para obtener información sobre la topología del disco, escriba:
- sudo lsblk -t
OutputNAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE RA WSAME
sda 0 512 0 512 512 1 deadline 128 128 2G
vda 0 512 0 512 512 1 128 128 0B
└─vda1 0 512 0 512 512 1 128 128 0B
Hay muchos otros atajos disponibles para mostrar características relacionadas con tus discos y particiones. Puedes mostrar todas las columnas disponibles con la bandera -O
o puedes personalizar los campos a mostrar especificando los nombres de las columnas con la bandera -o
. La bandera -h
se puede usar para listar las columnas disponibles:
- lsblk -h
Output. . .
Available columns (for --output):
NAME device name
KNAME internal kernel device name
. . .
SUBSYSTEMS de-duplicated chain of subsystems
REV device revision
VENDOR device vendor
For more details see lsblk(8).
Trabajando con Montajes de Sistemas de Archivos
Antes de poder usar un disco nuevo, típicamente tienes que particionarlo, formatearlo con un sistema de archivos y luego montar la unidad o particiones. La partición y el formateo suelen ser procedimientos de una sola vez. Puedes encontrar más información sobre cómo particionar y formatear una unidad con Linux en Cómo Particionar y Formatear Dispositivos de Almacenamiento en Linux.
Montar es algo que puedes hacer con más frecuencia. Montar el sistema de archivos lo hace disponible para el servidor en el punto de montaje seleccionado. Un punto de montaje es un directorio bajo el cual el nuevo sistema de archivos puede ser accedido.
Dos comandos complementarios se utilizan principalmente para gestionar el montaje: mount
y umount
. El comando mount
se utiliza para adjuntar un sistema de archivos al árbol de archivos actual. En un sistema Linux, se utiliza una jerarquía de archivos unificada para todo el sistema, independientemente de cuántos dispositivos físicos lo compongan. El comando umount
(Nota: este es umount
, no unmount
) se utiliza para desmontar un sistema de archivos. Además, el comando findmnt
es útil para recopilar información sobre el estado actual de los sistemas de archivos montados.
Uso del comando mount
La forma más directa de utilizar mount
es pasar un dispositivo o partición formateado y el punto de montaje donde se va a adjuntar:
- sudo mount /dev/sda1 /mnt
El punto de montaje, el último parámetro que especifica dónde en la jerarquía de archivos debe adjuntarse el nuevo sistema de archivos, casi siempre debe ser un directorio vacío.
Por lo general, querrás seleccionar opciones más específicas al montar. Aunque mount
puede intentar adivinar el tipo de sistema de archivos, casi siempre es mejor idea pasar el tipo de sistema de archivos con la opción -t
. Para un sistema de archivos Ext4, esto sería:
- sudo mount -t ext4 /dev/sda1 /mnt
Hay muchas otras opciones que afectarán la forma en que se monta el sistema de archivos. Hay opciones de montaje genéricas que se pueden encontrar en la sección OPCIONES DE MONTAJE INDEPENDIENTES DEL SISTEMA DE ARCHIVOS del manual de montaje.
Pase otras opciones con la bandera -o
. Por ejemplo, para montar una partición con las opciones predeterminadas (que representan rw,suid,dev,exec,auto,nouser,async
), puede pasar -o defaults
. Si necesita anular los permisos de lectura-escritura y montar como solo lectura, puede agregar ro
como una opción posterior, lo que anulará el rw
de la opción defaults
:
- sudo mount -t ext4 -o defaults,ro /dev/sda1 /mnt
Para montar todos los sistemas de archivos descritos en el archivo /etc/fstab
, puede pasar la opción -a
:
- sudo mount -a
Lista de Opciones de Montaje del Sistema de Archivos
Para mostrar las opciones de montaje utilizadas para un montaje específico, utilice el comando findmnt
. Por ejemplo, si visualizó el montaje de solo lectura del ejemplo anterior con findmnt
, se vería algo así:
- findmnt /mnt
OutputTARGET SOURCE FSTYPE OPTIONS
/mnt /dev/sda1 ext4 ro,relatime,data=ordered
Esto puede ser útil si ha estado experimentando con múltiples opciones y finalmente ha descubierto un conjunto que le gusta. Puede encontrar las opciones que está utilizando con findmnt
para saber qué es apropiado agregar al archivo /etc/fstab
para futuros montajes.
Desmontando un Sistema de Archivos
El comando umount
se utiliza para desmontar un sistema de archivos dado. Nuevamente, es umount
no unmount
.
La forma general del comando es nombrar el punto de montaje o dispositivo de un sistema de archivos actualmente montado. Asegúrese de que no esté utilizando ningún archivo en el punto de montaje y de que no tenga ninguna aplicación (incluida su shell actual) funcionando dentro del punto de montaje:
- cd ~
- sudo umount /mnt
Normalmente no hay opciones para agregar al comportamiento de desmontaje predeterminado.
Conclusión
Aunque esta lista no es exhaustiva de ninguna manera, estos utilitarios deberían cubrir la mayoría de lo que necesita para las tareas diarias de administración del sistema. Al aprender algunas herramientas, puede manejar dispositivos de almacenamiento en su servidor.