LPIC-1 Tema 104.1: crear particiones y sistemas de archivos

Pasamos al bloque temático 104 de las certificaciones LPIC-1. Este bloque está destinado a la gestión de dispositivos, sistemas de archivos (FS), y la jerarquía FHS. Concretamente, en el tema 104.1 se dedica a la creación de particiones y de sistemas de archivos. Es decir, los candidatos deberían ser capaces de configurar las particiones del medio de almacenamiento y crear los FS en cualquier tipo de medio. Eso incluye también el espacio de intercambio SWAP.

Si lo recuerdas, ya se vio algo de esto en el tema 102.1, donde expliqué cómo formatear con algunas herramientas básicas, cómo crear las particiones SWAP, montar y desmontar dispositivos, y sobre fstab. Ese mismo tema lo dividí en otro artículo más donde separé todo lo referente al diseño del espacio de particionamiento en Linux. Por tanto, ya tienes bastante base adelantada para lo que se busca con este 104.1.

¿Entonces? ¿Qué habrá de novedoso en este artículo? Pues básicamente voy a agregar la gestión de tablas de particiones MBR/GPT haciendo uso de herramientas como gdisk y parted, así como algunas características básicas del sistema de archivos btrfs, como multi-device, compresión y subvolúmenes.

parted

Con parted se pueden manipular las tablas de particiones de los medios de almacneamiento (SD, pendrive, discos duros,…). A diferencia de fdisk que se centra en las MBR, con parted se puede trabajar con MBR y también con las modernas GPT.

#Consultar las tablas de un dispositivo. Por ejemplo /dev/sda
sudo parted -s /dev/sda unit mib print

#Para crear una tabla de particiones en /dev/sdx de tipo MBR
parted -s /dev/sdx mklabel msdos

#Para crear una tabla de particiones GPT
parted -s /dev/sdX mklabel gpt

Pero parted también va más allá y permite crear particiones al igual que otras herramientas como mkfs que ya analizamos en los temas 102.1. Para esta tarea, puedes seguir este esquema:

parted -s /dev/sdX unit XXX mkpart XXXX start end

Siendo:

  • /dev/sdX: el nombre del medio en el que se quiere generar la partición.
  • unit XXX: puede ser una unidad como unit MB (Megabytes), unit MiB (MebiBytes), unit GB (Gigabytes),…
  • mkpart XXXX: el tipo de partición. Recuerda que había primary, extended y logical.
  • start end: indica el punto de inicio y el de fin donde comienza y termina la partición en dicho medio de almacenamiento. Por este motivo se indica la unidad. Aunque también puedes indicar directamente 100% si la partición va a ocupar todo el dispositivo.

Además, también puedes activar o desactivar flags de las particiones ya creadas:

parted -s /dev/sdX set partition-number flag on/off

Siendo:

  • /dev/sdX: el medio.
  • set: para indicar que se va a configurar una bandera.
  • partition-number: el número de partición de ese medio.
  • flag: se puede sustituir por la bandera que quieras activar o desactivar.
    • GPT flags:
      • bios_grub: para partición BIOS boot.
      • legacy_boot: para marcar como partición arrancable.
      • msftdata: partición con un sistema de archivos NTFS o FAT.
      • msftres: identifica para una partición Microsoft Reserved.
    • MBR flags:
      • boot: para la partición arrancable.
      • hidden: para la partición oculta para sistemas operativos Microsot.
      • raid: para marcar la partición como miembro de un RAID (por software).
      • lvm: para marcarla como miembro de un LVM.
  • on/off: para activar o desactivar respectivamente.

Por ejemplo:

#Crear una partición en todo el medio completo
parted -s /dev/sdb unit mib mkpart primary 1 100%

#Una vez creada puedes modificar las banderas
parted -s /dev/sda set 2 lvm on

gdisk

La herramienta gdisk es similar a fdisk pero para GPT en este caso. Incluso se puede convertir una tabla de un tipo a otro. Por ejemplo:

#Consultar información 
gdisk -l /dev/sda

Para crear una tabla en un medio, puedes ejecutar la orden siguiente y usar ? para ver la ayuda. Te mostrará un menú con la letra que debes introducir y la acción a la que corresponde. Por ejemplo, d para eliminar partición, w para escribir cambios y salir, o para crear, n para nueva partición, p para mostrar la información de la tabla actual, etc. Es decir, muy similar a fdisk si lo recuerdas. Por ejemplo:

#Crear una tabla o modificarla mediante el menú interactivo
gdisk /dev/sdx

#Para convertir MBR a GPT puedes usar las teclas
w
y

#Para convertir GTP a MBR puedes usar las teclas
r
g

#Y para ver la información actual
p

btrfs (básico)

Ya sabes que btrfs ha llegado como un nuevo FS con algunas características interesantes. Al igual que ZFS hace uso extensivo de copy-on-write, permite snapshots de solo lectura o modificables, soporte nativo para multidispositivo, compresión, y para subvolúmenes. Además, se protege a los datos mediante checksums. Resulta muy eficiente para ficheros pequeños y grandes, a diferencia de otros FS que trabajan bien con uno o con otros, pero no con ambos. Funciona también bien en discos SSD. Por eso ha cobrado tanto protagonismo.

Vamos a las características básicas como el soporte para multidispositivo. Con ello se puede agregar varios medios de almacenamiento a un solo agregado, como lo que ocurre con LVM o con RAID 0. Es decir, sumas capacidad en una mismo espacio.

#Crear una partición btrfs en un medio
mkfs.btrfs /dev/sda

#Usar la función multidispositivo para agrupar varios
mkfs.btrfs /dev/sdc /dev/sdd

En cuanto a la compresión, se puede activar de forma transparente en un btrfs. Eso quiere decir que en la partición donde se ha activado, los bloques se comprimen (gzip o lzo) antes de escribirse y se descomprimen de manera automática cuando se van a leer. Eso ahorrará espacio en disco a cambio de incrementar un poco la carga de la CPU para realizar las compresiones y descompresiones al vuelo mientras se trabaja.

Aunque se comprima, cuando se consulta el tamaño de los ficheros con las herramientas del sistema, se mostrará el espacio real y no el espacio comprimido. Eso facilita a los administradores de sistemas a saber cuál es el tamaño verdadero.

#Activar la compresión al crear el FS
mkfs.btrfs -o compress /dev/sda

#Elegir un algoritmo de compresión concreto
mkfs.btrfs -o compress=zlib /dev/sda

Por último, en cuanto a los subvolúmenes, es similar a un sistema de ficheros contenido en el anfitrión. Como mínimo tiene un subvolumen (por defecto), pero pueden crearse más. Aunque actualmente comparten la configuración RAID del FS al que pertenece un subvolumen, están configurados para que en un futuro se pueda implementar de forma independiente. Por cierto, desde el punto de vista del FS, un subvolumen se puede ver como si fuese un directorio.

#Para crear un subvolumen puedes usar
btrfs subvolume create /mnt/btrfs1/subvolumen1
btrfs subvolume create /mnt/btrfs1/subvolumen2
btrfs subvolume create /mnt/btrfs1/subvolumenN

Es decir, un subvolumen tiene semejanzas a LVM. Las diferencias son:

  • El subvolumen tiene la capacidad del FS al que pertenece. En cambio, en LVM el volumen lógico tiene una capacidad que se ha reservado para él dentro del grupo de volumenes al que pertenece.
  • A diferencia de LVM, en una instantánea de un subvolumen sí se puede gestionar de forma más flexible al ser idéntico. Es decir, una vez creada no hay original e instantánea.

Isaac

Apasionado de la computación y la tecnología en general. Siempre intentando desaprender para apreHender.

Deja un comentario

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

A %d blogueros les gusta esto:

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar