Configuración del almacenamiento local
Particiones, LVM y montaje persistente de sistemas de archivos
1. Listar, crear y eliminar particiones GPT
Antes de poder utilizar un disco debemos crear particiones. El estándar actual es GPT, que sustituye a MBR, aunque este se sigue usando.
Las diferencias principales entre MBR y GPT son que MBR está limitado a 2TB y 4 particiones, mientras que GPT permite discos más grandes, particiones casi ilimitadas y mayor recuperación de datos.
Para listar los discos o particiones que tenemos podemos usar los siguientes comandos, que cualquiera es valido para hacer comprobaciones :
- lsblk → Vista clara de discos y particiones.
- blkid → UUID y tipo de filesystem.
- parted -l → Información de tabla GPT/MBR.
- fdisk -l → Información técnica detallada.
- df -h → Espacio usado en sistemas montados.
Las particiones pueden gestionarse con fdisk, gdisk o parted (recomendado en Red Hat). Tras modificar particiones ejecutamos partprobe para actualizar el kernel.
Una vez listados los discos, podemos crear o eliminar particiones usando fdisk, gdisk o parted. Tened en cuenta que gdisk funciona practicamente igual que fdisk.
Para usar fdisk ejecutamos fdisk /dev/sdX (el disco se obtiene con fdisk -l) y desde el menú interactivo podemos crear o borrar particiones.
Con n creamos particiones, con d las eliminamos y con t cambiamos su tipo.
Por otro lado, podemos utilizar parted que. Escribiendo help vemos todas las opciones. Por ejemplo vamos a crear varias particiones :
Primero creamos la tabla de particiones GPT, después la partición y, si es necesario, le asignamos el tipo. Recuerda que el inicio de la primera partición es 1MiB.
Al salir de parted es necesario ejecutar partprobe -s para que el sistema detecte los cambios. Luego podemos comprobar las particiones con comandos como lsblk.
Por ultimo, aunque no muy relevante pero si podría salir en el examen, existen unas etiquetas INTERNAS de las tablas de GPT. Podemos asignarlas con el comando parted disco name 1(partición) "NOMBRE". No confundir estas etiquetas con las etiquetas de las particiones que veremos despues.
2. Crear y eliminar volúmenes físicos (PV)
LVM organiza el almacenamiento en tres capas: PV → VG → LV. Un volumen físico es una partición o disco preparado para LVM.
Por ejemplo, vamos a crear dos PV, borrar uno y comprobar(pvs o pvdisplay para más información) :
Es importante que la partición tenga tipo LVM antes de crear el PV.
3. Crear y gestionar grupos de volúmenes (VG)
Un Volume Group combina varios PV creando un espacio de almacenamiento común.
En los VG entra el concepto de PE que es la unidad basica de almacenamiento en LVM. Nosotros asignamos X tamaño pero internamente LVM utilizará los PE. Por defecto son 4MB, entonces si por ejemplo tenemos 10GB, LVM usará 2560PE (10GIB / 4MB)
Vemos com hemos creado, extendido, reducido y borrado VG, así como comprobado con vgs o vgdisplay. Por ultimo, podriamos activar o desactivar con vgchange -ay/-an nombre-VG, siendo -ay para activar y -an para desactivar
4. Crear y administrar volúmenes lógicos (LV)
Los volúmenes lógicos son los dispositivos finales que se formatean y montan en el sistema.
Para crear un volumen lógico (LV) podemos indicar el tamaño en gigabytes con -L o usando extensiones físicas (PE) con -l y le daremos un nombre con -n. Por ejemplo:
Una vez creados, podemos extender, reducir, borrar... Pero primeramente vamos a darle un formato y montandolos en el sistema para identificarlos. Recordar comprobar con lsblk, df -Th, lvs ...
Una vez formateados y montados, ya podriamos extender y reducir, aunque para reducir deben estan DESMONTADOS. Al extender, si añadimos -r se extenderá automaticamente. En caso de que no lo añadamos, tendriamos que ejecutar resize2fs (para ext4) o xfs_growfs (para XFS)
Importante mencionar que extender podemos con todos los filesystem pero REDUCIR no es posible con algunos como xfs y cuando reducimos indicamos el tamaño final que queremos. Tambien podriamos extender usando % de espacio libre con lvextend -r -l +50%FREE particion.
5. Montar sistemas de archivos usando UUID o LABEL
El montaje persistente se configura en /etc/fstab. Se recomienda usar UUID o LABEL para evitar problemas si cambia el nombre del dispositivo.
En cuanto las LABEL(etiquetas) podemos asignarlas de diferentes maneras
mkfs.ext4 -L NOMBRE DISCO→ Crear filesystem con etiqueta. Es la más recomendadatune2fs -L→ Cambiar etiqueta en EXT.swaplabel -L→ Etiquetar SWAP.blkid→ Obtener UUID.
La sintaxis para montar un sistema de archivos de forma automatica al arrancar el sistema es : [dispositivo] [montaje] [fs] [opciones] [dump] [pass] (donde dump es siempre 0 y pass(verificar un filesystem al arrancar) suele ser 0 (no verificar) o 2 (verificar en segundo lugar). Las opciones, si no dicen lo contrario, usar defaults
Tras modificarlo, lanzamos mount -a y systemctl daemon-reload y .
6. Cambios no destructivos y configuración SWAP
Los cambios no destructivos consisten en ampliar almacenamiento sin perder datos mediante vgextend y lvextend -r. Reducir incorrectamente puede provocar pérdida de información.
Uno de los mayores errores que hace que sea destructivo es una vez hemos extendido o reducido, formatear el disco mkfs, ya que borraría todos los datos. El otro error sería borrar la tabla de particiones o la partición con fdisk o parted.
El SWAP es una zona del disco duro que el sistema utiliza como "memoria RAM de emergencia" cuando la principal se queda sin espacio. Teniamos creada la primera partición como swap en el punto 1. Para formatearla deberiamos de :
Hemos creado la partición SWAP, le hemos dado formato y la hemos activo. Por ultimo, añadiendola a /etc/fstab la hacemos persistente. Tambien podríamos crear SWAP a traves de archivo aunque dudo mucho que salga en el examen. En caso de sería :
fallocate -l 1G /swapfile #FORMA RAPIDA
dd if=/dev/zero of=/swapfile bs=1M count=1024 # FORMA LENTA
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo "/swapfile swap swap defaults 0 0" >> /etc/fstab