Proyecto ZFS en MacOSForge

lzfs.pngEn el repositorio de Apple para proyectos Open Source ha aparecido una página sobre ZFS, No hay mucha más información disponible y simplemente dirige, de momento, a la descarga de la actual implementación ZFS del centro de recursos para desarrolladores de Apple.

ZFS

ZFS es un sistema de ficheros libre, desarrollado por Sun Microsystems para su sistema operativo Solaris. El significado original era ‘Zettabyte File System’, pero ahora es un pseudoacrónimo.

El anuncio oficial de ZFS se produjo en Septiembre del 2004. El código fuente del producto final se integró en la rama principal de desarrollo de Solaris el 31 de octubre del 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, integración de los conceptos anteriormente separados de sistema de ficheros y administrador de volúmenes en un solo producto, nueva estructura sobre el disco, sistemas de archivos ligeros, y una administración de espacios de almacenamiento sencilla. (Wikipedia)

¿Qué ofrece, entonces, ZFS?

Igual que pasar de números de 32 bits a números de 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 estaríamos hablando de trillones —millones de millones de millones— de GB… Tantos, que se considera prácticamente imposible que exista ningún medio de almacenamiento que pueda ser mayor que lo que se puede gestionar con ZFS, porque el número de partículas del universo es inferior… y de algo habrá que hacer los discos duros 😉

La capacidad de direccionar información de ZFS es tan grande, que lo que se hace es distribuir los archivos en diferentes pools, o zonas de almacenamiento, que son transparentes a la hora de acceder al sistema de archivos. Sun dice que ZFS es a los sistemas de archivos como la memoria virtual es a la memoria.

Otra capacidad, posiblemente la más interesante, es la de GARANTIZAR la integridad de los datos. En un sistema ZFS, un dato que está en disco siempre se graba bien… y se puede comprobar que no está bien, o que ha sido alterado de forma ajena al sistema de archivos —algo que sólo puede ser un error— en la primera relectura que se haga del archivo. No pueden existir errores “silenciosos”.

Además, también se garantiza la escritura por transacciones. Esto significa que no hay que llevar un registro de operaciones en disco que reconstruir en caso de fallo: el estado del disco siempre es coherente. Un apagón no puede dejar ningún disco ZFS en un estado incoherente. Y una subida de tensión, que alterase bits en los datos, sería registrada.

Aún mejor: ZFS dispone de un sistema de instantáneas (snapshots) del sistema de archivos, que permite retroceder al estado que tenía el sistema de archivos en cualquier momento pasado. Y por la forma en que se hacen las escrituras, y se garantiza la coherencia, es más sencillo mantener esas instantáneas que descartarlas. Y como las instantáneas contienen información suficiente no sólo para detectar errores, sino también para repararlos… la mayoría de los fallos que se pueden producir en un disco ZFS son recuperables, y en el peor de los casos, una versión anterior del fichero es recuperable. Esas instantáneas, además, sólo se producen de los archivos que cambian. Los archivos que no cambian no ocupan espacio adicional en disco.

Todo lo anterior tiene pinta de hacer el sistema de archivos muy lento. Y lo sería, para aplicaciones que accediesen al disco a bajo nivel. Pero ZFS organiza las escrituras y lecturas de forma que se agrupan previamente las operaciones, acelerando las escrituras, y todos los pasos necesarios para las verificaciones exhaustivas propias de ZFS.

Por último, y posiblemente lo más importante desde un punto de vista de tecnología con toque Apple, ZFS abstrae completamente del usuario, e incluso del administrador, una vez configurado, la noción de disco y volumen, y todo vive en un mismo pool de información. Imaginad que le pudierais poner un disco duro externo al portátil, y automáticamente tuviéseis más capacidad en un único “disco”, y que en cuanto se desconectase dejaseis de tenerla de forma transparente. Adiós a las particiones, salvo las que no existiesen dentro de ZFS, y que fueran necesarias para otros sistemas operativos, menos avanzados…

Lo que no ofrece ZFS

Pues, en primer lugar, por todo lo que implementa, ZFS no es el sistema de archivos más rápido del mundo para operaciones por bloques… aunque sí es el más rápido que ofrece sus características (algo que es tautológico, puesto que ninguno ofrece lo mismo 😉 ),

Además, la ocupación del disco es mucho mayor que con cualquier otro sistema, debido al sistema de imágenes, y la ocupación de memoria también, por la necesidad de crear en RAM todas las transacciones antes de intentar realizarlas en disco.

Lo que esto quiere decir es que, probablemente, no sea algo que vaya a sustituir a HFS+ como sistema de archivos estándar, pero sí puede ser una opción, especialmente en Mac OS X Server, y para la gestión de grandes volúmenes de datos, como los que puede manejar Xsan. De hecho, Xsan se queda en los 2 PB de tamaño de archivo (2 millones de GB).

Aún así, es muy interesante que Apple se interese en ZFS, tanto para usarlo como sistema de archivos alternativo —o como base para un Xsan 2.0—, como para utilizar partes de ZFS para evolucionar HFS+… Y en todo caso, no creo que vaya a formar parte de Leopard (Mac OS X 10.5), pero muy posiblemente sí de Mac OS X 10.6, si no se trata, como ya he dicho, de algo exclusivo para Xsan. Memoria de acceso Aleatorio

Esta versión para desarrolladores es un importante signo de que Apple planea la posible adopción de este sistema de archivos en futuras versiones del sistema operativo, sobrepasando el actual formato HFS+, usado hasta ahora.

Con la presentación de Mac OS 8.1, Apple introdujo HFS+ —nombrado por el Finder y otras utilidades como Mac OS Plus—, que permitía nombres realmente largos —más de 31 caracteres—, que podían estar en cualquier idioma —gracias a Unicode—, y sobre todo permitiendo que se pudieran crear archivos más grandes, de hasta 8 Exabytes (o casi 10 mil millones de GB).

0 0 votos
Article Rating
Subscribe
Notify of
0 Comments
Opiniones Inline
Ver todos los comentarios
0
Me encantaría saber tu opinión, por favor, deja un comentariox
()
x