Introducción
Preparar un nuevo disco para su uso en un sistema Linux es un proceso sencillo. Existen numerosas herramientas, formatos de sistema de archivos y esquemas de particionamiento que pueden modificar el proceso si tiene necesidades específicas, pero los fundamentos siguen siendo los mismos.
Esta guía cubrirá el siguiente proceso:
- Identificar el 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 de Linux modernas)
- Montaje y configuración Montaje automático del sistema de archivos durante el arranque
Paso 1 — Instalar Parted
Para particionar la unidad, usará la parted
utilidad. La mayoría de los comandos necesarios para interactuar con un sistema de archivos de bajo nivel están disponibles por defecto en Linux. parted
, que crea particiones, es una de las pocas excepciones ocasionales.
Si estás en un servidor Ubuntu o Debian y no lo tienes parted
instalado, puedes instalarlo escribiendo:
sudo apt update
sudo apt install parted
Si está en un servidor RHEL, Rocky Linux o Fedora, puede 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, debe poder identificarla correctamente en el servidor.
Si se trata de una unidad completamente nueva, una forma de identificarla en el servidor es verificar si no tiene un esquema de particionamiento. Si solicita parted
la lista de la distribución de particiones de sus discos, se generará un error para los discos que no tengan un esquema de particionamiento válido. Esto puede ayudar a identificar el nuevo disco:
sudo parted -l | grep Error
Debería ver un unrecognized disk label
error para el nuevo disco sin particionar:
OutputError: /dev/sda: unrecognized disk label
También puede utilizar el lsblk
comando y buscar un disco del tamaño correcto que no tenga particiones asociadas:
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 /
Nota: Recuerde verificar lsblk
cada vez que se reconecte 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 usar identificadores de disco más persistentes como /dev/disk/by-uuid
, /dev/disk/by-label
o /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: Particionar 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.
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 mayor compatibilidad con 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ó parted
con mklabel gpt
:
sudo parted /dev/sda mklabel gpt
Para utilizar el formato MBR, utilice mklabel msdos
:
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 usando parted -a
:
sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%
Puedes 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, arrancable, 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:
lsblk
OutputNAME 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 /
Ya ha creado una nueva partición, pero aún no se ha inicializado como sistema de archivos. La diferencia entre estos dos pasos es algo arbitraria y exclusiva del funcionamiento de 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 más sencilla para un volumen Linux único e independiente. Windows usa sistemas de archivos como NTFS y exFAT , pero tienen compatibilidad limitada con 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 existen sistemas de archivos Linux más nuevos que Ext4, como ZFS y BTRFS , pero estos imponen requisitos diferentes y, por lo general, son más adecuados para matrices de varios discos.
Para inicializar un sistema de archivos Ext4, use la mkfs.ext4
utilidad. Puede agregar una etiqueta de partición con la -L
bandera. Seleccione un nombre que le ayude a identificar esta unidad en particular:
Nota: Asegúrate de proporcionar la ruta de la partición y no del disco completo. En Linux, los discos tienen nombres como sda
, sdb
, hda
, etc. Las particiones de estos discos tienen un número al final. Por lo tanto, deberías usar algo como sda1
, no sda
.
sudo mkfs.ext4 -L datapartition /dev/sda1
Si desea cambiar la etiqueta de la partición más adelante, puede utilizar el e2label
comando:
sudo e2label /dev/sda1 newlabel
Puedes ver todas las diferentes maneras de identificar tu partición con [nombre] 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 --fs
argumento:
sudo lsblk --fs
También puede especificarlos manualmente lsblk -o
seguido de las opciones pertinentes:
sudo lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT
Debería obtener un resultado como este. El resultado resaltado indica los diferentes métodos que puede usar para hacer referencia al nuevo sistema de archivos:
OutputNAME FSTYPE LABEL UUID MOUNTPOINT
sda
└─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 usar el /mnt
directorio o un subdirectorio bajo él para sistemas de archivos montados temporalmente (como unidades extraíbles). No recomienda dónde montar el almacenamiento más permanente, así que puede elegir el esquema que prefiera. En este tutorial, montará la unidad bajo /mnt/data
.
Crea ese directorio usando mkdir
:
sudo mkdir -p /mnt/data
Montaje temporal del sistema de archivos
Puede montar el sistema de archivos temporalmente escribiendo:
sudo mount -o defaults /dev/sda1 /mnt/data
Montar el sistema de archivos automáticamente durante el arranque
Para montar el sistema de archivos automáticamente cada vez que se inicia el servidor, deberá agregar una entrada al /etc/fstab
archivo. Este archivo contiene información sobre todos los discos permanentes o montados habitualmente en su sistema. Abra el archivo con nano
su editor de texto favorito:
sudo nano /etc/fstab
En el último paso, usó el sudo lsblk --fs
comando para mostrar los identificadores de su sistema de archivos. Puede usar cualquiera de ellos en este archivo. Este ejemplo usa la etiqueta de partición , pero puede ver cómo se verían las líneas usando 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 LABEL=datapartition
elemento, 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 como2
prioridad, después de su volumen raíz.
Nota: puede obtener información sobre los distintos campos del /etc/fstab
archivo 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 al terminar. Si usa nano
, presione Ctrl+X
, luego, cuando se le solicite confirmar, Y
y luego Enter
.
Si no montó el sistema de archivos anteriormente, ahora puede montarlo con mount -a
:
sudo mount -a
Probando el montaje
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 df
comando. A veces, df
se incluirá información innecesaria sobre los sistemas de archivos temporales llamados tmpfs
en df
la salida, que puede excluir añadiendo -x tmpfs
:
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:
echo "success" | sudo tee /mnt/data/test_file
Vuelva a leer el archivo solo para asegurarse de que la escritura se ejecutó correctamente:
cat /mnt/data/test_file
Outputsuccess
Puede eliminar el archivo después de verificar que el nuevo sistema de archivos funciona correctamente:
sudo rm /mnt/data/test_file
Conclusión
Su nueva unidad debería estar ahora particionado, formateado, montado y listo para usar. Este es el proceso general que puede usar para convertir un disco sin formato en un sistema de archivos que Linux pueda usar 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 uso general.
A continuación, es posible que desee aprender a usar SSHFS para montar volúmenes remotos a través de SSH .