bcache en md o md en bcache

bcache en md o md en bcache

bcachepermite que una o más unidades de disco rápidas, como unidades de estado sólido (SSD) basadas en flash, actúen como caché para una o más unidades de disco duro más lentas.

Si entiendo correctamente,

  • Se podría asignar un SSD *
    para almacenar en caché varios HDD de respaldo y luego los dispositivos almacenados en caché resultantes se podrían RAID con mdadm o
  • Se pueden RAID varios discos duros en un único dispositivo MD de respaldo y el SSD se puede asignar al caché que

Me pregunto cuál es el enfoque más sensato. Se me ocurre que hacer crecer un RAID5/6 puede ser más sencillo con una u otra técnica, ¡pero no estoy seguro de cuál!

¿Existen buenas razones (por ejemplo, aumentar el almacenamiento de respaldo o cualquier otra cosa) para elegir un enfoque sobre el otro (para un sistema de archivos grande no raíz que contiene archivos de respaldo de VM)?


* Por "un SSD" me refiero a algún tipo de dispositivo SSD redundante, por ejemplo, un RAID1 de dos SSD físicos

Respuesta1

Creo que almacenar en caché todo el dispositivo MD tiene más sentido.

Poner bcache para almacenar en caché todo el dispositivo md sacrifica la idea de tener raid, porque introduce otro punto único de falla.

  • Las fallas de OTH de los discos SSD son relativamente raras y bcache se puede poner en el modo writethrough/ writearound(a ​​diferencia del writebackmodo), donde no hay datos almacenados solo en el dispositivo de caché y la falla del caché no elimina la información en la redada la convierte en una opción relativamente segura.

  • Otro hecho es que existe una importante sobrecarga computacional del RAID-5 suave; Al almacenar en caché cada miembro de la incursión giratoria por separado, la computadora aún tiene que volver a calcular todas las paridades, incluso en los aciertos de caché.

  • Obviamente, sacrificaría algo de espacio SSD costoso si almacena en caché cada unidad giratoria por separado.- A menos que planees usar caché ssd raideado.

  • Ambas opciones relativamente no afectan el tiempo de proceso de crecimiento, aunque la opción con unidades giratorias almacenadas en caché por separado tiene potencial para serMás lentodebido al mayor tráfico de autobuses.

Es un proceso rápido y relativamente sencillo configurar bcache para extraer la unidad SSD cuando necesite reemplazarla. Gracias abloquesDebería ser posible migrar la configuración de la incursión en ambos sentidos in situ.

También deberías recordar que en este momento la mayoría (¿todas?) de las distribuciones de CD en vivono apoyobcache, por lo que no puede simplemente acceder a sus datos con dichas herramientas independientemente de la opción de diseño bcacheque mdraidelija.

Respuesta2

Creo que lo más sensato es almacenar en caché el dispositivo MD resultante.

bcache está diseñado para transmitir lecturas y escrituras secuenciales.

Si almacena en caché cada dispositivo por separado, lógicamente, varios dispositivos que se integran en un MD pirateado o eliminado, desde la perspectiva de bcache, escribirán constantemente bloques aleatorios.

Si bien un volumen MD almacenado en caché se verá normal, escribir archivos en el volumen, en lugar de bloques aleatorios en varios dispositivos.

El objetivo del raid de hardware y software es separar los datos en el backend para que el sistema de archivos resultante parezca un volumen normal.

Puede que esto no sea correcto (ya que los desarrolladores de bcache pueden ser inteligentes y tener en cuenta ese tipo de situaciones), pero lo lógico y óptimo es almacenar en caché los volúmenes, en lugar de bloquear los dispositivos.

información relacionada