Btrfs: RAID 1 en 3+ dispositivos


10

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?


1
BTRFS RAID-5 es (aunque todavía experimental) realmente bastante estable e incluso muchos escenarios típicos de recuperación de datos funcionan en la versión actual (sin fallar). Probablemente debería fregar de vez en cuando para asegurarse de que sus datos siguen siendo correctos, pero puede valer la pena intentarlo. Es posible convertir de RAID-1 (0) a RAID-5.
basic6

@ basic6 Es bueno saberlo, gracias. Yo estaba investigando que no hace mucho y vi que scruby replaceapoyo 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é.
Mikkel

Los scrubs periódicos (semanales o mensuales) son importantes, si un scrub encuentra un error porque no puede leer desde una unidad, aumentará el recuento de errores. Verifique el conteo de errores usando dev stats, que podría ser otro cronjob .
básico6

Respuestas:


5

Sí, obtienes 500 GB adicionales. Tenga en cuenta que determinar el espacio disponible en btrfs sigue siendo difícil de alcanzar. Además: eche un vistazo a la calculadora de uso del disco btrfs .

En su segunda pregunta: puede perder algo de rendimiento en su matriz. Naturalmente, sus datos están igualmente seguros en ambas configuraciones RAID. Al considerar el rendimiento, quizás pueda echar un vistazo a estos puntos de referencia: kernel.org , phoronix.com .

¿Quizás ya has intentado convertir a RAID 1? Si es así: ¿cuáles son sus hallazgos?


1
Esto no proporciona una respuesta a la pregunta. Para criticar o solicitar una aclaración de un autor, deje un comentario debajo de su publicación: siempre puede comentar sus propias publicaciones, y una vez que tenga suficiente reputación podrá comentar cualquier publicación .
DavidPostill

Sin embargo, para responder a su pregunta, convertí y el resultado parece ser consistente con mis expectativas. Btrfs hace un trabajo pobre de lo que indica el espacio real disponible en el disco, pero se puede ver en la salida de los btrfs fi shque el espacio adicional en la unidad 4 TB está siendo aprovechada, y (2,83 + 1,93 + 1,93 + 1,95) /2~=4.30 como se esperaba. Recientemente sufrí una falla en la unidad y la reconstruí con éxito sin pérdida de datos, por lo que puedo confirmar de primera mano que la redundancia está intacta.
Mikkel

Lo siento, mi respuesta no fue clara @david. Intenté responder las dos preguntas en las últimas dos líneas de la publicación original. Además, indiqué un rango de incertidumbre (que parece intrínseco a btrfs) y proporcioné mis fuentes para referencia. De hecho, también hice una pregunta al autor, para que otros quizás puedan aprender de sus hallazgos. Hice esto dentro de la respuesta por razones que ya explicaste. Consideraré sus comentarios la próxima vez que responda una pregunta sobre el intercambio de pila.
Laura

Puede que no sea la respuesta más segura, pero mis resultados indican que sus suposiciones son correctas, por lo que lo acepto. Sin embargo, no estoy seguro de tu comentario sobre las diferencias de rendimiento. Ciertamente es cierto para el hardware RAID 1 vs 10, pero no estoy seguro de si Btrfs ve un aumento de rendimiento de RAID 10. Además, lo que llama RAID 1 todavía está dividido en varios dispositivos aquí, por lo que aún es más parecido a RAID 10 que RAID real 1. Si hubiera leído su respuesta antes de convertir, lo habría hecho antes y después de los puntos de referencia, pero no pasaré otra semana convirtiendo la matriz a RAID 10 y viceversa.
Mikkel

Bueno, existe esta página , que muestra beneficios marginales para RAID 10 sobre RAID 1, con la advertencia en la parte superior de que los puntos de referencia tienen 7 años.
Mikkel

0

No use btrfs raid 5 o 6, la implementación está llena de errores, ejecute zfs si lo desea.

Con raid10 ganarás velocidad.

Lo óptimo es hacer una partición de 3TB en la unidad de 4TB (asegúrese de que las 3 sean exactamente del mismo tamaño), combínelas en una RAID10 que tendrá 6 TB de espacio libre. Use 1 TB adicional en la unidad de 4 TB para / boot (esto debe ser vfat de todos modos si desea usar efistub y evitar grub o cualquier otro cargador de arranque que hará que su arranque sea un poco más rápido), cambie (puede usar un bastante grande, lo óptimo sería un pequeño intercambio de zram (4 gb funciona bien con 32 gb ram, 2 gb debería estar bien con 16 gb, si tiene menos de 16 idk si vale la pena y probablemente debería actualizar de todos modos) eso es se usa primero (establece la prioridad en la más alta) usando zstd y tantas secuencias de compresión como núcleos / hilos ...

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.