Esta pagina se ve mejor con JavaScript habilitado

Concatenación de discos en FreeBSD con GEOM

 ·  🎃 kr0m

En FreeBSD se pueden utilizar varios sistemas de ficheros pero los mas utilizados son ZFS y UFS, este último puede resultar interesantes en escenarios donde no se requieran funcionalidades avanzadas y no se disponga de mucha RAM, en este caso se trata de un servidor de descargas con 16 Gb de RAM.

Una de las ventajas de usar ZFS es que viene integrado el gestor de discos/volúmenes/FS en una sola herramienta unificada, mientras que en UFS tendremos que combinar varias, por ejemplo para concatenar varios discos debemos utilizar GEOM y UFS como sistema de ficheros.

Consultamos los discos disponibles en el sistema:

camcontrol devlist

<WDC WDS500G1B0A-00H9H0 X41100WD>  at scbus0 target 0 lun 0 (pass0,ada0)
<Samsung SSD 850 EVO 500GB EMT02B6Q>  at scbus1 target 0 lun 0 (pass1,ada1)
<TOSHIBA MD04ACA400 FP2A>          at scbus2 target 0 lun 0 (pass2,ada2)
<ST8000AS0002-1NA17Z AR13>         at scbus3 target 0 lun 0 (pass3,ada3)
<AHCI SGPIO Enclosure 2.00 0001>   at scbus6 target 0 lun 0 (pass4,ses0)
<HP iLO LUN 00 Media 0 2.09>       at scbus7 target 0 lun 0 (da0,pass5)

Vamos a utilizar ada2 y ada3 así que borramos los discos durante un buen rato(yo lo dejé 1h) para asegurarnos de que no quede configuración previa de algún sistema de ficheros o esquema de particiones:

dd if=/dev/zero of=/dev/ada2 bs=10m
dd if=/dev/zero of=/dev/ada3 bs=10m

Hay que dejar claro que GEOM también soporta “Stripe” pero este es un raid0, o sea repartir los datos por igual entre los discos, por lo tanto todos los discos deben de ser del mismo tamaño, lo comento porque puede inducir a error.

En mi caso voy a utilizat “Concat” , cargamos el módulo:

kldload geom_concat
echo 'geom_concat_load="YES"' >> /boot/loader.conf

Creamos el dispositivo concat con el label torrents:

gconcat label -v torrents /dev/ada2 /dev/ada3

Podemos consultar el estado, como vemos nos ha unido el disco de 4T con el de 8T formando uno de 11T:

gconcat list

Geom name: torrents
State: UP
Status: Total=2, Online=2
Type: AUTOMATIC
ID: 2044152479
Providers:
1. Name: concat/torrents
   Mediasize: 12002350251008 (11T)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r0w0e0
Consumers:
1. Name: ada2
   Mediasize: 4000787030016 (3.6T)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r0w0e0
   Start: 0
   End: 4000787029504
2. Name: ada3
   Mediasize: 8001563222016 (7.3T)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r0w0e0
   Start: 4000787029504
   End: 12002350251008

Creamos el sistema de ficheros sobre el nuevo dispositivo:

newfs /dev/concat/torrents

Montamos el dispositivo:

mkdir /mnt/torrents
mount /dev/concat/torrents /mnt/torrents

Creamos la entrada asociada en el fstab:

echo “/dev/concat/torrents /mnt/torrents ufs rw 2 2” » /etc/fstab

Comprobamos que todo esté en orden:

df -Th /mnt/torrents/

Filesystem            Type    Size    Used   Avail Capacity  Mounted on
/dev/concat/torrents  ufs      11T    1,0K     11T     0%    /mnt/torrents
Si te ha gustado el artículo puedes invitarme a un RedBull aquí