Particiones y sistemas de archivos en Linux – Introducción

Las particiones y los sistemas de archivos son uno de esos términos con los que todos los que están familiarizados con la informática se han encontrado en algún momento de sus vidas. Ya sea en el contexto de crear una partición de intercambio al instalar un sistema Linux, confundirse entre MBR y GPT o simplemente formatear su pen drive en FAT32 o NFTS. Hoy aprenderemos en profundidad sobre estos dos conceptos de gestión de datos.

Tabla de contenido

¿Qué es una partición en Linux?

Una partición es un segmento de un dispositivo de almacenamiento que se ha separado lógicamente del resto del dispositivo. Todas las particiones se pueden administrar como si fueran dispositivos de almacenamiento separados. Para almacenar datos en un dispositivo, debe tener al menos 1 partición en el dispositivo.

Tener múltiples particiones en el dispositivo ayuda a que el dispositivo almacene datos de manera más eficiente. Este ya no es el caso con los sistemas de archivos y dispositivos de almacenamiento modernos. Una buena analogía podría ser que un dispositivo de almacenamiento es similar a un terreno vacío. Y para almacenar sus artículos en esa parcela de tierra vacía, necesita construir habitaciones, también conocidas como particiones.

¿Qué son las tablas de particiones?

Ahora que hemos creado algunas particiones, ¿cómo almacenamos la ubicación y el tamaño de cada partición?

Aquí es donde entra en juego la tabla de particiones. Las tablas de partición almacenan los metadatos de cada partición, es decir, la posición inicial, la posición final, el tamaño, etc.

Hay dos tipos principales de tablas de particiones utilizadas en diferentes sistemas operativos, MBR (más antiguo) y GPT (más nuevo).

Tablas de particiónMáximo de particiones primariasTamaño máximo para cada particiónSeguridadSoporte del sistema operativo
Registro de arranque maestro (MBR)42TBNo hay tales características de seguridadAdmite la mayoría de los sistemas operativos modernos
Tabla de particiones de Guid (GPT)No hay tal límite18 exabytesMecanismo de suma de comprobación CRC32 para verificar la integridad de los archivosAdmite la mayoría de los sistemas operativos modernos

De la tabla anterior, debería ser obvio por qué se prefiere GPT sobre MBR.

¿Qué es un sistema de archivos en Linux?

Un sistema de archivos es la forma en que administramos los datos en cada partición. Es responsable de indexar, almacenar, recuperar, nombrar los archivos y mantener los metadatos (propietario del archivo, tamaño, permisos, etc.) de los archivos. almacenado en una partición.

Un archivo se mantiene en múltiples sectores continuos, cada sector tiene alrededor de 4096 bytes en los tiempos modernos. El trabajo del sistema de archivos es reconocer qué sectores están listos para usarse, en qué sector se debe almacenar un archivo y qué sector contiene qué archivo. Sin esta organización, sería imposible recuperar ningún archivo porque el sistema no conoce la ubicación (bloque) del archivo.

La forma en que los sistemas de archivos almacenan estos metadatos difiere de un sistema de archivos a otro. Para examplemientras que FAT mantiene una tabla para cada directorio/carpeta, NTFS tiene una tabla maestra de archivos que contiene un registro de metadatos para cada archivo contenido en el sistema de archivos, incluida la tabla misma.

Veamos los principales sistemas de archivos en uso hoy en día:

1. GRASA

FAT o Tabla de asignación de archivos es el primer sistema de archivos desarrollado por Microsoft. Desde que se lanzó originalmente en 1977, ha habido varias versiones, a saber, FAT12, FAT16, FAT32 con un aumento en el tamaño máximo de archivo y tamaño de unidad admitidos.

El tamaño máximo de archivo permitido en FAT32 es de 4 Gb. FAT32 fue el sistema de archivos predeterminado hasta Windows XP, después de lo cual NTFS se hizo cargo. Si bien es muy básico, FAT es compatible con casi todos los dispositivos y sistemas operativos, lo cual es una de las razones por las que no se ha dejado de usar por completo y se puede detectar en la naturaleza.

2. NTFS

New Technology File System es una versión moderna de FAT. Además de admitir tamaños de disco de hasta 16 exabytes (más de 17 mil millones de gigabytes) y tamaños de archivos individuales de 256 TB, también tiene un sistema de diario.

Esto significa aproximadamente que NTFS almacena los registros de todos los cambios realizados en el dispositivo. Esto facilita volver a una versión anterior del sistema de archivos si algo se rompe o falla. (similar al control de versiones de git).

A diferencia de FAT, NTFS también admite permisos de archivos, compresión de archivos y compatibilidad con archivos cifrados.. Así que esta fue una actualización importante sobre FAT32 y cualquier unidad que ejecute Windows hoy debe formatearse en NTFS.

3. exterior/ext2/ext3/ext4

El sistema de archivos extendido o ext se lanzó en 1992 para Linux. Desde entonces hemos tenido tres actualizaciones con ext2 introduciendo atributos de archivo (permisos de archivo) y ext3 introduciendo diario.

ext4 introdujo compatibilidad con versiones anteriores con ext3 y ext2, mayores límites de almacenamiento y algunos ajustes de rendimiento. Este sistema de archivos puede admitir volúmenes con tamaños de hasta 1 exabyte y archivos individuales con tamaños de hasta 16 terabytes.

ext4 también introduce el concepto de asignación retrasada que asigna los sectores al archivo cuando se descargan a la fuerza en el almacenamiento. Esto mejora el rendimiento de la CPU y reduce los sectores defectuosos. Hoy en día, casi todas las distribuciones modernas de Linux usan ext4 como sistema de archivos predeterminado.

4.ZFS

El sistema de archivos Z fue desarrollado originalmente por Sun Microsystems como parte de su sistema operativo Open Solaris, pero luego fue adquirido por Oracle. Más tarde fue portado a FreeBSD y Linux.

ZFS es un sistema de archivos avanzado que admite

  • agrupación de discos (agrupando diferentes dispositivos de almacenamiento para que funcionen como uno solo)
  • Copiar en escrito (copiar datos a un sector diferente antes de sobrescribirlo)
  • Instantáneas (haciendo un seguimiento de todos los cambios de archivo)
  • Verificación de integridad de datos (verificación de sumas de verificación de archivos para verificar si se han dañado o no)
  • y REDADA-Z (Redundancia de datos para hacer más confiable el almacenamiento).

Estas características hacen que ZFS sea muy escalable, confiable y seguro para entornos de producción.

5. Btrfs

El sistema de archivos B-Tree del sistema de archivos Butter fue desarrollado por Oracle como una expansión de ext4. Incluye agrupación de datos, copia en escritura, instantáneas y RAID como ZFS. Aparte de eso también ofrece desfragmentación en línea.

Esto lo hace perfecto tanto para portátiles como para servidores de producción. De hecho, OpenSUSE ha estado utilizando BtrFS como sistema de archivos principal desde 2015.

Conclusión: particiones y sistemas de archivos en Linux

Quizás una buena manera de concluir el artículo sería mostrar un example de la jerarquía partición-sistema de archivos.

Tengo un SSD de 500 GB con tres particiones (Boot, Root y Home) y uso GPT como tabla de particiones.

No tengo ninguna partición de intercambio en este momento. Todas las particiones ejecutan el sistema de archivos ext4; sin embargo, puede cambiar el sistema de archivos como desee.

En un dispositivo de almacenamiento de arranque dual (Windows y Linux), hay varias particiones NTFS para Windows además de estas.

Puede verificar las particiones en cualquiera de sus dispositivos de almacenamiento ejecutando el siguiente comando.

lsblk

Para leer más sobre particiones y sistemas de archivos, puede consultar las siguientes fuentes:

  • Cómo instalar ZFS en Ubuntu: una guía de configuración y uso
  • Sistemas de archivos Ext4 vs Btrfs: ¿cuál debería elegir?
  • ¿Cómo instalar y formatear una partición con Btrfs en Ubuntu?
  • Preguntas frecuentes sobre ext4

¡Gracias!

Related Posts