Actualmente tengo una partición Btrfs con cuatro dispositivos: tres unidades de 3 TB y una unidad de 4 TB. Los datos y metadatos son RAID 10, por lo que tengo 6 TB de espacio utilizable, que está casi lleno. Había previsto que la compatibilidad con RAID 5 en Btrfs estaría madura para cuando se llenara mi almacenamiento, pero aparentemente no es una prioridad.
Mi pregunta es: ¿hay alguna razón para preferir RAID 10 sobre RAID 1 ? Sé que RAID 1 real en mi hardware actual debería darme 3 TB de espacio utilizable con 4 copias de cada bloque, pero Btrfs aparentemente no se comporta de esta manera. De las preguntas frecuentes de Btrfs :
btrfs combina todos los dispositivos en un grupo de almacenamiento primero y luego duplica los fragmentos a medida que se crean los datos del archivo. RAID-1 se define actualmente como "2 copias de todos los datos en diferentes dispositivos". Esto difiere de MD-RAID y dmraid, en que hacen exactamente n copias para n dispositivos. En un btrfs RAID-1 en tres dispositivos de 1 TB, obtenemos 1.5 TB de datos utilizables. Debido a que cada bloque solo se copia en 2 dispositivos, escribir un bloque dado solo requiere exactamente 2 dispositivos para escribir; La lectura se puede hacer desde una sola.
Y de Jens Erat en Stack Overflow :
Btrfs distribuye los datos (y sus copias RAID 1) en bloque, por lo que trata muy bien con discos duros de diferente tamaño. Recibirá la suma de todos los discos duros, divididos entre dos, y no necesita pensar en cómo juntarlos en pares de tamaño similar.
Si falla más de un disco, siempre corre el peligro de perder datos: RAID 1 no puede lidiar con la pérdida de dos discos al mismo tiempo. En su ejemplo anterior, si mueren los dos discos incorrectos, siempre pierde datos.
¿Esto significa que el reequilibrio de RAID 10 a RAID 1 me dará 500 GB adicionales de datos (6.5 TB en lugar de 6 TB) debido a la unidad de 4 TB? ¿Y hay alguna razón para que me quede con RAID 10?
scrub
y replace
apoyo se había añadido a partir de 3,19, pero la gente todavía se quejaba de la falta de dispositivos de alertas de error. Tengo crons configurados para scrubs semanales y autoevaluaciones SMART semanales / mensuales, por lo que debería poder detectar esos problemas. Lo probaré.
dev stats
, que podría ser otro cronjob .