ZFS 101: información de almacenamiento y rendimiento de ZFS

No, en realidad no puedes comprar discos Ironwolf con el logotipo de OpenZFS, pero como están garantizados sin SMR, son una opción sólida.
Ampliar / No, en realidad no puedes comprar discos Ironwolf con el logotipo de OpenZFS, pero como 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 ocupados (leer: cuerdo), ¿podemos estar interesados ​​en aprender los fundamentos del almacenamiento de la computadora? En silencio esta primavera, ya hemos visto algunos conceptos básicos necesarios sobre cómo probar la velocidad del disco y qué es RAID. En la segunda de estas historias, incluso prometimos un seguimiento que explora el rendimiento de varias topologías de múltiples discos en ZFS, el sistema de archivos de próxima generación del que has oído hablar debido a su apariencia 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 llegar a los números, ¡y están llegando, lo prometo! – para todas las formas en que puede modelar ZFS con un valor de ocho discos, tenemos que hablar sobre cómo ZFS almacena sus datos en el disco primero.

Zpools, vdevs y dispositivos

Para comprender realmente ZFS, debe prestar mucha atención a su estructura real. ZFS combina niveles tradicionales de gestión de volumen y sistema de archivos y utiliza un mecanismo transaccional de copia en escritura: ambos significan que el sistema es muy estructuralmente diferente de los sistemas de archivos convencionales y las matrices RAID. El primer conjunto de elementos principales a entender son zpools, vdevsy devices.

zpool

la zpool Es la estructura ZFS más alta. Un zpool contiene uno o más vdevs, cada uno de los cuales contiene uno o más devices. Los Zpools son unidades autónomas: una computadora física puede contener dos o más zpools separados, pero cada uno es completamente independiente de cualquier otro. Zpools no puede compartir vdevs entre ellos

La redundancia de ZFS está en vdev nivel, no el zpool nivel. Hay absolutamente no redundancia a nivel de zpool, si la hay vdev o SPECIAL vdev se pierde, todo zpool piérdete con eso.

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 «tiras» de ZFS escriben en el conjunto, pero esto es incorrecto. Un zpool no es un RAID0 de aspecto divertido: es un JBOD de aspecto divertido, con un mecanismo de distribución complejo sujeto a cambios.

En su mayor parte, las escrituras se distribuyen entre los vdevs disponibles en función de su espacio libre disponible, de modo que todos los vdevs se llenen teóricamente al mismo tiempo. En las versiones más nuevas de ZFS, también se puede considerar el uso de vdev, si un vdev está significativamente más ocupado que otro (por ejemplo, debido a la carga de lectura), se puede omitir temporalmente para escribir a pesar de tener La mayor proporción de espacio libre disponible.

El mecanismo de conciencia de uso integrado en los métodos modernos de escritura a mano ZFS puede reducir la latencia y aumentar la productividad durante períodos de carga inusualmente altos, pero no debe confundirse con papel blanco mezcle discos de oxidación lenta y SSD rápidos de forma involuntaria en el mismo grupo. Tal grupo no coincidente seguirá funcionando como si estuviera completamente compuesto por el dispositivo más lento presente.

vdev

cada zpool consiste en uno o más vdevs(abreviatura para dispositivo virtual). Cada vdev, a su vez, está compuesto por uno o más reales devices. La mayoría de los vdevs se usan para el archivado simple, pero también hay varias clases especiales de soporte de vdev, que incluyen CACHE, LOGy SPECIAL. Cada uno de estos tipos de vdev puede ofrecer una de las cinco topologías: dispositivo único, RAIDz1, RAIDz2, RAIDz3 o espejo.

RAIDz1, RAIDz2 y RAIDz3 son variedades especiales de lo que los grises de almacenamiento llaman «RAID de paridad diagonal». 1, 2 y 3 se refieren al número de bloques de paridad asignados a cada tira de datos. En lugar de tener discos enteros dedicados a la paridad, los discos RAIDz distribuyen esa paridad de manera uniforme en todos los discos. Una matriz RAIDz puede perder tantos discos como bloques de paridad; si se pierde otro, falla y toma el zpool abajo con eso.

Los espejos vdev son exactamente como parecen: en un espejo vdev, cada bloque se almacena en cada dispositivo en el vdev. Aunque los espejos de dos anchos son los más comunes, un espejo vdev puede contener cualquier número arbitrario de dispositivos: los tres modos son comunes en configuraciones más grandes para un mayor rendimiento de lectura y resistencia a fallas. Un espejo vdev puede sobrevivir a cualquier error, siempre que al menos un dispositivo en el vdev permanezca intacto.

Los vdevs de un solo dispositivo también son tal como parecen y son inherentemente peligrosos. Un solo dispositivo vdev no puede sobrevivir a ningún error y si se usa como memoria o SPECIAL vdev, su fracaso tomará todo zpool abajo con eso. Ten mucho, mucho cuidado aquí.

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

Deja una respuesta

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

76 − = 73