Btrfs en la parte superior de un mdadm raid10, o btrfs raid10 en dispositivos desnudos?

9

Tengo un RAID10 administrado por mdadmy tengo un sistema de archivos EXT4 encima. Sin embargo, me gusta BTRFS y me gustaría convertir el sistema de archivos EXT4 a BTRFS, pero estaba pensando en el rendimiento y la capacidad de mantenimiento. Para un ejemplo con BTRFS, no puedo ver fácilmente el estado cuando elimino / agrego otro disco a la matriz como puedo con mdadm (o tal vez simplemente no sé cómo: busqué en los documentos de BTRFS y no pude encontrar esto )

Entonces, según su experiencia, cuál es la mejor opción:

  1. ¿Simplemente convertir el sistema de archivos EXT4 y dejar que mdadm administre el RAID10?

  2. ¿Para deshacerse de mdadm y dejar que BTRFS haga todo?

DejanLekic
fuente

Respuestas:

11

Deja que Btrfs haga todo.

Por un lado, Btrfs tiene su propio código de duplicación integrado que puede ser más inteligente que madm.

Por supuesto, si un disco falla con fuerza en un par duplicado en una madm raid10, puede reemplazar el disco defectuoso y seguir adelante con su vida (aunque después de un conjunto de comandos de shell angustiosamente complejo). El problema es si su disco falla un poco más suavemente: si algunos bloques simplemente devuelven los bits incorrectos en lugar de proporcionar los códigos de error apropiados para un bloque defectuoso, entonces al leer los datos obtendrá aleatoriamente datos incorrectos. Btrfs es más inteligente que eso: comprueba las sumas de cada bit de datos. Para ser sincero, no sé si es más correcto decir "cada nodo BTree" o "cada bloque", pero el punto es que cuando lee algunos datos de una matriz reflejada, verifica la suma de comprobación antes de devolverla a su proceso de usuario Si la suma de verificación no coincide, consulta primero al otro espejo en la matriz, y si eso da la suma de verificación correcta,

El wiki de Btrfs menciona específicamente tu pregunta :

Si Btrfs confiara en el mapeador de dispositivos o MD para la duplicación, no sería capaz de resolver fallas de suma de verificación al verificar la copia reflejada . Las capas inferiores no conocen la suma de comprobación o la granularidad de los bloques del sistema de archivos, por lo que no pueden verificar los datos que devuelven.

Finalmente, incluso sin esta ventaja sustancial, el flujo de trabajo de la línea de comandos para tratar con dispositivos Btrfs eliminados o agregados es súper simple. Ni siquiera estoy seguro de poder obtener los comandos de shell degradados-monte-luego-arregle-su-sistema de archivos correctamente, pero para Btrfs está muy claramente documentado en la página de múltiples dispositivos como:

mount -o degraded /dev/sdb /mnt
btrfs device delete missing /mnt

En este punto, si tiene suficiente espacio en los discos restantes, siempre btrfs rebalancepuede hacerlo y acabar de una vez; ¡no es necesario reemplazar el espejo, ya que absolutamente tendría que ver con madm! Y si desea reemplazarlo, puede hacerlo btrfs device addprimero.

Glifo
fuente
3

BTRFS todavía es experimental y puede terminar con características "interesantes" si algo falla. Si realmente tiene / desea ejecutar btrfs, sería mucho más seguro ejecutarlo sobre una incursión de software que simplemente ejecutarlo directamente. Cuando btrfs madura y entra en producción, esto podría no ser cierto.

Cabeza de cera
fuente
Hace aproximadamente un año, experimenté con una configuración de btrfs en una máquina virtual. Pude bloquear constantemente el núcleo (!) Jugando con el comando de reequilibrio. El tiempo avanzó y es de esperar que esto se haya solucionado.
Avery Payne