Actividad 21 - d: Btrfs

Para realizar la actividad es necesario utilizar:

 

  1. Comience agregando 6 discos duros nuevos de 8GiB a la máquina virtual. También será necesario contar con una interfaz de red en modo puente para poder acceder mediante SSH.
  2. Una vez que la máquina haya arrancado, utilice el comando mount y df -h para inspeccionar dónde está montada la raíz, con qué sistema de ficheros y cuánto espacio libre/utilizado tiene. También puede utilizar los comandos 'btrfs filesystem show' y 'btrfs filesystem df <mount point>'. Para obtener detalles sobre el sistema de archivos Btrfs.
  3. Construya un sistema de ficheros en /dev/sdb y móntelo en /mnt/btrfs1.
  4. Construya un sistema de ficheros con /dev/sdc y /dev/sdd, móntelo en /mnt/btrfs2.
  5. Construya un sistema de ficheros con redundancia raid1 para datos y metadatos utilizando los discos /dev/sde y /dev/sdf. Móntelo en /mnt/btrfs3.
  6. Utilice el comando df -h para ver la capacidad y uso de los nuevos sistemas de ficheros. Compruebe el número de discos y la capacidad obtenida en cada sistema de archivos. Utilice los comandos propios de Btrfs para inspeccionar los sistemas de archivos.
  7. Utilice wget para descargar en /mnt/btrfs1 el archivo con la última versión estable de Linux que se encuentra en http://www.kernel.org/. Copie el fichero en /mnt/btrfs2 y /mnt/btrfs3.
  8. Repita el punto 6 para inspeccionar los cambios.
  9. Compruebe que en un sistema de ficheros Btrfs montado se pueden substituir los discos sin desmontarlo. Para ello deberá añadir el disco /dev/sdg al sistema de archivos que tiene montado en /mnt/btrfs1 y después deberá retirar el disco /dev/sdb. Compruebe cómo el fichero con el código de Linux ha estado disponible en todo momento.
  10. En Btrfs junto con cada bloque se guarda una suma de verificación para comprobar su integridad. Así, al acceder a un bloque se puede detectar cualquier cambio en los datos y utilizar una copia redundante. Por ejemplo, en el sistema de ficheros /mnt/btrfs3 se está utilizando una configuración raid1 tanto para datos como metadatos. De modo que puede sobreescribir con ceros el disco /dev/sde (o el disco /dev/sdf, uno de los dos) y comprobar que el fichero de datos mantiene su integridad. Sobreescriba uno de los discos y después desarchive el código fuente de Linux.
  11. La operación scrub permite explorar todos los bloques de un sistema de archivos buscando bloques con errores y corregirlos a partir de las copias. Ejecute una operación scrub en el sistema de ficheros /mnt/btrfs3 para regenerar los datos sobreescritos.
  12. En el directorio /mnt/btrfs1 desarchive el código de linux. Añada de nuevo el disco /dev/sdb al sistema de ficheros /mnt/btrfs1. Compruebe el incremento de capacidad y que los datos están únicamente escritos en uno de los discos. Realice un balanceo del sistema de ficheros para distribuir los datos en ambos discos.
  13. Al realizar el balanceo también es posible cambiar el modo de redundancia. Cambie la redundancia para datos y metadatos a raid1 en /mnt/btrfs1.
  14. Desmonte el sistema de ficheros /mnt/btrs2. Utilice los dos discos que acaba de liberar para añadir uno de ellos a /mnt/btrfs1, en el otro cree una partición con fdisk y añada dicha partición al sistema de archivos raíz. Inspeccione los sistemas de ficheros. ¿Cómo han quedado? Realice una operación de balanceo para que la raíz pase a utilizar una configuración raid1 y /mnt/btrfs1 raid5.
  15. Tome nota del espacio disponible en /mnt/btrfs1. Utilice el comando du para calcular cuánto consume en disco el directorio con el código fuente de Linux. Elimine dicho directorio. Observe cuánto espacio se ha ganado. Remonte el sistema de ficheros /mnt/btrfs1 con la opción compress. Desarchive el código fuente de Linux. Observe cuánto espacio se ha consumido.
  16. Construya el subvolumen /mnt/btrfs1/linux. Coloque en su interior el código fuente de Linux desarchivado. Realice una instantánea de nombre /mnt/btrfs1/linux_snapshot. Compruebe que en apariencia se trata de un sistema de ficheros nuevo. Compruebe que no se ha consumido espacio de disco ni se ha tardado en realizar la operación. Compruebe que los cambios en un subvolumen no afectan al otro.
  17. Copie el archivo que tiene el código fuente de Linux utilizando la sentencia cp --reflink='always' <original> <copia>. Compruebe que la operación no consume espacio extra de disco.