NEGOCIOS

ZFS versus RAID: ocho discos Ironwolf, dos sistemas de archivos, un ganador

Ni el cronómetro ni la cazadora vaquera son estrictamente necesarios, siendo sinceros.
Agrandar / Ni el cronómetro ni la cazadora vaquera son estrictamente necesarios, siendo sinceros.

Aurich Lawson/Getty

Esto ha tardado mucho tiempo en prepararse: es el momento de los resultados de las pruebas. Para comprender verdaderamente los fundamentos del almacenamiento informático, es importante explorar el impacto de varias topologías RAID (matriz redundante de discos económicos) convencionales en el rendimiento. También es importante comprender qué es ZFS y cómo funciona. Pero en algún momento, la gente (particularmente los entusiastas de las computadoras en Internet) quieren números.

Primero, una nota rápida: esta prueba, naturalmente, se basa en esos fundamentos. Vamos a aprovechar en gran medida las lecciones aprendidas a medida que exploramos las topologías ZFS aquí. Si aún no está del todo seguro sobre la diferencia entre grupos y vdevs o qué significan ashift y recordsize, le fuertemente Le recomendamos que vuelva a visitar esos explicadores antes de sumergirse en las pruebas y los resultados.

Y aunque a todo el mundo le encanta ver números en bruto, instamos a un enfoque adicional en cómo estas figuras se relacionan entre sí. Todos nuestros gráficos relacionan el rendimiento de las topologías de grupos ZFS en tamaños de dos a ocho discos con el rendimiento de un solo disco. Si cambia el modelo de disco, sus números brutos cambiarán en consecuencia, pero en su mayor parte, su relación con el rendimiento de un solo disco no lo hará.

Artículo Recomendado:  Las empresas están adoptando Windows 11 más rápidamente que las versiones anteriores, dice Microsoft

Equipo probado

Usamos las ocho bahías vacías en nuestro Storage Hot Rod de verano de 2023 para esta prueba. Tiene montones de RAM y potencia de CPU más que suficiente para procesar estas pruebas de almacenamiento sin sudar.

El Storage Hot Rod también tiene un adaptador de bus de host (HBA) LSI-9300-8i dedicado que no se usa para nada más que los discos bajo prueba. Las primeras cuatro bahías del chasis tienen nuestros propios datos de respaldo, pero estuvieron inactivas durante todas las pruebas aquí y están conectadas al controlador SATA de la placa base, completamente aisladas de nuestras matrices de prueba.

Cómo probamos

Como siempre, usamos fio para realizar todas nuestras pruebas de almacenamiento. Los ejecutamos localmente en el Hot Rod y usamos tres tipos básicos de prueba de acceso aleatorio: lectura, escritura y escritura sincronizada. Cada una de las pruebas se ejecutó con tamaños de bloque de 4K y 1M, y ejecuté las pruebas tanto con un solo proceso e io depth = 1 como con ocho procesos con io depth = 8.

Para todas las pruebas, usamos ZFS en Linux 0.7.5, como se encuentra en los repositorios principales de Ubuntu 18.04 LTS. Vale la pena señalar que ZFS en Linux 0.7.5 ya tiene dos años: hay funciones y mejoras de rendimiento en las versiones más nuevas de OpenZFS que no estaban disponibles en 0.7.5.

Probamos con 0.7.5 de todos modos, para disgusto de al menos un desarrollador de OpenZFS muy experimentado, porque cuando realizamos las pruebas, 18.04 era el Ubuntu LTS más actual y una de las distribuciones estables más actuales en general. En el próximo artículo de esta serie, sobre el ajuste y la optimización de ZFS, actualizaremos al nuevo Ubuntu 20.04 LTS y un ZFS mucho más nuevo en Linux 0.8.3.

Configuración inicial: ZFS frente a mdraid/ext4

Cuando probamos mdadm y ext4, en realidad no usamos todo el disco: creamos una partición de 1 TiB al principio de cada disco y usamos esas particiones de 1 TiB. También tuvimos que invocar argumentos arcanos:mkfs.ext4 -E lazy_itable_init=0,lazy_journal_init=0—para evitar que la asignación previa de ext4 contamine nuestros resultados.

El uso de estas particiones relativamente pequeñas en lugar de los discos completos era una necesidad práctica, ya que ext4 necesita arrastrarse por todo el sistema de archivos creado y dispersar los bloques de metadatos preasignados por todas partes. Si hubiéramos utilizado los discos completos, el espacio utilizable en la topología RAID6 de ocho discos habría sido de aproximadamente 65 TiB, y se habría necesitado varias horas para formatear, con esperas angustiosas similares para cada topología probada.

Felizmente, ZFS no necesita ni quiere preasignar bloques de metadatos; en su lugar, los crea sobre la marcha a medida que se vuelven necesarios. Así que alimentamos ZFS con cada disco Ironwolf de 12 TB en su totalidad, y no tuvimos que esperar largos procedimientos de formateo: cada topología, incluso la más grande, estaba lista para usar uno o dos segundos después de la creación, sin necesidad de argumentos especiales.

ZFS frente a RAID convencional

Una matriz RAID convencional es una capa de abstracción simple que se encuentra entre un sistema de archivos y un conjunto de discos. Presenta la matriz completa como un dispositivo de «disco» virtual que, desde la perspectiva del sistema de archivos, no se puede distinguir de un disco individual real, incluso si es significativamente más grande que el disco individual más grande.

ZFS es un animal completamente diferente y abarca funciones que normalmente podrían ocupar tres capas separadas en un sistema tradicional similar a Unix. Es un administrador de volumen lógico, un sistema RAID y un sistema de archivos, todo en uno. La fusión de capas tradicionales como esta ha provocado que muchos administradores senior rechinen los dientes con indignación, pero hay muy buenas razones para ello.

hay un absoluto tonelada de funciones que ofrece ZFS, y se recomienda encarecidamente a los usuarios que no estén familiarizados con ellas que echen un vistazo a nuestra cobertura de 2023 de los sistemas de archivos de última generación para obtener una descripción general básica, así como a nuestro artículo reciente sobre ZFS 101 para obtener una explicación mucho más completa.

Megabytes vs Mebibytes

Como en el último artículo, nuestras unidades de medida de rendimiento aquí son kibibytes (KiB) y mebibytes (MiB). Un kibibyte son 1024 bytes, un mebibyte son 1024 kibibytes y así sucesivamente, en contraste con un kilobyte, que son 1000 bytes, y un megabyte, que son 1000 kilobytes.

Los kibibytes y sus hermanos mayores siempre han sido las unidades estándar de almacenamiento informático. Antes de la década de 1990, los profesionales de la informática simplemente se referían a ellos como K y M, y usaban los prefijos métricos inexactos cuando los deletreaban. Pero cada vez que su sistema operativo se refiere a GB, MB o KB, ya sea en términos de espacio libre, velocidad de red o cantidad de RAM, en realidad se refiere a GiB, MiB y KiB.

Desafortunadamente, los proveedores de almacenamiento finalmente aprovecharon la diferencia entre las métricas como una forma de producir unidades de «gigabytes» y luego unidades de «terabytes» de manera más económica, por lo que un SSD de 500 GB es realmente solo 465 GiB y discos duros de 12 TB como los que tenemos. Las pruebas de hoy son realmente de solo 10,9 TiB cada una.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba