NEGOCIOS

ZFS 101: comprensión del almacenamiento y el rendimiento de ZFS

No, en realidad no puede comprar discos Ironwolf con el logotipo de OpenZFS, pero dado que están garantizados sin SMR, son una opción sólida.
Agrandar / No, en realidad no puede comprar discos Ironwolf con el logotipo de OpenZFS, pero dado que están garantizados sin SMR, son una opción sólida.

jim salter

A medida que todos ingresamos al tercer mes de la pandemia de COVID-19 y buscamos nuevos proyectos para mantenernos comprometidos (leer: sane), ¿podemos interesarte en aprender los fundamentos del almacenamiento informático? En silencio esta primavera, ya hemos repasado algunos conceptos básicos necesarios, como cómo probar la velocidad de sus discos y qué diablos es RAID. En la segunda de esas historias, incluso prometimos un seguimiento que explora el rendimiento de varias topologías de discos múltiples en ZFS, el sistema de archivos de próxima generación del que ha oído hablar debido a sus apariciones en todas partes, desde Apple hasta Ubuntu.

Bueno, hoy es el día para explorar, lectores curiosos de ZFS. Solo sepa de antemano que, en palabras discretas del desarrollador de OpenZFS, Matt Ahrens, «es realmente complicado».

Pero antes de que lleguemos a los números (¡y están llegando, lo prometo!) de todas las formas en que puede dar forma a ocho discos de ZFS, debemos hablar sobre cómo ZFS almacena sus datos en disco en primer lugar.

Zpools, vdevs y dispositivos

Para comprender realmente ZFS, debe prestar mucha atención a su estructura real. ZFS fusiona las capas tradicionales de administración de volúmenes y sistema de archivos, y utiliza un mecanismo transaccional de copia en escritura; ambos significan que el sistema es estructuralmente muy diferente a los sistemas de archivos convencionales y las matrices RAID. El primer conjunto de bloques de construcción principales para comprender son zpools, vdevsy devices.

zpool

los zpool es la estructura ZFS superior. Un zpool contiene uno o más vdevscada uno de los cuales contiene a su vez uno o más devices. Los Zpools son unidades autónomas: una computadora física puede tener dos o más zpools separados, pero cada uno es completamente independiente de los demás. Los zpools no pueden compartir vdevs uno con el otro.

La redundancia de ZFS está en el vdev nivel, no el zpool nivel. hay absolutamente no redundancia en el nivel de zpool, si hay almacenamiento vdev o SPECIAL vdev se pierde, todo zpool se pierde con ella.

Los zpools modernos pueden sobrevivir a la pérdida de un CACHE o LOG vdev, aunque pueden perder una pequeña cantidad de datos sucios, si pierden un LOG vdev durante un corte de energía o un bloqueo del sistema.

Es un error común pensar que las «franjas» de ZFS escriben en el grupo, pero esto no es correcto. Un zpool no es un RAID0 de aspecto extraño, es un JBOD de aspecto extraño, con un mecanismo de distribución complejo sujeto a cambios.

En su mayor parte, las escrituras se distribuyen entre los vdev disponibles de acuerdo con su espacio libre disponible, por lo que teóricamente todos los vdev se llenarán al mismo tiempo. En versiones más recientes de ZFS, la utilización de vdev también se puede tener en cuenta: si un vdev está significativamente más ocupado que otro (por ejemplo, debido a la carga de lectura), se puede omitir temporalmente para escritura a pesar de tener la proporción más alta de espacio libre disponible.

El mecanismo de reconocimiento de uso integrado en los métodos modernos de distribución de escritura de ZFS puede reducir la latencia y aumentar el rendimiento durante períodos de carga inusualmente alta, pero no debe confundirse con carta blanca para mezclar discos oxidados lentos y SSD rápidos de cualquier manera en el mismo grupo. Tal grupo no coincidente seguirá funcionando generalmente como si estuviera completamente compuesto por el dispositivo más lento presente.

vdev

Cada zpool consta de uno o más vdevs(abreviatura de dispositivo virtual). Cada vdev, a su vez, consta de uno o más devices. La mayoría de los vdev se utilizan para el almacenamiento simple, pero también existen varias clases de soporte especial de vdev, que incluyen CACHE, LOGy SPECIAL. Cada uno de estos tipos de vdev puede ofrecer una de cinco topologías: dispositivo único, RAIDz1, RAIDz2, RAIDz3 o espejo.

RAIDz1, RAIDz2 y RAIDz3 son variedades especiales de lo que los expertos en almacenamiento llaman «RAID de paridad diagonal». El 1, 2 y 3 se refieren a cuántos bloques de paridad se asignan a cada banda de datos. En lugar de tener discos completos dedicados a la paridad, RAIDz vdevs distribuye esa paridad de manera semi uniforme en los discos. Una matriz RAIDz puede perder tantos discos como bloques de paridad tenga; si pierde a otro, fracasa y toma el zpool abajo con eso

Los vdev espejo son precisamente lo que parecen: en un vdev espejo, cada bloque se almacena en todos los dispositivos del vdev. Aunque los espejos de dos anchos son los más comunes, un vdev espejo puede contener cualquier cantidad arbitraria de dispositivos; los tres vías son comunes en configuraciones más grandes para un mayor rendimiento de lectura y resistencia a fallas. Un vdev reflejado puede sobrevivir a cualquier falla, siempre que al menos un dispositivo en el vdev permanezca en buen estado.

Los vdevs de un solo dispositivo también son exactamente lo que parecen, y son intrínsecamente peligrosos. Un vdev de un solo dispositivo no puede sobrevivir a una falla, y si se usa como almacenamiento o SPECIAL vdev, su falla tomará todo el zpool abajo con eso Ten mucho, mucho cuidado aquí.

CACHE, LOGy SPECIAL vdevs se pueden crear utilizando cualquiera de las topologías anteriores, pero recuerde, la pérdida de un SPECIAL vdev significa pérdida del grupo, por lo que se recomienda encarecidamente la topología redundante.

Artículo Recomendado:  Misterio resuelto en un ataque destructivo que eliminó >10k módems Viasat

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