ZFS



Tipo de Sistema de Archivos: ZFS



ZFS es un sistema de archivos desarrollado por Sun Microsystems para su sistema operativo Solaris. El significado original era 'Zettabyte File System'.
El código fuente del producto final se integró en la rama principal de desarrollo de Solaris el 31 de octubre de 2005  y fue lanzado el 16 de noviembre de 2005 como parte del build 27 de OpenSolaris.
ZFS fue diseñado e implementado por un equipo de Sun liderado por Jeff Bonwick.
ZFS destaca por su gran capacidad, sistemas de archivos ligeros y una administración de espacios de almacenamiento sencilla.

CARACTERÍSTICAS:

Capacidad
128 bits (27 veces la capacidad de un sistema de ficheros de 64 bits).
Maxima dimensión de un archivo: 16 exabytes
Los límites de ZFS están diseñados para ser tan grandes que no se encuentren nunca en la práctica.
Como ejemplo de las capacidades expresadas por estos números, 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.

Plataformas //Compatibilidad
ZFS es parte de Solaris para SPARC y Solaris para x86. Los Pools y sus sistemas de ficheros ZFS asociados / zvols pueden moverse entre sistemas que utilicen SPARC y x86. 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 siendo responsables de copiar los datos de los ficheros con cualquier intercambio de bytes que sea necesario.
Sun ha indicado que está investigando el port del producto a Linux, aunque no hay planes para llevarlo a HP-UX o AIX.  FreeBSD 7, también da soporte a ZFS.
Recientemente, Apple ha confirmado que utilizará ZFS en la próxima versión Server de su sistema operativo Mac OS X 10.6 'Snow Leopard'.

Modelo transaccional (Copy-on-write)
ZFS utiliza un modelo transaccional copy-on-write. Todos los punteros a bloques de un sistema de ficheros contienen un checksum de 256 bits sobre el bloque apuntado, que se comprueba al leer el bloque. Los bloques que contienen datos activos no se sobrescriben nunca; en su lugar, se reserva un nuevo bloque, y los datos modificados se escriben en él, y entonces cualquier bloque de metadatos que lo referencie es, de modo similar, reubicado y escrito. Para reducir la sobrecarga de este proceso, se agregan varias actualizaciones en grupos de transacciones, y se utiliza un log de intentos cuando se necesitan escrituras síncronas.

Instantáneas (Snapshots)
Como ZFS no sobrescribe datos, tomar una instantánea simplemente significa no liberar los bloques utilizados por versiones antiguas de los datos. La ventaja es que las instantáneas se toman rápidamente y también son eficientes desde el punto de vista del espacio, pues comparten los datos sin modificar con el sistema de ficheros.
Se pueden crear instantáneas modificables (llamadas clones), lo que resulta en dos sistemas de ficheros independientes que se crean compartiendo un conjunto común de bloques. A medida que se realizan cambios los bloques del sistema de ficheros divergen, pero los bloques comunes se mantendrán independientemente de cuantos clones existan.

Tamaños de bloque variable
ZFS utiliza bloques de tamaño variable hasta 128K. El código disponible actualmente permite al administrador afinar el tamaño máximo de bloque utilizado, pues ciertas cargas no rinden bien con bloques grandes. También está contemplado un ajuste automático para adecuarse a las características de la carga de trabajo.
Si se activa la compresión se utilizan tamaños de bloque variable, si un bloque se puede comprimir para que quepa en un bloque de tamaño menor, se utiliza el bloque pequeño en el disco, de manera que no sólo se consume menos capacidad sino que se aumenta el throughput de entrada/salida (con el coste de aumentar la sobrecarga de la CPU).

Espacios de almacenamiento (Storage pools)

ZFS se apoya en espacios de almacenamiento virtuales (virtual storage pools).






No hay comentarios:

Publicar un comentario