Download - Trabajo II-Particion ZFS
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 1/24
UNIVERSIDAD DE SANTIAGO DE CHILE
FACULTAD DE INGENIERIA
DEPARTAMENTO DE INFORMATICA
INFORME N° I
ESTRUCTURAS DE ARCHIVOS
ZFS – ZETTABYTE FILE SYSTEM
Autores: Daniel Bravo Díaz
Juan Reyes Ramírez
Sergio González Celis
Docente: Paulo Quinsacara J.
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 2/24
Santiago, 20 de Octubre de 2011
Tabla de contenido
INTRODUCCION.................................................................................................................4
VIVISION GENERAL DEL SISTEMA DE ARCHIVOS ZFS........................................5
Novedades de ZFS...............................................................................................................6
FUNDAMENTOS DE LA ARQUITECTURA ZFS..........................................................7
CARACTERISTICAS DE GESTION DE ZFS.................................................................8
Caracteristicas del pool....................................................................................................9
Gestion del pool...............................................................................................................9
PROPIEDADES DEL SISTEMA DE ARCHIVOS ZFS................................................11
LIMITACIONES DE ZFS.................................................................................................12
ESTADOS DE ZFS.............................................................................................................12
COMPONENTES DE ZFS.................................................................................................13
ESTRUCTURA DEL SISTEMA DE ARCHIVOS..........................................................13
SPA (Storage Pool Allocator)........................................................................................14
DSL (Dataset and Snapshot Layer)..............................................................................14
DMU (Data Management Layer)..................................................................................14ZAP (ZFS Attribute Processor).....................................................................................15
ZPL (ZFS Posix Layer)..................................................................................................15
ZIP (ZFS Posix Layer)...................................................................................................15ZVOL (ZFS Volume)....................................................................................................16
LA GESTION DE LOS DATOS........................................................................................17
LECTURA Y ESCRITURA...............................................................................................18
Protocolos de Escritura..................................................................................................19
Protocolos de Lectura....................................................................................................21
CONCLUSION....................................................................................................................23
FUENTES Y REFERENCIAS...........................................................................................24
2
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 3/24
3
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 4/24
INTRODUCCION
La informática ha logrado generar distintos tipos de tecnologías, las que son
adoptadas por las compañías realizando sus propios esquemas de manejo de
información. Microsoft, Sun y Apple son corporaciones que manejan sistemas y
estructuras propios buscando la seguridad, velocidad y fiabilidad de la información. Apple
diseñó un sistema de archivos llamado Hierarquical File System – Sistema de archivos
jerárquico (HFS) el cual fue reemplazado para trabajar con discos duros de mayor
capacidad, conocido como HFS+ (Hierarquical File System Plus), luego de esto se ha
intentado implementar ZFS en las arquitecturas de Apple, específicamente en Mac OS x
leopard, el presente trabajo fue pensado para abordar ésta implementación sin embargo
Apple no lo ha implementado por un tema de licencias por lo que se abordará ZFS como
sistema de archivo de Solaris abarcando caracteristicas y generalidades que permitan
comprender el proceso de Lectura y escritura de éste sistema de archivos
ZFS (Zettabyte File System), Es una nueva “clase” de sistema de archivos
incorporado inicialmente a Solaris 10 y que La compañía Ten’s Complement LLC
pretendía incorporar a Mac OS X, éste revolucionario sistema de archivos aporta una
forma de administración más simple, manejando escalabilidad y una fortaleza única en la
integridad de los datos con funciones y ventajas que no hay en ningún otro sistema de
archivos actual, ZFS no es precisamente el sistema de archivos más rápido del mundo y
puede considerarse como "lento" para operaciones por bloques, además, la ocupación del
disco es mucho mayor que con cualquier otro sistema, debido al sistema de imágenes, yademás, la ocupación de memoria también, por la necesidad de crear en RAM todas las
transacciones antes de intentar realizarlas en disco por lo que probablemente, no
sustituya a HFS+ como sistema de archivos estándar en Mac, pero sí podría ser una
opción, especialmente en Mac OS X Server, sin embargo es importante aclarar que ZFS
4
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 5/24
no es una mejora incremental de la tecnología existente; es fundamentalmente un nuevo
acercamiento a la administración/gestión de datos.
UNA VISION GENERAL DE ZFS
ZFS se basa en el concepto de “grupos de almacenamiento” para administrar el
almacenamiento físico. Desde siempre, los sistemas de archivos se estructuran a partir de
un solo único dispositivo físico. Para poder ocuparse de varios dispositivos y ofrecer
redundancia de datos, se incorporó el concepto del administrador de volúmenes, con el fin
de ofrecer un único dispositivo y evitar que los sistemas de archivos tuvieran que
modificarse para aprovechar las ventajas de varios dispositivos. Este diseño significabaotro nivel de complejidad y obstaculizaba determinados avances en los sistemas de
archivos, al carecer de control sobre la ubicación física de los datos en los volúmenes
virtualizados.
El Cuando el cambio de 32 bits a 64 bits permitió pasar de 2GB de tamaño
máximo a 16 mil millones de GB, ZFS utiliza números de 128 bits para los tamaños de sus
archivos, de modo que
se habla de trillones —millones de millones de millones— de GB.
Tantos, que se considera prácticamente imposible que exista algún medio de
almacenamiento que pueda ser mayor que lo que se puede gestionar con ZFS
La capacidad de direccionar información de ZFS es tan grande, que lo que se hace es
distribuir los archivos en diferentes pools, o recursos de almacenamiento, que son
transparentes a la hora de acceder al sistema de archivos.
Es tanto asi que una referencia sobre la capacidad de ZFS en Wikipedia indica que si un
usuario crease 1000 ficheros por segundo, tardaría unos 9000 años en alcanzar el límite
impuesto por el número de ficheros.”.
ZFS elimina la gestión de volúmenes en conjunto. En vez de tener que crear
volúmenes virtualizados, ZFS agrega dispositivos a un grupo de almacenamiento. El
grupo de almacenamiento describe las características físicas del almacenamiento
(organización del dispositivo, redundancia de datos, etc.) y actúa como almacén de datos
5
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 6/24
arbitrario en el que se pueden crear sistemas de archivos. Los sistemas de archivos ya se
limitan a dispositivos individuales y les permite compartir espacio con todos los sistemas
de archivos del grupo. Ya no es necesario predeterminar el tamaño de un sistema de
archivos, ya que el tamaño de los sistemas de archivos crece automáticamente en el
espacio asignado al grupo de almacenamiento. Al incorporar un nuevo almacenamiento,
todos los sistemas de archivos del grupo pueden usar de inmediato el espacio adicional
sin procesos complementarios. En muchos sentidos, el grupo de almacenamiento actúa
como sistema de memoria virtual. Si se agrega al sistema un módulo de memoria DIMM,
el sistema operativo no obliga a invocar algunos comandos para configurar la memoria y
asignarla a determinados procesos. Todos los procesos del sistema utilizan
automáticamente la memoria adicional.
Novedades de ZFS
En ZFS se efectúa una suma de comprobación de todos los datos y metadatos
mediante un algoritmo seleccionable por el usuario. Los sistemas de archivos
tradicionales con suma de comprobación la efectúan por bloques obligatoriamente debido
a la capa de administración de volúmenes y la disposición del sistema de archivos
tradicional. El diseño tradicional significa que algunos modos de errores, por ejemplo la
escritura de un bloque completo en una ubicación incorrecta, pueden hacer que los datos
cuya suma de comprobación sea correcta no lo esté en realidad. Las sumas de
comprobación de ZFS se almacenan de forma que estos modos de error se detecten y
haya una recuperación eficaz. La recuperación de todos los datos y las sumas de
comprobación se efectúa en la capa del sistema de archivos, y es transparente para todas
las aplicaciones.
Asimismo, ZFS ofrece soluciones para la reparación automática de datos. Además
admite grupos de almacenamiento con diversos niveles de redundancia de datos que
incluyen la duplicación y un nuevo modelo de replicación de datos llamado RAID-Z, una
variación similar a RAID-5. Si se detecta un bloque de datos incorrecto, ZFS recupera los
6
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 7/24
datos correctos de otra copia redundante y repara los datos anómalos sustituyéndolos por
la copia buena.
Figura 1 : Detección y recuperación de errores
FUNDAMENTOS DE ARQUITECTURA DE ZFS
• No más particiones
• El Pool de almacenamiento contiene discos y una estrategia de RAID
• El Sistemas de archivos está en pools
• Propiedades Adicionales del sistema de archivo :
• Maneja puntos de Montaje
• Permite exportar o no
• Posee opción de compresion o no
• Manejo de cuotas
• Reserva de Ancho de banda.
7
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 8/24
CARACTERISTICAS DE GESTION DE ZFS:
∗ Tamaño máximo de 256 cuatrillones de zettabytes (Un zettabyte es una unidad de almacenamientode información cuyo símbolo es el ZB, equivale a 1021 bytes.
∗ Administración
sencilla por comandos o web.
(nos olvidamos de comandos como format, newfs, mount, vfstab, etc.)
∗ Copy-on-write
(ZFS no sobrescribe los nuevos datos directamente, crea los datos en un nuevo
bloque y posteriormente cambia los punteros de datos y realiza la escritura
definitiva. Con este método siempre esta garantizada la integridad de los datos y
no es necesario el uso de utilidades como fsck ), Evita la secuencia de Leer –
Modificar – Escribir
∗ Snapshots (capturas).
Podemos sacar un “foto” de forma rápida a todo un sistema de ficheros. Podemos
instalar un paquete en el sistema y si este no cumple nuestras expectativas
podemos realizar un rollback para volver al estado anterior.
∗ Comprensión.
Podemos definir un sistema de ficheros donde toda la información este
comprimida.
∗ Mirror y Raid-Z :
Se pueden definir de forma muy sencilla mirroring (Reflejo) entre discos y RAID-Z.
Actualmente cuando se trabaja con herramientas como Solaris Volume Manager
hay que crear las particiones (slice), agrupar discos y crear la base de datos que
alberga la configuración y estado de todos los volúmenes. Todo esto implica la
ejecución de comandos como prtvtoc , fmthard , metadb,metainit y metaroot sin
contar las modificaciones en el fcihero /etc/vfstab.
8
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 9/24
Con ZFS todo se resume a dos comandos zfs y zpool. Tal como podemos ver en
la figura 2, ZFS trabaja con un pool que está formado por todos los
dispositivos físicos.
Fig. 2: Comparación de almacenamientos
Las características del POOL son:
∗ El pool esta formado por dispositivos de almacenamiento de igual o
diferentes capacidades.
∗ El pool puede crecer y encoger añadiendo y quitando discos.
∗ Los sistemas de ficheros ZFS comparten el pool y se puede definir cuotas y
reservar de espacio para un solo sistema de ficheros.
ZFS abarca el concepto de hybrid storage pool el cual detectará automáticamente el tipo
de discos instalados y utilizará cada uno de ellos en función a sus propias características,
(y lo más interesante es que no debemos hacer nada para ello) - figura 3 -
9
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 10/24
Figura 3 : conjunto de almacenamiento hibrido
Gestión del POOL
El pool esta formado por dispositivos de almacenamiento de igual o diferentes
capacidades, puede crecer y encoger añadiendo y quitando discos y los sistemas de
ficheros ZFS comparten el pool y se puede definir cuotas y reservar de espacio para un
solo sistema de ficheros.
Opciones de gestion:
• Añadir nuevos discos al pool para ampliar el espacio disponible en un pool
tenemos que añadir nuevos discos a la máquina o utilizar particiones (slices) no
usada en otro disco.
• Quitar discos al pool que forma parte del pool
• Eliminar un pool por completo y dejar los dispositivos libres para otro uso
• Reemplazar un disco del pool, en caso de que uno de los discos falle
• Crear un mirror (Raid 1)
• Crear un mirror desde un disco existente.
• Reemplazar un disco del mirror en caso de que uno de los discos falle y se tenga
que reemplazar
• Crear RAID-Z, ZFS permite la creación de RAID-Z muy similar a RAID 5, el
cual se compone como mínimo de tres discos y en cada uno de ellos se reserva un
10
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 11/24
espacio con información de paridad. RAID-Z cuenta con ventajas como la paridad
distribuida simple y doble. La doble paridad permite asumir errores en uno dos
discos que componen el RAIDZ.
• Snapshots, son fotos de los datos de un sistema de ficheros, esto se hace de
forma instantánea y comparte el espacio de los datos no modificados. Tiene gran
utilidad para realizar modificaciones sobre servicios y si no funcionan realizar un
rollback de forma sencilla.
PROPIEDADES DE ZFS
Los sistemas de ficheros ZFS tienen propiedades que pueden ser activadas o
desactivadas según nuestras necesidades, algunas de ellas son:
∗ Creación cuotas y reserva de espacio
Realizar una reserva de espacio no implica un limite de cuota para el sistema de
ficheros este puede utilizar todo el tamaño del pool además se pueden combinar
las opciones de cuota y reserva para un sistema de ficheros.
∗ Sistema de ficheros comprimido
∗ Sistema de ficheros de solo lectura
∗ Permite cambiar el punto de montaje
Nota:
Los sistemas de ficheros creados con ZFS se montan automáticamente y de forma
persistente
11
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 12/24
LIMITACIONES DE ZFS
Existen una serie de limitaciones que están mejor explicadas en la entrada en inglés de la
wikipedia. Reproduzco algunas aquí.
• ZFS no soporta la definición de quotas por grupo o por usuario. En cambio, como los
filesystems ZFS son muy livianos, uno crea filesystems para cada usuario con sus propias
limitaciones de espacio. Sin embargo, no hay una solución para cuando un mismo
filesystem debe ser compartido por varios usuarios con quotas distintas.
• Por el momento, no es posible reducir la cantidad de vdevs en un zpool, ni reducir la
capacidad de un zpool.
•No se puede agregar un disco a un vdev de un RAID-Z o de un RAID-Z2, pero sí se
puede agregar otro vdev al mismo zpool.
•No se pueden mezclar vdevs de distintos tipos en un mismo pool.
•ZFS no es un sistema nativo de cluster, distribuido, ni un sistema paralelo de archivos y
no puede proveer acceso concurrente para múltiples hosts porque ZFS es un filesystem
local.
Estados de ZFS
Los estados posibles son:
• ONLINE: el dispositivo está operando normalmente.
• DEGRADED: el dispositivo virtual tiene fallos pero continúa en funcionamiento.
Este caso de puede dar cuando falla un dispositivo que forma parte de un RAIDZ.
Hay que sustituir lo antes posible dispositivo dañado.
• OFFLINE: dispositivo parado manualmente por el administrador.
• UNAVAILABLE: dispositivo no disponible. Este estado es el siguiente a
DEGRADED cuando finalmente el dispositivo es inaccesible.
12
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 13/24
COMPONENTES DE ZFS
ZFS tiene seis componentes:
• Un front-end (FE)
(De forma general, front-end hace referencia al estado inicial de un proceso)
• Una memoria caché de cooperación (CACHE)
• Un administrador de archivos (FMGR)
• Un administrador de concesiones (LMGR)
• Un gestor de transacciones (TMGR)
• y Un almacén de objetos (OBS).
Estos componentes trabajan juntos para proporcionar interacción a aplicaciones/usuarios
en un sistema de archivos distribuido.
ESTRUCTURA DEL SISTEMA DE ARCHIVOS ZFS
ZFS administra los sistemas de archivos a través de una jerarquía que permite la
administración simplificada de propiedades como cuotas, reservas, compresión y puntos
de montaje. En este modelo, los sistemas de archivos se convierten en el punto central de
control. Los sistemas de archivos son muy sencillos (equivalen a un nuevo directorio), de
manera que se recomienda crear un sistema de archivos para cada usuario, proyecto,
espacio de trabajo, etc. Este diseño permite definir los puntos de administración de forma
detallada.
ZFS está compuesto de 7 diferentes piezas:
SPA (Storage Pool Allocator)
DSL (Dataset and Snapshot Layer)
DMU (Data Management Layer)
ZAP (ZFS Attribute Processor)
ZPL (ZFS Posix Layer)
ZIL (ZFS Intent Log)
13
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 14/24
ZVOL (ZFS Volume)
Fig. 4: Diagrama de ZFS - (Almacenamiento General)
SPA (Pool de configuración)
Mientras que la capa entera del conjunto de almacenamiento
la piscina se refiere a
menudo como el SPA
(Becario de agrupaciones de almacenamiento), la parte de
configuración es realmente la interfaz pública. Es responsable de encolar las capas ZIO
y
/vdev en un objeto de grupo consistente. Incluye rutinas para crear y destruir los pool
piscinas de su información de configuración, así como sincronizar los datos
a la /
vdevs a
intervalos regulares.
DSL (conjunto de datos y la capa de instantáneas)
Los agregados DSL DMU objsets en un espacio de nombres jerárquico, con las
propiedades heredadas, así como las cuotas y la aplicación de reservas. También es
responsable de la gestión de instantáneas y clones de objsets.
DMU (Unidad de Gestión de Datos)
La DMU es responsable de presentar un modelo de objeto transaccional,
construido sobre el espacio de direcciones plano presentado por la SPA. Los
consumidores usuarios interactúan con la DMU a través de objsets, objetos, y las
transacciones. Un objset es una colección de objetos, donde cada objeto es una pieza
arbitraria de almacenamiento de la SPA. Cada transacción es una serie de operaciones
que deben estar comprometidos en el disco como un grupo, sino que es fundamental para
la consistencia en el disco de ZFS.
14
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 15/24
ZAP (procesador de ZFS atributo)
El ZAP se encuentra encima de la DMU, utiliza algoritmos hash escalable para
crear
en forma arbitraria (nombre, objeto) las asociaciones dentro de un objset. Es más
comúnmente usado para implementar directorios dentro de la ZPL, pero también se utiliza
ampliamente en todo el DSL, así como un método para almacenar todas las propiedades
del conjunto de almacenamiento.
la piscina propiedades. Hay dos algoritmos ZAP muy
diferentes, diseñados para diferentes tipos de directorios. El "zapping micro" se utiliza
cuando el número de entradas es relativamente pequeño y cada entrada es
razonablemente corta. El "zapping grasa" se utiliza para grandes directorios, o los que
tienen nombres muy largos.
ZPL (ZFS POSIX Layer)
La ZPL es la interfaz principal para interactuar con ZFS como sistema de archivos.
Se trata de una capa
de delgada (relativamente) que se sienta encima de la DMU y
presenta una abstracción del sistema de ficheros de archivos y directorios. Es el
responsable de cerrar la brecha entre los interfaces de OpenSolaris VFS y las interfaces
DMU subyacente. También es responsable de hacer cumplir las ACL (Access Control List)
las normas, así como la semántica síncrona (O_DSYNC).
ZIL (ZFS Intent Log)
Mientras que ZFS proporciona datos consistentes siempre en el disco, se sigue la
semántica tradicional sistema de ficheros donde la mayoría de los datos no se escriben en
el disco inmediatamente, de lo contrario el rendimiento sería patológicamente lento. Sin
embargo, hay aplicaciones que requieren una semántica más estrictas en el que se
garantiza que los datos que en el disco en el momento de la lectura (2) o write (2)
devuelve la llamada. Para aquellas aplicaciones que requieren este comportamiento
(especificado con O_DSYNC), el ZIL ofrece la semántica necesaria utilizando un eficiente
por conjunto de datos de registro de transacciones que se pueden reproducir en el caso
de un accidente.
15
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 16/24
ZVOL (
controlador - emulador de volumen ZFS)
ZFS incluye la capacidad de presentar los dispositivos de
primas respaldado por
espacio de una agrupación de almacenamiento. Estos son conocidos como 'zvols' dentro
del código fuente, y se lleva a cabo por un único archivo en la fuente de ZFS.
ZFS puede reconocerse por 3 componentes: ZPL (ZFS POSIX Layer - Capa POSIX ZFS),
DMU (Data Management Unit – Unidad administradora de datos) y SPA (Storage Pool
Allocator – Localizador de grupo de almacenamiento). Estos servicios incluyen una
estructura interna más compleja.
Fig. 5: Vision General de capas y procesos de ZFS.
16
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 17/24
LA GESTION DE LOS DATOS
En primer lugar, todos los filesystems ofrecen métodos para crear, borrar, mover,
copiar y renombrar archivos y directorios. A eso se agregan otras características muy
importantes como la gestión de permisos, enlaces (hard links y symbolic links),
mecanismos para evitar la fragmentación, mecanismos para asegurar la integridad de los
datos (como el journaling, utilizado por ext3, ext4, NTFS, ReiserFS, entre otros), y
métodos de gestión de RAIDs entre otras cosas. Como indica la gente de Sun, ZFS es
una nueva aproximación a la organización de la información, orientada a evitar conceptos
obsoletos y reducir la complejidad de código, produciendo un sistema de archivos sencillo
de administrar, con énfasis en la integridad de los datos y la escalabilidad.
Una de las características principales de ZFS es que la estructura en el disco del
sistema de archivos se mantiene siempre, siempre, siempre válida. Da igual en qué
momento quites el cable eléctrico del ordenador mientras lo usas: ZFS te garantiza que la
estructura del sistema de archivos será siempre válida. Es técnicamente imposible
encontrar un momento en el que sea posible tirar del cable y encontrar algún problema.
No se trata de journaling: (Un sistema de archivos con journaling si que deja el sistema de
archivos en estados inconsistentes, pero deja un “journal” de operaciones no finalizadas
que permite reparar esas inconsistencias en pocos segundos). ZFS jamás puede llegar a
un estado de inconsistencia, por eso no usa journaling: no lo necesita (y se gana algo de
rendimiento con ello).
Este modelo, que se aplica a todas las transacciones, implica que todos los
punteros de bloque tienen un checksum de 256 bits que se verifica cada vez que se
accede a él. Además, cada uno de los bloques que contienen información activa no son
nunca sobreescritos, sino que la información modificada se ubica en otros bloques
nuevos, y estos últimos son agrupados en grupos transaccionales para reducir el
overhead que esto podría producir. Esto permite una preservación casi perfecta de la
información.
17
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 18/24
LECTURA Y ESCRITURA
ZFS consigue que lo anterior sea así porque los cambios al sistema de archivos se
hacen de forma transaccional:
Cuando se modifica un archivo, a diferencia de un sistema de archivos tradicional, que
trata de reescribir los datos antiguos, lo que se hace es escribir el archivo modificado a
una parte del disco que no esté siendo utilizada, y una vez que está escrito ese archivo,
se modifica de forma atómica el “puntero” que apuntaba al viejo archivo hacia el nuevo.
Esa modificación o se lleva a cabo o no, nunca se queda a la mitad, por tanto en caso de
fallo, el sistema de archivos se quedará apuntando al viejo archivo o al nuevo, pero no
habrá inconsistencias. Por eso, jamás se reescriben los bloques utilizados por el archivo
viejo, se escriben siempre en un sitio nuevo y vacío (algo que, por cierto, implica
fragmentación).
Además si unimos a esto el checksumming que se mantienen de todas las estructuras de
datos del disco y el Raid-Z con autocuración, es posible visualizar que en una
configuración Raid-Z todo el sistema de archivos está duplicado en más de un sistema de
archivos -incluso puede activarse la duplicación dentro de un mismo sistema de archivos-,
y si se encuentra un fallo al comprobar el checksum, se sabe que ha ocurrido un error y
se corrige con una de las copias.
El complejo formato de punteros de bloque también proporciona que los metadatos del
sistema de ficheros se almacenen de manera adaptada al Endianness de la máquina,
permitiendo en un almacenamiento que contiene un pool ZFS se mueva entre sistemas
que utilizan diferente orden para los bytes. Los bloques individuales de metadatos se
escriben con el orden de bytes nativo del sistema que escribe el bloque.
Cuando se lee, si el endianness no coincide, los bytes del metadato se intercambian en
memoria. Como cabe esperar en los sistemas POSIX, desde el punto de vista de las
aplicaciones, los ficheros son arrays de bytes, de manera que las aplicaciones siguen
18
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 19/24
siendo responsables de copiar los datos de los ficheros con cualquier intercambio de
bytes que sea necesario.
ZFS tiene una tabla simple de control de prioridades de lectura/escribir, se da una
mayor prioridad a la lectura, con limitaciones para evitar cuelgues en la escritura, la
mayoría de lo que se escribe va a la caché y se vuelcan por los servicios y/o procesos
(daemons ) de fondo mientras que lee aplicaciones de bloque.
Protocolo para la Lectura de archivos
La operación se detalla a continuación:
• FE mira hacia arriba “nodo superior” a travéz del puntero de archivos “fsptr ”
• Si la lectura puede ser completada por los bloques de archivos almacenados
localmente en caché entonces los datos solicitados se devuelven al usuario y
retorna.
• Una peticion de lectura se envía a la FMGR del archivo y la FE, y la caché espera
que la peticion sea satisfecha.
• La FMGR controla y si es necesario asegura los bloques solicitados
• La FMGR controla si otros cachés contienen los bloques solicitados del archivo y
hace lo siguiente:
Si es Verdad
- Reenvia por sobre el rango de byte asegurando la solicitud de lectura y la
direccion solicitando FE (front-end)
- Deja al solicitante en la cache
- FE (hace referencia al estado inicial del proceso ) en el host que soporta
los bloque solicitados
De lo contrario
- Reenvia por sobre el rango de byte asegurando la solicitud de lectura y la
direccion solicitando FE (front-end)
- El solicitante, en el OSD solicita la contencion los bloque solicitados
19
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 20/24
• La FE/Cache en el Host o el OSD envía los bloques de datos que se solicitan y
confirma si fueron segurados al solicitante.
Definimos los escenarios anteriores como la comunicación de tercero, es decir la parte
que pasa los datos reales no pertenecen al mismo grupo de datos que fue solicitado.
La Figura 6 muestra el control y canales de información para la lectura (de archivos, etc.)
y en ambos casos la solicitud se envíaa la FMGR mientras los datos lleguen bien de otro
caché o desde el OSD
componetes de zfs
20
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 21/24
Figura 6: Proceso de Lectura
Protocolo de Escritura de archivos
Sobre el supuesto de que se llevaron a cabo las operaciones de lectura por varios
usuarios en el archivo y que algunos de sus bloques de datos residen en varios cachés.
Después de un periodo de tiempo, un usuario desea escribir el fichero, el proceso es el
siguiente:
(a) FE envia la peticion de escritura a FMgr
(b) Fmgr chequea si otros cachés tienen bloques del archivo y hacen lo siguiente:
(1) Revocar todas las concesiones de lectura en el objeto ( archivo) cuya area de
distribución se sobrepone con el area de lectura, para tal efecto se envían
Messages a los varios cachés. Se debe tener en cuenta que se debe esperar para
el reconocimiento desde el o los cachés, de lo contrario los clientes pueden leer
datos incorrectos
(2) Revocar todas las concesiones de escribir sobrepuestas, ésto puede requerir
la limpieza del buffers en el disco-objeto
(3) Crea una regla para una zona segura de escritura para el rango especificado
21
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 22/24
(c) si el bloque de datos no está en el caché local ( completamente) y los datos no se
ajustan a los limites de las paginas entonces se lee en las paginas apropiadas dentro de
la caché.
(d) Escribe los datos en el bloque de la caché correcto
(e) Retorna los resultados correctos ( numero de bytes escritos o codigo de error o
codigos de error como la semántica de la escritura requiere) hacia la FE que le pasa al
usuario.
La Figura 7 muestra el control y canales de información para la operación de Escritura.
Figura 7 : Proceso de escritura
22
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 23/24
C ONCLUSION
En el desarrollo del trabajo realizado, se ha dado a conocer un sistema de gestión
de archivos tecnología revolucionaria que supera los actuales límites de almacenamiento
dando origen a formatos de información que requieren bastante procesamiento para su
uso por lo que para que un sistema opere con ZFS necesita de emuladores para operar
en las capas intermedias dado que las tecnologías aún no manejan de manera nativa el
número de 128 bits.
ZFS es hoy el sistema de gestión de ficheros mas avanzado y flexible dado sus
características, entre las que destacan la integridad tanto de los ficheros como de los
metadatos, la flexibilidad en la gestión el rendimiento, los snapshots automáticos y un
largo repertorio de características, facilita el almacenamiento de grandes cantidades de
datos e integra conceptos como la gestión de volúmenes a los tradicionales de la gestión
de archivos. Es un sistema bastante reciente, lo que le permite lidiar bien con problemas
tradicionales que presentan otros sistemas de ficheros cuyos orígenes se remontan más
atrás en el tiempo y que han tenido que incorporar mejoras conforme los tiempos y las
necesidades cambiaban
Una de las caracteristicas que más llamó la antención en éste trabajo de
investigación es el hecho de poder adicionar en cualquier momento diversos medios de
23
5/11/2018 Trabajo II-Particion ZFS - slidepdf.com
http://slidepdf.com/reader/full/trabajo-ii-particion-zfs 24/24
almacenamientos masivo al pool de almacenamiento siendo capaz de poder trabajar con
cada uno de ellos independiente de sus caracteristicas y manteniendo su integridad.
Respecto al proceso de Lectura y Escritura es quizas hoy en dia el único sistema
de archivos capaz de garantizar los datos independientemente de los errores que se
generen
Creemos que el desafío está en profundizar cada uno de los tópicos que se mencionaron
y otros aspectos que no se consideraron quizas por salirse del marco de investigación
establecido durante la presentación y en la confección de este informe.
FUENTES Y REFERENCIAS
http://es.wikipedia.org/wiki/ZFS_(sistema_de_archivos)
http://hub.opensolaris.org/bin/view/Community+Group+zfs/source
http://download.oracle.com/docs/cd/E24842_01/html/820-2314/gbchy.html
http://wiki.genunix.org/wiki/index.php/ZFS#Operaciones_entrada_y_salida
http://www.faq-mac.com/42313/zfs-retorna-mac-os-x-mano-ten-s-complement-llc
http://haruhismo.wordpress.com/2007/10/13/sistema-de-ficheros-zfs/
24