¿Por qué se almacena ZFS en una estructura de árbol?


1

Aparentemente, en el ZFS (sistema de archivos), hay un uberblock que apunta a la raíz de un árbol zpool. ¿Alguien sabe por qué este árbol hace que las cosas sean más eficientes / confiables y dónde se almacena el árbol?

Respuestas:


4

El propósito del árbol es mejorar la integridad de los datos, en parte almacenando sumas de verificación lejos de los bloques de datos que protegen esas sumas de verificación. Toda la jerarquía del sistema de archivos forma un árbol hash de autocuración o árbol merkle. Aquí hay una descripción simplificada que hice anteriormente :

Ejemplo de integridad de datos ZFS

Yendo de izquierda a derecha, el directorio 1 contiene un puntero al archivo A, la suma de comprobación del archivo A y algunos otros metadatos. Pero dir 1 es solo otro bloque de datos al que apunta uberblock. El uberblock por lo tanto contiene una suma de comprobación de dir 1, y así sucesivamente. Esto significa que cada escritura en un archivo implica recalcular varias sumas de verificación, todo el camino de regreso al nodo raíz (el uberblock). Pero la política de copia en escritura y la naturaleza transaccional de ZFS mitigan la penalización de rendimiento. Además, ZFS está diseñado para aprovechar la ley de Moore: los ciclos de CPU son baratos, pero los discos duros son lentos.

ZFS también usa bloques ídem para replicar las partes más importantes del árbol (es decir, las partes más cercanas a la raíz), para proteger aún más contra la corrupción.


Es curioso, pero ¿qué es una "suma de verificación" y qué se supone que significa "integridad de datos"?
Kaitlyn Mcmordie

¿Qué otros beneficios ofrece esta configuración a zfs en comparación con otros sistemas de archivos?
Kaitlyn Mcmordie

2
Tome la "integridad de los datos" al pie de la letra, asegurándose de que las cosas no cambien ni se corrompan, básicamente. En cuanto a una suma de verificación, eso es básicamente un hash tomado de un archivo para verificar que coincida con lo que espera (sin errores de transcripción o daño ni nada). Este es un concepto bastante importante, así que familiarízate con él. en.wikipedia.org/wiki/Checksum
Shinrai

Para agregar al comentario de @ Shinrai, ZFS realmente le permite usar una suma de verificación Fletcher (computacionalmente barata) o un hash SHA-2 (más seguro, es decir, menos posibilidades de falsa coincidencia, pero más uso intensivo de la CPU).
sblair

Tengo que admitir que soy el tipo de geek informático malo al que no le importa nada * NIX nada, ¡mucho menos Solaris! (Supongo que soy un experto en hardware principalmente), así que no estoy tan familiarizado con ZFS ... pero es una implementación bastante ordenada ahora que empiezo a buscar.
Shinrai
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.