- Crea un escenario que incluya una máquina y varios discos asociados a ella.
- Instala si es necesario el software de ZFS/Btrfs
- Gestiona los discos adicionales con ZFS/Btrfs
- Configura los discos en RAID, haciendo pruebas de fallo de algún disco y sustitución, restauración del RAID. Comenta ventajas e inconvenientes respecto al uso de RAID software con mdadm
- Realiza ejercicios con pruebas de funcionamiento de las principales funcionalidades: compresión, cow, deduplicación, cifrado, etc.
Vamos a ver y realizar el uso del sistema de ficheros BTRFS. Este sistema de ficheros junto a ZFS es bastante completo y tiene muchas funcionalidades que vamos a ir viendo más adelante.
Lo primero que vamos a crear es la máquina de trabajo.
Vamos a crear una máquina Debian con tres discos asociados a ella.
Los discos serán de 1GB, 2GB y de 3GB.
Vagranfile:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Vagrant.configure("2") do |config|
disco1='.vagrant/disco01.vdi'
disco2='.vagrant/disco02.vdi'
disco3='.vagrant/disco03.vdi'
config.vm.define :btrfs do |btrfs|
btrfs.vm.box = "debian/buster64"
btrfs.vm.hostname = "btrfs"
btrfs.vm.provider :virtualbox do |v|
v.customize ["createhd", "--filename", disco1, "--size", 1024]
v.customize ["storageattach", :id, "--storagectl", "SATA Controller",
"--port", 1, "--device", 0, "--type", "hdd",
"--medium", disco1]
v.customize ["createhd", "--filename", disco2, "--size", 2048]
v.customize ["storageattach", :id, "--storagectl", "SATA Controller",
"--port", 2, "--device", 0, "--type", "hdd",
"--medium", disco2]
v.customize ["createhd", "--filename", disco3, "--size", 3072]
v.customize ["storageattach", :id, "--storagectl", "SATA Controller",
"--port", 3, "--device", 0, "--type", "hdd",
"--medium", disco3]
end
end
end
Gestión de discos adicionales
A diferencia de ZFS, podemos instalar dicho sistema a través de los repositorios de debian.
Primero tenemos que instalar btrfs:
1
root@btrfs:~# apt install btrfs-tools
Vamos a formatear los discos con Btrfs:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
root@btrfs:~# mkfs.btrfs /dev/sdc
btrfs-progs v4.20.1
See http://btrfs.wiki.kernel.org for more information.
Label: (null)
UUID: 6dcf0480-3dbd-4497-b4b8-658ca3509c99
Node size: 16384
Sector size: 4096
Filesystem size: 2.00GiB
Block group profiles:
Data: single 8.00MiB
Metadata: DUP 102.38MiB
System: DUP 8.00MiB
SSD detected: no
Incompat features: extref, skinny-metadata
Number of devices: 1
Devices:
ID SIZE PATH
1 2.00GiB /dev/sdc
Para montar un disco haremos lo siguiente: Montamos el disco /dev/sdb, este disco tendrá que estar formateado como hemos realizado anteriormente.
1
root@btrfs:~# mount /dev/sdb /mnt
Para ver la salida del disco que hemos montado pondremos lo siguiente: Donde pondremos la ruta de montaje del disco.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
root@btrfs:~# btrfs fi usage /mnt
Overall:
Device size: 1.00GiB
Device allocated: 126.38MiB
Device unallocated: 897.62MiB
Device missing: 0.00B
Used: 256.00KiB
Free (estimated): 905.62MiB (min: 456.81MiB)
Data ratio: 1.00
Metadata ratio: 2.00
Global reserve: 16.00MiB (used: 0.00B)
Data,single: Size:8.00MiB, Used:0.00B
/dev/sdb 8.00MiB
Metadata,DUP: Size:51.19MiB, Used:112.00KiB
/dev/sdb 102.38MiB
System,DUP: Size:8.00MiB, Used:16.00KiB
/dev/sdb 16.00MiB
Unallocated:
/dev/sdb 897.62MiB
Vamos añadir un nuevo disco a dicha ruta de montaje (/mnt): La opción -f es necesaria ya que dicho disco ya tiene Btrfs. Con este parámetro forzamos la acción para que se pueda añadir el disco. Ahora aumentará el tamaño disponible de la ruta /mnt
1
root@btrfs:~# btrfs device add -f /dev/sdc /mnt
Vemos la salida de la ruta de montaje:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
root@btrfs:~# btrfs fi usage /mnt
Overall:
Device size: 3.00GiB
Device allocated: 126.38MiB
Device unallocated: 2.88GiB
Device missing: 0.00B
Used: 256.00KiB
Free (estimated): 2.88GiB (min: 1.45GiB)
Data ratio: 1.00
Metadata ratio: 2.00
Global reserve: 16.00MiB (used: 0.00B)
Data,single: Size:8.00MiB, Used:0.00B
/dev/sdb 8.00MiB
Metadata,DUP: Size:51.19MiB, Used:112.00KiB
/dev/sdb 102.38MiB
System,DUP: Size:8.00MiB, Used:16.00KiB
/dev/sdb 16.00MiB
Unallocated:
/dev/sdb 897.62MiB
/dev/sdc 2.00GiB
Como podemos observar ya está añadido el segundo disco a la ruta de montaje.
1
2
/dev/sdb 897.62MiB
/dev/sdc 2.00GiB
Vamos a crear un fichero de pruebas de 2GB, dentro de /mnt para probar el espacio de dicha rut de montaje.
1
root@btrfs:~# fallocate -l 2G /mnt/prueba
Ahora ya estaría el disco /dev/sdb con un tamaño de 3GB.
Se puede ver con el siguiente comando:
1
2
3
4
5
6
7
8
9
10
root@btrfs:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 228M 0 228M 0% /dev
tmpfs 49M 3.3M 46M 7% /run
/dev/sda1 19G 1.1G 17G 6% /
tmpfs 242M 0 242M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 242M 0 242M 0% /sys/fs/cgroup
tmpfs 49M 0 49M 0% /run/user/1000
/dev/sdb 3.0G 2.1G 904M 70% /mnt
Podemos ver que de un disco de 3GB tenemos usado 2.1GB y nos quedaría libres 904MiB
Si queremos quitar alguno de estos, de dicha ruta en este caso, /mnt solamente tendremos que ejecutar el siguiente comando
1
root@btrfs:~# btrfs device del /dev/sdc /mnt
Si volvemos a poner el comando btrfs fi usage /mnt podremos apreciar que este disco que hemos quitado ya no forma parte del almacenamiento.
RAID
Crear RAID 1:
1
2
3
4
5
6
root@btrfs:~# btrfs balance start -v -mconvert=raid1 -dconvert=raid1 /mnt
Dumping filters: flags 0x7, state 0x0, force is off
DATA (flags 0x100): converting, target=16, soft is off
METADATA (flags 0x100): converting, target=16, soft is off
SYSTEM (flags 0x100): converting, target=16, soft is off
Done, had to relocate 3 out of 3 chunks
El siguiente comando nos muestra la salida para ver si disponemos de un RAID
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
root@btrfs:~# btrfs fi df /mnt
Data, RAID1: total=320.00MiB, used=128.00KiB
System, RAID1: total=32.00MiB, used=16.00KiB
Metadata, RAID1: total=256.00MiB, used=112.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B
root@btrfs:~# btrfs fi usage /mnt
Overall:
Device size: 3.00GiB
Device allocated: 1.19GiB
Device unallocated: 1.81GiB
Device missing: 0.00B
Used: 512.00KiB
Free (estimated): 1.22GiB (min: 1.22GiB)
Data ratio: 2.00
Metadata ratio: 2.00
Global reserve: 16.00MiB (used: 0.00B)
Data,RAID1: Size:320.00MiB, Used:128.00KiB
/dev/sdb 320.00MiB
/dev/sdc 320.00MiB
Metadata,RAID1: Size:256.00MiB, Used:112.00KiB
/dev/sdb 256.00MiB
/dev/sdc 256.00MiB
System,RAID1: Size:32.00MiB, Used:16.00KiB
/dev/sdb 32.00MiB
/dev/sdc 32.00MiB
Unallocated:
/dev/sdb 416.00MiB
/dev/sdc 1.41GiB
En el caso de querer otro disco en el RAID pondremos lo siguiente:
1
root@btrfs:~# btrfs device add -f /dev/sdd /mnt
En el caso de querer volver al normal pondremos lo siguiente:
1
root@btrfs:~# btrfs balance start -dconvert=single -mconvert=raid1 /mnt
Restauración del RAID
Vamos a ver la manera de restaurar el RAID 1 que hemos montado. En el caso de que falle algun disco lo pondremos en modo degraded:
1
root@btrfs:~# mount -o degraded /dev/sdb /mnt
A continuación, y una vez que tengamos el siguiente disco listo pondremos el siguiente comando para sustituir el anterior:
Aquí podremos configurar la información que va a obtener del anterior disco, en el caso de no querer pondremos la opción (-r).
1
root@btrfs:~# btrfs replace start /dev/sdb /dev/sdd /mnt
De esta manera hemos sutituido el disco dañado (/dev/sdb) por el disco nuevo (/dev/sdd)
Ventajas e inconvenientes respecto al uso de RAID software con mdadm
La principal diferencia es puede crear un RAID 1 con Btrfs con varios discos de diferentes tamaños, incluso con la posibilidad de ampliar discos, mientras que con mdadm es necesario el mismo tamaño en los dos discos.
Una ventaja de RAID con mdadm es que se entiende bien, es estable y tiene un mejor rendimiento
Btrfs tiene una mejor seguridad de los datos.
La forma de añadir el raid es diferente a mdadm.
En conclusión el uso de RAID con Btrfs es más flexible y tiene muchas características útiles que mdadm no tiene y es una mejor opción.
Compresión
Ya que por defecto no usa ningun tipo de compresión, tendremos que indicarle el deseado.
Hay diferentes métodos de compresión: ZLIB, LZO, ZSTD
Pruebas:
- ZLIB
Este método de compresión es capaz de comprimir un gran fichero en poco tamaño.
Montamos con:
1
root@btrfs:~# mount -o compress=zlib /dev/sdb /mnt
Creamos y comprobamos el fichero con:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
root@btrfs:~# dd if=/dev/zero of=/mnt/prueba bs=2048
10838301+0 records in
10838300+0 records out
22196838400 bytes (22 GB, 21 GiB) copied, 102.862 s, 216 MB/s
root@btrfs:~# ls -hal /mnt/prueba
-rw-r--r-- 1 root root 21G Jan 23 09:17 /mnt/prueba
root@btrfs:~# btrfs fi usage /mnt
Overall:
Device size: 1.00GiB
Device allocated: 1023.00MiB
Device unallocated: 1.00MiB
Device missing: 0.00B
Used: 750.12MiB
Free (estimated): 0.00B (min: 0.00B)
Data ratio: 1.00
Metadata ratio: 2.00
Global reserve: 16.00MiB (used: 0.00B)
Data,single: Size:692.00MiB, Used:692.00MiB
/dev/sdb 692.00MiB
Metadata,DUP: Size:157.50MiB, Used:29.05MiB
/dev/sdb 315.00MiB
System,DUP: Size:8.00MiB, Used:16.00KiB
/dev/sdb 16.00MiB
Unallocated:
/dev/sdb 1.00MiB
Vemos que es capaz de comprimir un fichero de 21G en 750.12MiB.
- LZO
Montamos con:
1
root@btrfs:~# mount -o compress=lzo /dev/sdb /mnt
Creamos y comprobamos el fichero con:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
root@btrfs:~# dd if=/dev/zero of=/mnt/prueba bs=2048
dd: error writing '/mnt/prueba': No space left on device
9367395+0 records in
9367394+0 records out
19184422912 bytes (19 GB, 18 GiB) copied, 69.657 s, 275 MB/s
root@btrfs:~# ls -hal /mnt/prueba
-rw-r--r-- 1 root root 18G Jan 23 09:30 /mnt/prueba
root@btrfs:~# btrfs fi usage /mnt
Overall:
Device size: 1.00GiB
Device allocated: 1023.00MiB
Device unallocated: 1.00MiB
Device missing: 0.00B
Used: 751.06MiB
Free (estimated): 0.00B (min: 0.00B)
Data ratio: 1.00
Metadata ratio: 2.00
Global reserve: 16.08MiB (used: 0.00B)
Data,single: Size:692.00MiB, Used:692.00MiB
/dev/sdb 692.00MiB
Metadata,DUP: Size:157.50MiB, Used:29.52MiB
/dev/sdb 315.00MiB
System,DUP: Size:8.00MiB, Used:16.00KiB
/dev/sdb 16.00MiB
Unallocated:
/dev/sdb 1.00MiB
Este método de compresión es menos eficiente que el anterior, ZLIB. Pero sigue dando buenos resultados.
- ZSTD
Por último vamos a ver ZSTD, este método de compresión es parecido a ZLIB. Este método requiere tenerlo activado en el kernel, para su funcionamiento. Estos son las opciones que tenemos que habilitar:
– CONFIG_ZSTD_COMPRESS – CONFIG_ZSTD_DECOMPRESS
Podemos añadir el metodo de compresion de la siguiente manera:
1
Btrfs file-system with -o compress=zstd
Este sistema de compresión es similar a los mencionados anteriormente.
Referencia: https://btrfs.wiki.kernel.org/index.php/Compression
COW
Este sistema de ficheros como dice en el nombre, Copy-on-write (COW), creará una copia del fichero para modificarlo y guardarlo. Dicho sistema, devuelve punteros y en el momento en el que uno de los procesos intenta modificar la copia de la información del recurso, se crea una copia autentica. Estos punteros no ocupa espacio. Vamos a ver un ejemplo:
Vamos a crear un fichero:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
root@btrfs:~# dd if=/dev/zero of=/mnt/prueba bs=2048 count=100k
102400+0 records in
102400+0 records out
209715200 bytes (210 MB, 200 MiB) copied, 0.533322 s, 393 MB/s
root@btrfs:~# btrfs fi usage /mnt
Overall:
Device size: 1.00GiB
Device allocated: 1023.00MiB
Device unallocated: 1.00MiB
Device missing: 0.00B
Used: 832.00KiB
Free (estimated): 691.44MiB (min: 691.44MiB)
Data ratio: 1.00
Metadata ratio: 2.00
Global reserve: 16.00MiB (used: 0.00B)
Tiene un tamaño de 691.44MiB
Copia: Vamos a ponerle la opción reflink para que permita controlar dichas copias
1
2
3
4
5
6
7
8
9
10
11
12
13
root@btrfs:~# cp --reflink=always /mnt/prueba /mnt/pruebacow
root@btrfs:~# btrfs fi usage /mnt
Overall:
Device size: 1.00GiB
Device allocated: 339.00MiB
Device unallocated: 685.00MiB
Device missing: 0.00B
Used: 876.00KiB
Free (estimated): 692.39MiB (min: 349.89MiB)
Data ratio: 1.00
Metadata ratio: 2.00
Global reserve: 16.00MiB (used: 0.00B)
Tiene un tamaño de 692.39MiB Una vez realizada dicha copia, podemos ver el cambio en las copias y que estas no ocupan el espacio en el disco, ya que no se ha modificado.
Deduplicación
Identifica cuándo los datos se han escrito dos veces y combinándolos en una misma extensión del disco, con el objetivo de optimizar al máximo el espacio de almacenamiento utilizado, eliminando copias duplicadas o repetidas de datos.
Referencia: https://btrfs.wiki.kernel.org/index.php/Deduplication
Balance
Se puede hacer que el peso del fichero no quede en un solo disco, de esta manera el peso del fichero quedaria repartido entre los discos del directorio montado.
1
2
root@btrfs:~# btrfs fi balance --full-balance /mnt
Done, had to relocate 4 out of 4 chunks
Subvolumen
Vamos a ver el uso de los subvolúmenes
Con el siguiente comando podemos ver como se crean dichos subvolúmenes: También vamos a crear un fichero llamado pruebasub.
1
2
root@btrfs:/mnt# btrfs subvolume create subvolumen
Create subvolume './subvolumen'
root@btrfs:/mnt# touch subvolumen/pruebasub
El subvolumen es un directorio con más funcionalidades que un directorio común.
Podremos cambiar la ruta de montaje en la que está dicho subvolumen.
Primero necesitaremos el identificador y posteriormente ya podremos cambiarlo.
1
2
root@btrfs:/mnt# btrfs subvolume list /mnt
ID 265 gen 182 top level 5 path subvolumen
Con este ID, ya podemos ejecutar el cambio:
1
2
3
4
5
6
root@btrfs:~# mount -o subvolid=265 /dev/sdb /subvol
root@btrfs:~# cd /subvol/
root@btrfs:/subvol# ls -l
total 0
-rw-r--r-- 1 root root 0 Jan 23 09:49 pruebasub
Podremos borrar el subvolumen con:
1
root@btrfs:~# btrfs subvolume delete /mnt/subvolumen/
Snapshots
Vamos a realizar una snapshot, una copia instantanea del estado del sistema.
Voy a crear un escenario de 2 subvolúmenes, este primero con un par de ficheros con un tamaño especifico. para el ejemplo.
Creación de los subvolúmenes:
1
2
3
4
5
root@btrfs:/mnt# btrfs subvolume create subvolumen1
Create subvolume './subvolumen1'
root@btrfs:/mnt# btrfs subvolume create subvolumen2
Create subvolume './subvolumen2'
Creamos los dos ficheros del mismo tamaño cada uno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
root@btrfs:/mnt/subvolumen1# dd if=/dev/zero of=archivo1.txt bs=1024 count=209715
209715+0 records in
209715+0 records out
214748160 bytes (215 MB, 205 MiB) copied, 1.058 s, 203 MB/s
205M -rw-r--r-- 1 root root 205M Jan 23 19:14 archivo2.txt
root@btrfs:/mnt/subvolumen1# dd if=/dev/zero of=archivo2.txt bs=1024 count=209715
209715+0 records in
209715+0 records out
214748160 bytes (215 MB, 205 MiB) copied, 0.89513 s, 240 MB/s
root@btrfs:/mnt/subvolumen1# ls -lsh
total 410M
205M -rw-r--r-- 1 root root 205M Jan 23 19:14 archivo1.txt
205M -rw-r--r-- 1 root root 205M Jan 23 19:14 archivo2.txt
1
2
3
4
5
6
7
8
9
10
11
root@btrfs:/mnt/subvolumen1# btrfs fi usage /mnt
Overall:
Device size: 2.00GiB
Device allocated: 644.75MiB
Device unallocated: 1.37GiB
Device missing: 0.00B
Used: 410.97MiB
Free (estimated): 1.38GiB (min: 715.81MiB)
Data ratio: 1.00
Metadata ratio: 2.00
Global reserve: 16.00MiB (used: 0.00B)
Vemos que tiene 410.97MiB
Vamos a realizar un snapshot del subvolumen:
1
2
root@btrfs:/mnt# btrfs subvolume snapshot /mnt/subvolumen1 /mnt/snapshotprueba
Create a snapshot of '/mnt/subvolumen1' in '/mnt/snapshotprueba'
Una vez hemos creado la snapshot vemos su contenido, tiene que ser el mismo que teniamos en el subvolumen ya que este es una copia suya, pero esta snapshot no ocupa espacio en el disco.
1
2
3
4
5
6
7
8
9
10
root@btrfs:/mnt# ls
snapshotprueba subvolumen1 subvolumen2
root@btrfs:/mnt# cd snapshotprueba/
root@btrfs:/mnt/snapshotprueba# ls -lsh
total 410M
205M -rw-r--r-- 1 root root 205M Jan 23 19:14 archivo1.txt
205M -rw-r--r-- 1 root root 205M Jan 23 19:14 archivo2.txt
0 drwxr-xr-x 1 root root 0 Jan 23 19:16 directorioprueba
1
2
3
4
5
6
7
8
9
10
11
root@btrfs:/mnt# btrfs fi usage /mnt
Overall:
Device size: 2.00GiB
Device allocated: 644.75MiB
Device unallocated: 1.37GiB
Device missing: 0.00B
Used: 411.00MiB
Free (estimated): 1.38GiB (min: 715.81MiB)
Data ratio: 1.00
Metadata ratio: 2.00
Global reserve: 16.00MiB (used: 0.00B)
Como hemos comentado antes, esta snapshot no ocupa sitio (tenemos practicamente el mismo espacio 411.00MiB), esto se debe a que la copia ocupará su espacio una vez que los ficheros se modifiquen.
Redimensión de espacio.
A continuación vamos a ver la redimiension del espacio. Vamos a hacer las siguientes pruebas de aumentar o disminuir el espacio del dispositivo btrfs.
Para ver el espacio pondremos lo siguiente:
1
2
3
4
root@btrfs:~# btrfs filesystem show prueba/
Label: none uuid: e9719360-f088-41d5-b6b3-4aa45808856c
Total devices 1 FS bytes used 128.00KiB
devid 1 size 3.00GiB used 331.12MiB path /dev/sdd
Con el siguiente comando podremos disminuir el tamaño
root@btrfs:~# btrfs filesystem resize -1g prueba/ Resize ‘prueba/’ of ‘-1g’
1
2
3
4
root@btrfs:~# btrfs filesystem show prueba/
Label: none uuid: e9719360-f088-41d5-b6b3-4aa45808856c
Total devices 1 FS bytes used 192.00KiB
devid 1 size 2.00GiB used 331.12MiB path /dev/sdd
Como podemos ver en la salida del comando anterior, hemos reducido 1gb al directorio.
Para aumentarlo solamente tendremos que cambiar el signo del comando:
1
2
3
4
5
6
7
root@btrfs:~# btrfs filesystem resize +1g prueba/
Resize 'prueba/' of '+1g'
root@btrfs:~# btrfs filesystem show prueba/
Label: none uuid: e9719360-f088-41d5-b6b3-4aa45808856c
Total devices 1 FS bytes used 192.00KiB
devid 1 size 3.00GiB used 331.12MiB path /dev/sdd
Cifrado
Por último vamos a ver cifrado Instalamos el siguiente paquete:
1
root@btrfs:~# apt install cryptsetup
Vamos a utilizar keyfile:
1
2
3
4
root@btrfs:~# dd if=/dev/urandom of=/root/KeyFile bs=1 count=4096
4096+0 records in
4096+0 records out
4096 bytes (4.1 kB, 4.0 KiB) copied, 0.0143664 s, 285 kB/s
Cambiamos permisos:
1
root@btrfs:~# chmod 0400 /root/KeyFile
Ciframos los discos con:
1
2
3
root@btrfs:~# cryptsetup luksFormat --key-file /root/KeyFile /dev/sdb
root@btrfs:~# cryptsetup luksFormat --key-file /root/KeyFile /dev/sdc
root@btrfs:~# cryptsetup luksFormat --key-file /root/KeyFile /dev/sdd
1
2
3
4
5
6
7
root@btrfs:~# cryptsetup luksFormat --key-file /root/KeyFile /dev/sdb
WARNING!
========
This will overwrite data on /dev/sdb irrevocably.
Are you sure? (Type uppercase yes): YES
Si queremos usar una contraseña:
1
2
3
4
5
6
7
8
9
10
root@btrfs:~# cryptsetup luksFormat /dev/sdb
WARNING: Device /dev/sdb already contains a 'crypto_LUKS' superblock signature.
WARNING!
========
This will overwrite data on /dev/sdb irrevocably.
Are you sure? (Type uppercase yes): YES
Enter passphrase for /dev/sdb:
Verify passphrase:
Para abrir el disco podremos lo siguiente:
1
root@btrfs:~# cryptsetup open /dev/sdb sdb
Conclusión
Esta práctica me ha parecido muy útil e interesante, he aprendido que este sistema de ficheros junto a ZFS, tienen un gran potencial sumandole más funcionalidades que otros sistemas de ficheros no tienen, como por ejemplo ext4. Esto supone que puede ser una mejor opción a la hora de elegir sistema de ficheros.
Se puede instalar de una forma muy facil y con unos pequeños pasos ya podemos tener funcionando este sistema de ficheros donde queramos.
Por último, la parte que me ha parecido más interesante es la reparción del RAID, donde se puede llegar a sustituir discos de una manera bastante sencilla.