Cómo crear y administrar el sistema de archivos Btrfs en Linux


El sistema de archivos Btrfs o B-tree es un copy-on-write (COW) con licencia GPL que fue desarrollado por varias compañías como sigue Oracle, Redhat, Fujitsu, Intel, Facebook , Linux Foundation, Suse, etc. Brtfs admitirá un máximo de 16 exbibyte y puede tener un máximo de 8 exbibyte, debido a la limitación del kernel.

Los archivos se pueden crear con cualquier carácter excepto "/" y NULL . Btrfs tiene funciones de autorreparación y tiene la capacidad de abarcar varios volúmenes. En Btrfs podemos reducir, hacer crecer el sistema de archivos, agregar o eliminar dispositivos de bloqueo en modo en línea.

También proporciona subvolúmenes, los subvolúmenes no son dispositivos de bloque separados, podemos crear instantáneas y restaurar la instantánea para esos subvolúmenes. En lugar de usar LVM, podemos usar btrfs. El sistema de archivos Btrfs aún se está probando y aún no está incluido en producción. Si tenemos datos importantes, actualmente se recomienda no usar btrfs en entornos de producción.

Btrfs lanzó su versión 3.18 el mes pasado en diciembre de 2014 con varias características nuevas.

Esta nueva versión de btrfs se llenó de muchas características nuevas de la siguiente manera:

  1. By default mkfs skinny-metadata feature is available from kernel 3.10.
  2. To repair the severely corrupted file-systems with care.
  3. Added convert option to show progress.
  4. Ability to link lost files to lost+found. This is a fix for a recent kernel Bug.
  5. To see the overview of file-system usage rather than df.
  6. And many more bug-fixes with and improved documentation.
  7. Subvolumes for file-system.
Hostname	:	btrfs.tecmintlocal.com
IP addrress 	:	192.168.0.120
Disk Size Used	:	8GB [/dev/sdb]

Paso 1: Instalar y crear un sistema de archivos Btrfs

1. En la mayoría de las distribuciones de Linux más recientes, el paquete btrfs viene preinstalado. Si no es así, instale el paquete btrfs usando el siguiente comando.

# yum install btrfs-progs -y		[On RedHat based Distro's]
# sudo apt-get install btrfs-tools -y	[On Debian based Distro's]

2. Después de instalar el paquete btrfs en el sistema, ahora necesitamos habilitar el módulo Kernel para btrfs usando el siguiente comando.

# modprobe btrfs

3. Aquí, hemos usado solo un disco (es decir, /dev/sdb ) en este disco, vamos a configurar volúmenes lógicos y crear el sistema de archivos btrfs. Antes de crearlos, primero verifiquemos el disco conectado al sistema.

# ls -l /dev | grep sd

4. Una vez que haya confirmado que el disco está correctamente conectado al sistema, ahora es el momento de crear una partición para LVM. Usaremos el comando "fdisk" para crear particiones en el disco /dev/sdb . Siga las instrucciones que se explican a continuación para crear una nueva partición en la unidad.

# fdisk -c /dev/sdb
  1. Press ‘n‘ for creating new partition.
  2. Then choose ‘P‘ for Primary partition.
  3. Next choose the partition number as 1.
  4. Define the default value by just pressing two times Enter key.
  5. Next press ‘P‘ to print the defined partition.
  6. Press ‘L‘ to list all available types.
  7. Type ‘t‘ to choose the partitions.
  8. Choose ‘8e‘ for Linux LVM and press Enter to apply.
  9. Then again use ‘p‘ to print the changes what we have made.
  10. Use ‘w‘ to write the changes.

5. Una vez que haya creado la partición con éxito, debe actualizar los cambios de la tabla de particiones en el kernel para que podamos ejecutar el comando partprobe para agregar la información del disco al kernel y luego enumerar la partición como se muestra a continuación.

# partprobe -s
# ls -l /dev | grep sd

6. Cree un volumen físico y un grupo de volúmenes en el disco/dev/sdb1 mediante los comandos pvcreate y vgcreate.

# pvcreate /dev/sdb1
# vgcreate tecmint_vg /dev/sdb1

7. Cree un volumen lógico en el grupo de volúmenes. Aquí he creado dos volúmenes lógicos.

# lvcreate -L +2G -n tecmint_lv1 tecmint_vg
# lvcreate -L +2G -n tecmint_lv2 tecmint_vg

8. Enumere el volumen físico creado, el grupo de volúmenes y los volúmenes lógicos.

# pvs && vgs && lvs

9. Creemos ahora el sistema de archivos para nuestros volúmenes lógicos.

# mkfs.btrfs /dev/tecmint_vg/tecmint_lv1

10. A continuación, cree un punto de montaje y monte el sistema de archivos.

# mkdir /mnt/tecmint_btrfs1
# mount /dev/tecmint_vg/tecmint_lv1 /mnt/tecmint_btrfs1/

11. Verifique el punto de montaje con la ayuda del comando df.

# df -h

Aquí el tamaño disponible era de 2 GB