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