Ayer comentábamos que ZFS ya está disponible para Linux, pero para una gran mayoría de usuarios la pregunta será: ¿qué gano yo usando ZFS? mientras otros incluso se preguntarán ¿qué es ZFS?
Para todos los que tenéis estas dudas vamos a hacer un pequeño repaso a ZFS y a sus características. En primer lugar decir que ZFS es un sistema de ficheros, como pueden ser otros que nos suenen más (FAT, NTFS, EXT-3,...) es decir, es una manera de gestionar el contenido que se almacena en el disco en un formato determinado.
Para ZFS se ha tenido en cuenta que los sistemas de ficheros son algo muy importante en un ordenador y que suelen tener un tiempo de vida largo, especialmente en servidores, ya que es muy difícil sustituirlos por otro nuevo, siendo necesario habitualmente hacer borrón y cuenta nueva. Esto implica que hay que tener en cuenta los límites que impone el sistema para que no lleguemos a ellos en el tiempo que va a estar en marcha.
En ZFS se ha tenido muy en cuenta esto, por lo que se diseñó desde un principio como un sistema de 128 bits, de forma que en la práctica será casi imposible alcanzar sus límites. Por poner un ejemplo, algunos de los límites son 248 ficheros máximos por sistema de ficheros individual, el tamaño máximo de un sistema de ficheros es de 264 bytes igual que el tamaño máximo de un fichero.
Pero antes de ver más características es necesario conocer como se estructura ZFS, ya que se diferencia bastante del resto de sistemas de ficheros, que se basan en particiones en el disco. En ZFS encontramos diversas capas por debajo: los zpools y por debajo de estas dispositivos virtuales, que pueden ser un disco, un RAID de varios discos o grupos de diversos dispositivos.
De este modo, todo el espacio de almacenamiento que tengamos se comparte entre los diferentes sistemas de ficheros, sin desperdiciar espacio en caso de que alguno de los sistemas no esté demasiado ocupado.
Una de las principales características de ZFS es que ofrece integridad de datos comprobable, de forma que los datos en disco siempre sean correctos, al usar un modelo transaccional para realizar las escrituras. Además, el sistema es autorreparable, de forma que si se detecta que una parte de un fichero se ha corrompido se busca en otro disco y si esta es buena se sobreescribe la que era incorrecta de forma que ahora ambas serán buenas.
El modelo transaccional viene dado por el uso de copy-on-write, una técnica con la que no se sobreescriben los datos en el disco cuando se modifican, sino que se crean nuevos bloques donde se graban y posteriormente se modifican las estructuras para que apunten a estos bloques nuevos.
Esto permite, además, la existencia de snapshots y clones. Los snapshots son copias del sistema de ficheros en un determinado momento. Son solo de lectura, pero su creación es muy rápida, lo que permite hacer copias de seguridad de forma casi inmmediata.
Los clones son snapshots en los que se puede escribir, de forma que se crean dos sistemas de ficheros que comparten bloques en el disco, ahorrando espacio. Esto puede servir, por ejemplo, en servidores de arranque remoto en los que cada usuario tendrá una serie de programas compartidos pero con configuraciones personalizadas.
Otra característica importante es que la creación de un sistema de ficheros es una operación muy ligera. Esto, junto al hecho de que no existen cuotas de espacio por usuario sino por sistema de ficheros propicia que se creen sistemas de ficheros para cada usuario en lugar de directorios dentro de un mismo sistema de ficheros. También ayuda a esto el que la gestión de los sistemas de ficheros sea mucho más sencilla que con otros sistemas existentes.
Para acabar este breve repaso añadir que ZFS ofrece compresión transparente al usuario, lo que maximiza el espacio disponible en disco y, muchas veces, la velocidad de lectura y que, por ahora, no ofrece cifrado transparente de datos, aunque desde Sun están trabajando en ello.
Si queremos usar ZFSestá disponible actualmente en Solaris, en OpenSolaris, Linux mediante FUSE y FreeBSD y lo estará en Leopard.
Más información | Wikipedia. Más información | Documentación de ZFS.
Ver 2 comentarios