Cómo usar el saldo BTRFS?

Cómo usar el saldo BTRFS?
El sistema de archivos BTRFS tiene soporte de dispositivos múltiples incorporado, por lo que puede crear diferentes niveles de RAID utilizándolo.

Una vez que haya creado una redada BTRFS, puede agregar más dispositivos de almacenamiento a la redada para expandir la redada. Pero, una vez que haya agregado más dispositivos de almacenamiento a la RAID, BTRFS no extenderá los datos de datos/sistemas/datos existentes a los nuevos dispositivos de almacenamiento automáticamente. Por lo tanto, es posible que no obtenga el rendimiento deseado (velocidad de lectura/escritura) de la redada, y es posible que no pueda completar los nuevos dispositivos de almacenamiento con los datos redundantes requeridos. Por lo tanto, la matriz de redadas puede no sobrevivir al número deseado de fallas de impulso.

Para resolver estos problemas, el sistema de archivos BTRFS proporciona una herramienta de equilibrio incorporada. La utilidad BTRFS Balance difundirá los datos de datos/metadatos/sistema de los dispositivos de almacenamiento existentes de la redada a los dispositivos de almacenamiento recientemente agregados.

En este artículo, le mostraré cómo usar la utilidad de balance BTRFS para difundir los datos de datos/metadatos/sistema de los dispositivos de almacenamiento existentes de la redada a los dispositivos de almacenamiento recién agregados. Entonces empecemos!

Abreviaturas

REDADA - Gama redundante de discos económicos/independientes
MEGABYTE - Megabyte
GB - Gigabyte

Requisitos previos

Para seguir este artículo, debe tener una redada BTRFS en funcionamiento o una configuración de múltiples dispositivos.

He creado una redada BTRFS en Rango-0 configuración utilizando 4 dispositivos de almacenamiento SDB, SDC, SDD, y SDE.

Como puede ver, el sistema de archivos BTRFS asignado 1 GB de espacio en disco para datos1 256 MB de espacio en disco para metadatos2, y 4 MB de espacio en disco para Data de sistema3 de cada uno de los dispositivos de almacenamiento en la redada.

Acerca de 18.75 GB fuera de 20 GB todavía no está asignado4 de cada uno de los dispositivos de almacenamiento de la redada.

$ sudo BTRFS Uso /datos del sistema de archivos

Escribir un script para generar archivos aleatorios

Para mostrarle cómo funciona la utilidad BTRFS Balance, necesitamos generar algunos archivos aleatorios para completar el sistema de archivos BTRFS. Creemos un script de shell que haga exactamente eso.

Crear un nuevo script de shell genfiles.SH en el directorio/usr/local/bin/de la siguiente manera:

$ sudo nano/usr/local/bin/genfiles.mierda

Escriba las siguientes líneas de códigos en el Genfiles.mierda guión de shell.

#!/bin/bash
mientras que es cierto
hacer
FileName = $ (uuidgen)
echo "[creando] $ nombre de archivo"
dd if =/dev/random of = $ filename bs = 1m count = 256 status = progreso
echo "[creado] $ nombre de archivo"
hecho

Una vez que haya terminado, presione + X seguido por Y y Para salvar el Genfiles.mierda guión de shell.

El Genfiles.mierda Shell Script ejecuta un infinito mientras bucle.

mientras que es cierto
hacer
# Otros códigos
hecho

La siguiente línea genera un uuid usando el uuidgen comandar y almacena el uuid en el NOMBRE DEL ARCHIVO variable.

La siguiente línea imprime un mensaje en la consola antes del archivo NOMBRE DEL ARCHIVO es generado.

La siguiente línea genera un nuevo archivo aleatorio NOMBRE DEL ARCHIVO utilizando el dd dominio. El archivo tendrá un tamaño de 256 MB.

La siguiente línea imprime un mensaje en la consola después del archivo NOMBRE DEL ARCHIVO es generado.

Agregar permiso de ejecución al Genfiles.mierda shell script de la siguiente manera:

$ sudo chmod +x/usr/local/bin/genfiles.mierda

El Genfiles.mierda El script de shell ahora debería ser accesible como cualquier otro comando.

$ que genfiles.mierda

Generación de archivos aleatorios en el sistema de archivos BTRFS

Queremos generar archivos aleatorios en la redada BTRFS. Digamos que la incursión BTRFS está montada en el /datos directorio.

Navegar al /datos Directorio donde la redada BTRFS se monta de la siguiente manera:

$ CD /datos

Como puede ver, no hay archivos disponibles en mi redada BTRFS en este momento.

$ ls -lh

Para generar algunos archivos aleatorios en el directorio de trabajo actual (/datos directorio en este caso), ejecute el Genfiles.mierda shell script de la siguiente manera:

$ sudo genfiles.mierda

El Genfiles.mierda shell script debe comenzar a generar archivos aleatorios en el /datos directorio.

El Genfiles.mierda Script está generando archivos aleatorios. Deje que el guión se ejecute durante un par de minutos, por lo que llena aproximadamente 2-3 GB de espacio en disco de la redada BTRFS.

Cuando quieras detener el Genfiles.mierda shell script, presione + C.

Como puede ver, se generan algunos archivos aleatorios en la redada BTRFS.

$ ls -lh


Como puede ver, la redada BTRFS asignó 2 GB de cada uno de los dispositivos de almacenamiento agregados a la redada. Anteriormente, la redada BTRFS asignó 1 GB de cada uno de los dispositivos de almacenamiento agregados a la redada.

El espacio de disco no asignado se ha reducido de 18.75 GB a 17.75 GB en todos los dispositivos de almacenamiento de la redada.

$ sudo BTRFS Uso /datos del sistema de archivos

Agregar otro dispositivo de almacenamiento a la redada BTRFS

Para mostrarle cómo equilibrar una redada BTRFS después de agregar un nuevo dispositivo de almacenamiento, debe agregarle un nuevo dispositivo de almacenamiento.

He agregado un nuevo HDD SDF a mi computadora, que quiero agregar a la redada BTRFS montada en el /datos directorio. Veamos cómo hacerlo.

$ sudo lsblk -e7

Navegar a un directorio diferente (yo.mi., HOGAR directorio) del /datos Directorio de la siguiente manera:

$ CD

Para agregar el dispositivo de almacenamiento SDF a la redada BTRFS montada en el /datos directorio, ejecute el siguiente comando:

$ sudo btrfs dispositivo add /dev /sdf /data

Como puede ver, el dispositivo de almacenamiento SDF se agrega a la redada BTRFS. El tamaño de la redada ha aumentado de 80 GB a 100 GB.

$ sudo BTRFS Uso /datos del sistema de archivos

Equilibrando la redada BTRFS

Como puede ver, el dispositivo de almacenamiento recién agregado (SDF) de la redada (montada en el /datos directorio) tiene 20 GB no asignados y los otros dispositivos de almacenamiento (SDB, SDC, SDD, SDE, etc.) tener 17.75 GB no asignado.

$ sudo BTRFS Uso /datos del sistema de archivos

Los datos1, metadatos2, y datos del sistema3 Solo están disponibles en los dispositivos de almacenamiento existentes de la RAID, no en el dispositivo de almacenamiento recién agregado.

Para extender los datos, metadatos y datos del sistema en todos los dispositivos de almacenamiento de la redada (incluido el dispositivo de almacenamiento recién agregado) montados en el /datos directorio, ejecute el siguiente comando:

$ sudo BTRFS Balance Start-Full-Balance /Data

Puede tomar un tiempo extender los datos, los metadatos y los datos del sistema en todos los dispositivos de almacenamiento del RAID IFIT contiene muchos datos.

Una vez que los dispositivos de almacenamiento de la RAID se equilibran correctamente, debe ver el siguiente mensaje.

Como puede ver, después de completar la operación de saldo, el dispositivo de almacenamiento recientemente agregado tiene una cantidad igual de espacio de disco no asignado como los otros dispositivos de almacenamiento de la redada.

Después de la operación de saldo, se asigna una cantidad igual de espacio en disco como otros dispositivos de almacenamiento de la RAID para los datos, metadatos y datos del sistema del dispositivo de almacenamiento recientemente agregado (SDF) de la redada.

Conclusión

En este artículo, he discutido el propósito de la utilidad BTRFS Balance de equilibrio, así como cómo equilibrar un sistema de archivos BTRFS RAID o de múltiples dispositivos después de agregar nuevos dispositivos de almacenamiento al sistema de archivos RAID o múltiples dispositivos.