Cómo particionar y formatear discos en tu VPS Linux con seguridad
La primera tarea es particionar y formatear discos en servidor para poder ampliar tu capacidad de almacenamiento. En esta guia te muestro el procedimiento paso a paso.
Índice de artículo
Introducción
Particionar y formatear discos 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 tenés 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 para el montaje automático del sistema de archivos durante el arranque
Paso 1: Instalar Parted
Para particionar la unidad, utilizaremos la utilidad parted
. 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 tenés parted
instalado, podés instalarlo escribiendo:
sudo apt update sudo apt install parted
Si estás en un servidor RHEL, Rocky Linux o Fedora, podés instalarlo escribiendo:
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, se 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 se solicita a parted
que se enumere el listado de particiones de los 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:
sudo parted -l | grep Error
Deberías ver un error con el mensaje unrecognized disk label
para el nuevo disco sin particionar:
Output Error: /dev/sda: unrecognized disk label
También podés utilizar el comando lsblk
y buscar un disco del tamaño correcto que no tenga particiones asociadas:
lsblk
Output NAME 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 /
Nota: Recuerdá comprobar con
lsblk
cada vez que te conectes a tu 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 se verifica correctamente el identificador de disco.
Considerá utilizar identificadores de disco más persistentes como /dev/disk/by-uuid
, /dev/disk/by-label
o /dev/disk/by-id
.
Cuando conozcas el nombre que el kernel ha asignado a tu disco, podrás particionar tu unidad.
Paso 3: Particiona la nueva unidad
Como se mencionó en la introducción, en esta guía crearás una única partición que abarque todo el disco.
Elijir un estándar de particionamiento
Para ello, primero se 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, pasá el disco que identificaste a parted
con las opciones mklabel gpt
:
sudo parted /dev/sda mklabel gpt
Para utilizar el formato MBR, las opciones son mklabel msdos
:
sudo parted /dev/sda mklabel msdos
Crear la nueva partición
Una vez seleccionado el formato, ya podés crear una partición que abarque todo el disco mediante parted -a
:
sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%
Podés desglosar este comando de la siguiente manera:
parted -a opt
se ejecuta de forma separada, estableciendo el tipo de alineación óptimo predeterminado ./dev/sda
es el disco que estás particionando.mkpart primary ext4
crea 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, consultá la página del manual de Parted.
Si escribís lsblk
, deberías ver la nueva partición disponible:
lsblk
Output NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 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 tenés 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 tenés una partición disponible, podés 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, utilizar la utilidad mkfs.ext4
. Podés agregar una etiqueta de partición con el indicador -L
. Seleccioná un nombre que te 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 comosda1
, nosda
.
sudo mkfs.ext4 -L datapartition /dev/sda1
Si deseas cambiar la etiqueta de la partición más adelante, podés utilizar el comando e2label
:
sudo e2label /dev/sda1 newlabel
Podés ver todas las diferentes formas de identificar a tu partición con lsblk
. Deberías encontrar el nombre, la etiqueta y el UUID de la partición.
Algunas versiones de lsblk
imprimirán toda esta información con el argumento --fs
:
sudo lsblk --fs
También podés especificarlos manualmente lsblk -o
seguido de las opciones pertinentes:
sudo lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT
Deberías recibir un resultado como este. El resultado resaltado indica diferentes métodos que podés usar para hacer referencia al nuevo sistema de archivos:
Output NAME FSTYPE LABEL UUID MOUNTPOINT sda └─sda1 ext4 datapartition 4b313333-a7b5-48c1-a957-d77d637e4fda vda └─vda1 ext4 DOROOT 050e1e34-39e6-4072-a03e-ae0bf90ba13a /
Tomá nota de esta salida, ya que la utilizarás al montar el sistema de archivos en el siguiente paso.
Paso 5: Montar el nuevo sistema de archivos
Ahora, podés montar el sistema de archivos para su uso.
El estándar de jerarquía de sistemas de archivos recomienda utilizar el directorio /mnt
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 podés elegir el esquema que desees. Para este tutorial, se montará la unidad debajo de /mnt/data
.
Crear ese directorio usando mkdir
:
sudo mkdir -p /mnt/data
Montaje temporal del sistema de archivos
Podés montar el sistema de archivos temporalmente escribiendo:
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ás agregar una entrada al archivo /etc/fstab
. Este archivo contiene información sobre todos los discos permanentes o montados de manera rutinaria de tu sistema. Abrí el archivo con nano
o tu editor de texto favorito:
sudo nano /etc/fstab
En el último paso, utilizaste el comando sudo lsblk --fs
para mostrar los identificadores de tu sistema de archivos. Podés utilizar cualquiera de ellos en este archivo. Este ejemplo utiliza la etiqueta de partición , pero podés 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 2 LABEL=datapartition /mnt/data ext4 defaults 0 2
Más allá del elemento LABEL=datapartition
, estas opciones funcionan de la siguiente manera:
/mnt/data
Es la ruta donde se montará el disco.ext4
connota que esta es una partición Ext4.defaults
significa que este volumen debe montarse con las opciones predeterminadas, como soporte de lectura y escritura.0 2
significa que el sistema de archivos debe ser validado por la máquina local en caso de errores, pero como prioridad2
, después de su volumen raíz.
Nota: Podés obtener información sobre los distintos campos del archivo
/etc/fstab
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, consultaman [filesystem]
(comoman ext4
).
Guardá y cerrá el archivo cuando hayas terminado. Si estás utilizando nano
, presiona Ctrl+X
, luego cuando se te solicite que confirmes Y
y luego Enter
.
Si no montaste el sistema de archivos previamente, ahora podés montarlo con mount -a
:
sudo mount -a
Probando el punto de montaje
Después de haber montado el volumen, debemos verificar que el sistema de archivos sea accesible.
Podés comprobar si el disco está disponible en la salida del comando df
. Con este comando también se listarán los sistemas de archivo de la memoria swap, si es que tenés alguno activo. A veces, df
incluirá información innecesaria sobre los sistemas de archivos temporales llamados tmpfs
, que podés excluir añadiendo -x tmpfs
:
df -h -x tmpfs
Output Filesystem Size Used Avail Use% Mounted on /dev/vda1 20G 1.3G 18G 7% / /dev/sda1 99G 60M 94G 1% /mnt/data
También podés comprobar que el disco está montado con capacidades de lectura y escritura escribiendo en un archivo de prueba:
echo "success" | sudo tee /mnt/data/test_file
Lee el archivo nuevamente solo para asegurarte de que la escritura se ejecutó correctamente:
cat /mnt/data/test_file
Output success
Podés eliminar el archivo después de verificar que el nuevo sistema de archivos funciona correctamente:
sudo rm /mnt/data/test_file
Video
Para una guía visual paso a paso, asegúrate de ver nuestro video tutorial en el canal de Apuntes IT en YouTube. El video proporciona una referencia visual para complementar este artículo y garantizar que puedas particionar y formatear discos en tu VPS sin problemas.
Conclusión
Ahora que ya sabe como particionar y formatear discos, tu nueva unidad debería estar particionada, formateada, montada y lista para usar. Este es el proceso general que podés 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.
Trabajando desde el año 1990 en el mercado de la tecnología. Técnico en Electrónica. Administrador de Sistemas. Administrador de Redes. Técnico en telecomunicaciones. Técnico de plataforma satelital. Incursiono en el Software Libre desde mediados del 1997. Desde entonces utilicé varias distribuciones GNU/Linux comenzando con un RedHat 5.0
Formé parte del Core Team y miembro del grupo de desarrollo del Proyecto UTUTO.