Cómo particionar y formatear dispositivos de almacenamiento en Linux

Introducción

Preparar un nuevo disco para usarlo en un sistema Linux es un proceso sencillo. Existen muchas herramientas, formatos de sistemas de archivos y esquemas de particionamiento que pueden cambiar el proceso si tiene necesidades específicas, pero los principios básicos siguen siendo los mismos.

Esta guía cubrirá el siguiente proceso:

  • Identificación del nuevo disco en el sistema.
  • Creación de una única partición que abarque todo el disco (la mayoría de los sistemas operativos esperan un diseño de partición, incluso si solo hay un sistema de archivos presente)
  • Formatear la partición con el sistema de archivos Ext4 (el predeterminado en la mayoría de las distribuciones modernas de Linux)
  • Montaje y configuración Montaje automático del sistema de archivos durante el arranque

Paso 1: Instalar Parted

Para particionar la unidad, utilizará la partedutilidad. La mayoría de los comandos necesarios para interactuar con un sistema de archivos de bajo nivel están disponibles de forma predeterminada en Linux. parted, que crea particiones, es una de las únicas excepciones ocasionales.

Si estás en un servidor Ubuntu o Debian y no lo tienes partedinstalado, puedes instalarlo escribiendo:

  1. sudo apt update
  2. sudo apt install parted

Si está en un servidor RHEL, Rocky Linux o Fedora, puede instalarlo escribiendo:

  1. sudo dnf install parted

Todos los demás comandos utilizados en este tutorial deben estar preinstalados para que puedas pasar al siguiente paso.

Paso 2: Identificar el nuevo disco en el sistema

Antes de configurar la unidad, debe poder identificarla correctamente en el servidor.

Si se trata de una unidad completamente nueva, una forma de identificarla en el servidor es buscar la ausencia de un esquema de particionamiento. Si solicita partedque se enumere el diseño de particiones de sus discos, se generará un error para todos los discos que no tengan un esquema de particionamiento válido. Esto se puede utilizar para ayudar a identificar el nuevo disco:

  1. sudo parted -l | grep Error

Debería ver un unrecognized disk labelerror para el nuevo disco sin particionar:

OutputError: /dev/sda: unrecognized disk label

También puede utilizar el lsblkcomando y buscar un disco del tamaño correcto que no tenga particiones asociadas:

  1. lsblk
OutputNAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTsda      8:0    0   100G  0 disk vda    253:0    0    20G  0 disk └─vda1 253:1    0    20G  0 part /

Nota: Recuerde comprobar lsblkcada vez que se vuelva a conectar a su servidor antes de realizar cambios. Los identificadores de disco /dev/sd*y /dev/hd*no necesariamente serán consistentes entre arranques, lo que significa que existe el riesgo de particionar o formatear el disco incorrecto si no verifica correctamente el identificador de disco.

Considere utilizar identificadores de disco más persistentes como /dev/disk/by-uuid, /dev/disk/by-labelo /dev/disk/by-id. Consulte nuestro artículo Introducción a los conceptos y la terminología del almacenamiento en Linux para obtener más información.

Cuando conozca el nombre que el kernel ha asignado a su disco, podrá particionar su unidad.

Paso 3: Particione la nueva unidad

Como se mencionó en la introducción, en esta guía crearás una única partición que abarcará todo el disco.

Elija un estándar de particionamiento

Para ello, primero debe especificar el estándar de particionamiento que se utilizará. Hay dos opciones: GPT y MBR. GPT es un estándar más moderno, mientras que MBR tiene una mayor compatibilidad entre los sistemas operativos más antiguos. Para un servidor en la nube típico, GPT es una mejor opción.

Para elegir el estándar GPT, pase el disco que identificó partedcon mklabel gpt:

  1. sudo parted /dev/sda mklabel gpt

Para utilizar el formato MBR, utilice mklabel msdos:

  1. sudo parted /dev/sda mklabel msdos

Crear la nueva partición

Una vez seleccionado el formato, puede crear una partición que abarque todo el disco utilizando parted -a:

  1. sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%

Puedes desglosar este comando de la siguiente manera:

  • parted -a optse ejecuta de forma separada, estableciendo el tipo de alineación óptimo predeterminado .
  • /dev/sdaes el disco que estás particionando.
  • mkpart primary ext4crea una partición independiente (es decir, de arranque, no extendida desde otra), utilizando el sistema de archivos ext4.
  • 0% 100%significa que esta partición debe abarcar desde el principio hasta el final del disco.

Para obtener más información, consulte la página del manual de Parted.

Si marca lsblk, debería ver la nueva partición disponible:

  1. lsblk
OutputNAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTsda      8:0    0   100G  0 disk └─sda1   8:1    0   100G  0 part vda    253:0    0    20G  0 disk └─vda1 253:1    0    20G  0 part /

Ahora tiene una nueva partición creada, pero aún no se ha inicializado como sistema de archivos. La diferencia entre estos dos pasos es algo arbitraria y exclusiva de la forma en que funcionan los sistemas de archivos de Linux, pero en la práctica siguen siendo dos pasos.

Paso 4: Crear un sistema de archivos en la nueva partición

Ahora que tiene una partición disponible, puede inicializarla como un sistema de archivos Ext4. Ext4 no es la única opción de sistema de archivos disponible, pero es la opción más sencilla para un único volumen Linux independiente. Windows utiliza sistemas de archivos como NTFS y exFAT , pero tienen un soporte limitado en otras plataformas (lo que significa que serán de solo lectura en algunos contextos y no se pueden usar como unidad de arranque para otros sistemas operativos), y macOS usa HFS+ y APFS , con las mismas salvedades. También hay sistemas de archivos Linux más nuevos que Ext4, como ZFS y BTRFS , pero estos imponen requisitos diferentes y generalmente son más adecuados para matrices de múltiples discos.

Para inicializar un sistema de archivos Ext4, utilice la mkfs.ext4utilidad. Puede agregar una etiqueta de partición con el -Lindicador. Seleccione un nombre que le ayude a identificar esta unidad en particular:

Nota: Asegúrate de proporcionar la ruta a la partición y no al disco completo. En Linux, los discos tienen nombres como sda, sdb, hda, etc. Las particiones de estos discos tienen un número adjunto al final. Por lo tanto, deberías usar algo como sda1, no sda.

  1. sudo mkfs.ext4 -L datapartition /dev/sda1

Si desea cambiar la etiqueta de la partición más adelante, puede utilizar el e2labelcomando:

  1. sudo e2label /dev/sda1 newlabel

Puedes ver todas las diferentes formas de identificar tu partición con lsblk. Deberías encontrar el nombre, la etiqueta y el UUID de la partición.

Algunas versiones de lsblkimprimirán toda esta información con el --fsargumento:

  1. sudo lsblk --fs

También puede especificarlos manualmente lsblk -oseguido de las opciones pertinentes:

  1. sudo lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT

Debería recibir un resultado como este. El resultado resaltado indica diferentes métodos que puede usar para hacer referencia al nuevo sistema de archivos:

OutputNAME   FSTYPE LABEL         UUID                                 MOUNTPOINTsda                                                              └─sda1 ext4   datapartition 4b313333-a7b5-48c1-a957-d77d637e4fda vda                                                              └─vda1 ext4   DOROOT        050e1e34-39e6-4072-a03e-ae0bf90ba13a /

Tome nota de esta salida, ya que la utilizará al montar el sistema de archivos en el siguiente paso.

Paso 5: Montar el nuevo sistema de archivos

Ahora, puedes montar el sistema de archivos para su uso.

El estándar de jerarquía de sistemas de archivos recomienda utilizar el /mntdirectorio o un subdirectorio debajo de él para sistemas de archivos montados temporalmente (como unidades extraíbles). No hace recomendaciones sobre dónde montar almacenamiento más permanente, por lo que puede elegir el esquema que desee. Para este tutorial, montará la unidad debajo de /mnt/data.

Crea ese directorio usando mkdir:

  1. sudo mkdir -p /mnt/data

Montaje temporal del sistema de archivos

Puede montar el sistema de archivos temporalmente escribiendo:

  1. sudo mount -o defaults /dev/sda1 /mnt/data

Montaje automático del sistema de archivos durante el arranque

Para montar el sistema de archivos automáticamente cada vez que se inicia el servidor, deberá agregar una entrada al /etc/fstabarchivo. Este archivo contiene información sobre todos los discos permanentes o montados de manera rutinaria de su sistema. Abra el archivo con nanosu editor de texto favorito:

  1. sudo nano /etc/fstab

En el último paso, utilizó el sudo lsblk --fscomando para mostrar los identificadores de su sistema de archivos. Puede utilizar cualquiera de ellos en este archivo. Este ejemplo utiliza la etiqueta de partición , pero puede ver cómo se verían las líneas utilizando los otros dos identificadores en las líneas comentadas:

/etc/fstab

. . .## Use one of the identifiers you found to reference the correct partition# /dev/sda1 /mnt/data ext4 defaults 0 2# UUID=4b313333-a7b5-48c1-a957-d77d637e4fda /mnt/data ext4 defaults 0 2LABEL=datapartition /mnt/data ext4 defaults 0 2

Más allá del LABEL=datapartitionelemento, estas opciones funcionan de la siguiente manera:

  • /mnt/dataEs la ruta donde se montará el disco.
  • ext4connota que esta es una partición Ext4.
  • defaultssignifica que este volumen debe montarse con las opciones predeterminadas, como soporte de lectura y escritura.
  • 0 2significa que el sistema de archivos debe ser validado por la máquina local en caso de errores, pero como 2prioridad, después de su volumen raíz.

Nota: Puede obtener información sobre los distintos campos del /etc/fstabarchivo consultando su página de manual. Para obtener información sobre las opciones de montaje disponibles para un tipo de sistema de archivos específico, consulte man [filesystem](como man ext4).

Guarde y cierre el archivo cuando haya terminado. Si está utilizando nano, presione Ctrl+X, luego cuando se le solicite que confirme Yy luego Enter.

Si no montó el sistema de archivos previamente, ahora puede montarlo con mount -a:

sudo mount -a

Probando la montura

Después de haber montado el volumen, debemos verificar que el sistema de archivos sea accesible.

Puede comprobar si el disco está disponible en la salida del dfcomando. A veces, dfse incluirá información innecesaria sobre los sistemas de archivos temporales llamados tmpfsen dfla salida, que puede excluir añadiendo -x tmpfs:

  1. df -h -x tmpfs
OutputFilesystem      Size  Used Avail Use% Mounted on/dev/vda1        20G  1.3G   18G   7% //dev/sda1        99G   60M   94G   1% /mnt/data

También puedes comprobar que el disco está montado con capacidades de lectura y escritura escribiendo en un archivo de prueba:

  1. echo "success" | sudo tee /mnt/data/test_file

Lea el archivo nuevamente solo para asegurarse de que la escritura se ejecutó correctamente:

  1. cat /mnt/data/test_file
Outputsuccess

Puede eliminar el archivo después de verificar que el nuevo sistema de archivos funciona correctamente:

  1. sudo rm /mnt/data/test_file

Conclusión

Ahora, su nueva unidad debería estar particionado, formateado, montado y listo para usar. Este es el proceso general que puede utilizar para convertir un disco sin formato en un sistema de archivos que Linux pueda utilizar para almacenamiento. Existen métodos más complejos de particionado, formateo y montaje que pueden ser más apropiados en algunos casos, pero lo anterior es un buen punto de partida para el uso general.

A continuación, es posible que desee aprender a usar SSHFS para montar volúmenes remotos a través de SSH .

SUSCRÍBETE A NUESTRO BOLETÍN 
No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio