Un RAIDZ más ancho puede mejorar la eficiencia de capacidad y el ancho de banda secuencial, pero la latencia de las lecturas aleatorias pequeñas suele estar limitada por el comportamiento del vdev, la disposición de los bloques y la gestión de colas.
Una carga de trabajo de IA doméstica suele combinar archivos de modelos grandes con pequeños metadatos, páginas de índices vectoriales, miniaturas y lecturas de bases de datos. Añadir discos a un vdev RAIDZ permite que cada franja tenga más columnas de datos posibles, pero un bloque pequeño individual puede no utilizarlas todas y un solo vdev sigue representando un único dominio de programación. Las configuraciones más anchas también pueden aumentar el trabajo en modo degradado y la latencia de cola cuando varios servicios emiten solicitudes aleatorias simultáneamente.
El ancho cambia las columnas de datos, pero no el número de vdevs
RAIDZ distribuye los datos y la paridad entre los discos de un dispositivo virtual. Un vdev más ancho aumenta la capacidad utilizable por disco de paridad y puede proporcionar más ancho de banda agregado para registros grandes, pero el pool sigue equilibrando la E/S de alto nivel entre vdevs, en lugar de tratar cada disco como un destino independiente de lectura aleatoria.
La disposición RAIDZ de OpenZFS documenta los conceptos de disposición de RAIDZ y dRAID, incluidas recomendaciones para cargas de trabajo con bloques pequeños. El modelo explica por qué añadir un vdev especial en espejo puede ser más importante para los metadatos que simplemente ampliar el grupo RAIDZ de datos.
El tamaño de bloque, la compresión, recordsize y la alineación determinan cuántas columnas toca una lectura. Un bloque pequeño comprimido puede ocupar menos sectores y discos que una lectura de un archivo de modelo grande, por lo que un mismo ancho no produce un único resultado de latencia.
Las lecturas aleatorias dependen de las IOPS y de la distribución de la cola
Las solicitudes secuenciales grandes pueden atenderse en paralelo en varios discos, mientras que las lecturas pequeñas independientes están limitadas por la forma en que el vdev programa y completa cada solicitud. Varios vdevs más estrechos crean más destinos de E/S de alto nivel, pero consumen más discos de paridad y cambian los dominios de fallo.
Un análisis de ingeniería sobre el comportamiento de las lecturas aleatorias mide este comportamiento en distintas disposiciones RAIDZ y muestra por qué anchos de franja menores pueden producir más IOPS del pool cuando los mismos discos se dividen en más vdevs. Es un efecto de topología, no una regla universal sobre la velocidad de los discos.
Las lecturas que aciertan en la caché ARC evitan los discos, y un vdev de metadatos o especial puede trasladar determinados bloques pequeños a medios más rápidos. Las pruebas comparativas que caben por completo en la RAM no pueden revelar la diferencia de latencia en disco atribuida al ancho de RAIDZ.
Los grupos más anchos aumentan la relación entre la recuperación y el riesgo de latencia de cola
Durante un scrub, una resilverización o ante la ausencia de un disco, las lecturas pueden requerir la reconstrucción a partir de las columnas supervivientes. Un grupo más ancho expone más discos a la carga de trabajo degradada de cada vdev y puede prolongar el tiempo durante el cual las consultas de IA compiten con la E/S de recuperación.
Una descripción general de la topología de vdev de ingeniería de ZFS compara las propiedades de los vdevs en espejo y RAIDZ, y explica que el rendimiento del pool sigue la topología de los vdevs. Proporciona la distinción arquitectónica necesaria antes de interpretar las pruebas comparativas del número de discos. Este efecto debe seguir siendo medible con la carga de trabajo prevista para el servidor doméstico.
El límite del análisis está en extrapolar una prueba de rendimiento secuencial a la búsqueda vectorial o a los metadatos de fotos. Las lecturas almacenadas en caché, los bloques pequeños, la profundidad de cola, recordsize y el estado degradado pueden invertir la ventaja aparente de un grupo más ancho. La distinción importa cuando varias etapas de una canalización comparten el mismo presupuesto de almacenamiento y memoria.
Preguntas frecuentes sobre el ancho de RAIDZ para IA local
¿Un vdev RAIDZ más ancho siempre es más lento para las lecturas aleatorias?
No. Los resultados dependen del tamaño de bloque, los aciertos de caché, la compresión, los discos, la profundidad de cola y la topología del pool. La preocupación habitual es que un único vdev más ancho no añade IOPS independientes de alto nivel del mismo modo que añadir otro vdev.
¿Los espejos son siempre mejores para las bases de datos vectoriales?
Los espejos suelen proporcionar más IOPS aleatorias pequeñas y una recuperación más sencilla, pero utilizan más capacidad bruta. La decisión debe incluir la durabilidad, el espacio utilizable, el diseño de las copias de seguridad y la carga de trabajo medida de la base de datos, no solo la latencia. Este límite debe probarse con datos domésticos representativos en lugar de darse por supuesto.
¿Puede un vdev especial solucionar la latencia de los metadatos en RAIDZ?
Un vdev especial redundante puede almacenar metadatos y, opcionalmente, bloques pequeños, reduciendo la presión sobre el RAIDZ de datos. Se convierte en una infraestructura crítica del pool, por lo que perderlo puede provocar la pérdida del pool y su redundancia debe corresponderse con el riesgo.
Compara el ancho con lecturas en frío y degradadas
Reproduce lecturas representativas de páginas vectoriales, SQLite o metadatos, miniaturas y archivos de modelos con tamaños de bloque y profundidades de cola controlados. Mide la latencia p50, p95 y p99, las IOPS, la proporción de aciertos de ARC, la utilización de los discos y la interferencia de scrub o resilverización en las topologías candidatas.
Relaciona el acceso remoto a modelos con las limitaciones de red descritas en el acceso remoto a modelos. Mantén constantes el número total de discos, los modelos de unidad, recordsize, la compresión, el conjunto de datos, el estado de la caché y el espacio libre, y prueba condiciones de caché fría en lugar de limitarte a lecturas repetidas en caliente.
Elige la topología considerando conjuntamente el objetivo de latencia, la capacidad utilizable, la redundancia y el comportamiento de recuperación. Si la E/S aleatoria de IA es crítica, compara varios vdevs o un nivel especial redundante con un único RAIDZ más ancho, en lugar de asumir que añadir columnas proporciona IOPS equivalentes.
Centro de Tecnología e IA
Más para leer

¿Puede un LLM local reanudar la generación después de que se reinicie su proceso?
Una explicación de la reanudación de la generación de LLM desde el mecanismo, sus concesiones en recursos compartidos, tres preguntas frecuentes sobre la ramificación...

¿Puede un servidor doméstico ejecutar embeddings y transcodificación de vídeo en la misma GPU integrada?
Una explicación centrada en el mecanismo de las representaciones vectoriales compartidas de la iGPU y la transcodificación, sus ventajas y desventajas en cuanto a...

¿Cómo afecta la duración de los tokens de acceso a la seguridad y las molestias en el hogar?
Una explicación centrada en el mecanismo sobre la duración de los tokens de acceso, sus ventajas y desventajas respecto a los recursos compartidos, tres...

