Cargo actual:Index > Cómo habilitar el almacenamiento Pooling Y Mirroring Usando Btrfs Para Linux

Cómo habilitar el almacenamiento Pooling Y Mirroring Usando Btrfs Para Linux

Actualizado:11-23Fuente: consolidación de la red
Advertisement

Cómo habilitar el almacenamiento Pooling Y Mirroring Usando Btrfs Para Linux


Si tiene varias unidades de disco duro en el sistema Linux, usted no tiene que tratarlos todos los dispositivos de almacenamiento como diferentes. Con Btrfs, puede crear fácilmente una agrupación de almacenamiento de los discos duros.

Bajo ciertas condiciones, incluso se puede permitir que el reflejo por lo que no perderá sus datos debido a un fallo del disco duro. Con todo listo, sólo puede tirar lo que quieras en la piscina y aprovechar al máximo el uso del espacio de almacenamiento que tiene.

No hay una utilidad de configuración de interfaz gráfica de usuario que puede hacer todo esto más fácil (aún), pero aún así es muy fácil de hacer con la línea de comandos. Me voy a caminar a través de una sencilla configuración para el uso de varios discos duros juntos.

¿Qué hay Btrfs?

Btrfs (llamado sistema de archivos de árbol B, "Butter FS", o "Mejor FS") es un próximo sistema de ficheros que incorpora muchas características diferentes a nivel de sistema de ficheros, normalmente sólo están disponibles como paquetes de software independientes. Mientras Btrfs tiene muchas características notables (como instantáneas de sistemas de archivos), los dos vamos a echar un vistazo a este artículo son la agrupación de almacenamiento y reflejo.

Si no estás seguro de lo que es un sistema de archivos es, echar un vistazo a esta explicación de unos sistemas de archivos para Windows. Usted también puede visitar esta bonita comparación de diversos sistemas de archivos para tener una mejor idea de las diferencias entre los sistemas de archivos existentes.

Btrfs sigue siendo considerado "no es estable" por muchos, pero la mayoría de las características ya son lo suficientemente estable como para uso personal - es sólo unas pocas características selectas donde pueden surgir algunos resultados no deseados.

Mientras Btrfs aspira a ser el sistema de ficheros por defecto para Linux en algún momento en el futuro, sigue siendo la mejor manera de utilizar ext4 para configuraciones de discos duros individuales o para configuraciones que no necesitan la agrupación de almacenamiento y la replicación.

La puesta en común de las Unidades

Para este ejemplo, vamos a utilizar una configuración del disco duro cuatro. Hay dos unidades de disco duro (/ dev / sdb y / dev / sdc) con 1 TB cada uno, y otras dos unidades de disco duro (/ dev / sdd y / dev / sde) con 500 GB para un total de cuatro unidades de disco duro con un total de 3 TB de almacenamiento.

También puede suponer que usted tiene otro disco duro (/ dev / sda) de algún tamaño arbitrario que contiene el gestor de arranque y el sistema operativo. No estamos en relación con nosotros mismos acerca de / dev / sda y estamos combinando únicamente las otras cuatro unidades de disco duro con fines de almacenamiento adicionales.

Creación de un sistema de archivos

Cómo habilitar el almacenamiento Pooling Y Mirroring Usando Btrfs Para Linux


Para crear un sistema de archivos Btrfs en una de sus unidades de disco duro, puede utilizar el comando:

sudo mkfs.btrfs /dev/sdb

Por supuesto, puede reemplazar / dev / sdb con el disco duro real que usted desea utilizar. Desde aquí, puede agregar otros discos duros al sistema Btrfs para que sea una sola partición que se extiende sobre todos los discos duros que se agregan. En primer lugar, monte el primer disco duro Btrfs con el comando:

sudo mount /dev/sdb /mnt

A continuación, ejecute los comandos:

sudo mkfs.btrfs /dev/sdc mkfs.btrfs /dev/sdd mkfs.btrfs /dev/sde

Ahora, puedes añadirlos a la primera unidad de disco duro con los comandos:

sudo btrfs device add /dev/sdc /mnt btrfs device add /dev/sdd /mnt btrfs device add /dev/sde /mnt

Si tuvieras algunos datos almacenados en el primer disco duro, usted querrá el sistema de archivos para equilibrarlo a cabo entre todas las unidades de disco duro que acaba de agregar. Usted puede hacer esto con el comando:

sudo btrfs filesystem balance /mnt

Alternativamente, si usted sabe incluso antes de empezar que desea un sistema de archivos Btrfs para abarcar en todos los discos duros, sólo tiene que ejecutar el comando:

sudo mkfs.btrfs -d single /dev/sdb /dev/sdc /dev/sdd /dev/sde

Por supuesto, esto es mucho más fácil, pero usted tendrá que utilizar el método mencionado anteriormente, si no se agrega a todos de una sola vez.

Se dará cuenta de que he utilizado una bandera: "-d sola". Esto es necesario porque quería una configuración RAID 0 (donde los datos se divide entre todos los discos duros, pero sin reflejo ocurre), pero se necesita el perfil "single" cuando los discos duros son de diferentes tamaños. Si todos los discos duros eran del mismo tamaño, podría utilizar en su lugar la bandera "raid0 -d". La bandera "-d", por cierto, significa de datos y le permite especificar la configuración de datos que desea. Hay también una bandera de "-m", que hace exactamente lo mismo para los metadatos.

Además de esto, también puede habilitar RAID 1 usando "raid1 -d" que duplicar los datos en todos los dispositivos, por lo que el uso de esta bandera durante la creación del sistema de ficheros Btrfs que se extiende por todos los discos duros que significaría que sólo te dan 500 GB de espacio utilizable, como los tres otros discos duros se utilizan para la creación de reflejo.

Por último, se puede habilitar el uso de RAID 10 "RAID10 -d". Esto va a hacer una mezcla de ambos RAID 0 y RAID 1, por lo que te voy a dar 1,5 TB de espacio utilizable como las unidades de disco duro de 1 TB dos están emparejados en el reflejo y los dos discos duros de 500 GB están emparejados en el reflejo.

La conversión de un sistema de archivos

Cómo habilitar el almacenamiento Pooling Y Mirroring Usando Btrfs Para Linux


Si usted tiene un sistema de ficheros Btrfs que desea convertir en una configuración RAID diferente, eso es fácil de hacer. En primer lugar, monte el sistema de archivos (si no lo está ya) con el comando:

sudo mount /dev/sdb1 /mnt

A continuación, ejecute el comando:

sudo btrfs balance start -dconvert=raid1 -mconvert=raid1 /mnt

Esto va a cambiar la configuración en RAID 1, pero se puede sustituir eso con cualquier configuración que desee (siempre y cuando en realidad es permitido - por ejemplo, no se puede cambiar a RAID 10 si no tiene por lo menos cuatro unidades de disco duro) . Además, la bandera -mconvert es opcional si no eres más que preocupados por los datos, pero no los metadatos.

Si fallo del disco duro se produce

Si un disco duro falla, tendrá que eliminarlo del sistema de ficheros por lo que el resto de las unidades agrupadas funcionará correctamente. Monte el sistema de archivos con el comando:

sudo mount -o degraded /dev/sdb /mnt

Luego fijar el sistema de archivos con:

sudo btrfs device delete missing /mnt

Si no tiene RAID 1 o RAID 10 habilitados, cualquier dato que estaba en el disco duro dañado está perdido.

Extracción de una unidad de disco duro del sistema de ficheros

Por último, si desea eliminar un dispositivo de un sistema de archivos Btrfs, y el sistema de ficheros se monta en / mnt, puede hacerlo con el comando:

sudo btrfs device delete /dev/sdc /mnt

Por supuesto, reemplazar / dev / sdc con el disco duro que desea eliminar. Este comando llevará algún tiempo porque tiene que mover todos los datos del disco duro se elimina, y tendrá asimismo fallar si no hay suficiente espacio en los otros discos duros restantes.

Montaje automático

Cómo habilitar el almacenamiento Pooling Y Mirroring Usando Btrfs Para Linux


Si desea que el sistema de archivos Btrfs para ser montado de forma automática, puede colocar esto en su archivo / etc / fstab:

sudo /dev/sdb /mnt btrfs device=/dev/sdb,device=/dev/sdc,device=/dev/sdd,device=/dev/sde 0 0

Opciones de montaje

Una más extremidad de la prima! Usted puede optimizar el rendimiento de Btrfs en su archivo / etc / fstab en las opciones de montaje para el sistema de archivos Btrfs. Para las grandes matrices de almacenamiento, estas opciones son las mejores: compress-force=zlib,autodefrag,nospace_cache . Específicamente, comprimir = zlib comprimirá todos los datos para que pueda aprovechar al máximo el uso del espacio de almacenamiento que tiene. Para el registro, los usuarios de SSD pueden utilizar estas opciones: noatime,compress=lzo,ssd,discard,space_cache,autodefrag,inode_cache . Estas opciones van bien, junto con las especificaciones del dispositivo, por lo que una línea completa en / etc / fstab para los usuarios de SSD se vería así:

sudo /dev/sdb /mnt btrfs device=/dev/sdb,device=/dev/sdc,device=/dev/sdd,device=/dev/sde,
noatime,compress=lzo,ssd,discard,space_cache,autodefrag,inode_cache 0 0

¿Cuán grande es el grupo de almacenamiento?

Btrfs es una opción fantástica para la agrupación de almacenamiento y el reflejo que está seguro de ser más popular, una vez que se considera completamente estable. Tampoco estaría de más para que haya una interfaz gráfica de usuario para hacer más fácil la configuración (además de en algunos instaladores de distribución), pero los comandos que hay que utilizar en la terminal son fáciles de entender y aplicar.

¿Cuál es la agrupación de almacenamiento más grande que podría hacer? ¿Cree usted que las agrupaciones de almacenamiento valen la pena? Háganos saber en los comentarios!

Crédito de la imagen: William Hook