texto:   A-   A+
eliax

ZFS en camino a OS X 10.5, y por qué esto es importantísimo
eliax id: 1993 josé elías en dic 24, 2006 a las 10:34 PM (22:34 horas)
En mi editorial del 4 de Junio del 2006 (titulado "El Sol de Sun Microsystems se apaga"), hice mención de que el filesystem más moderno del mundo, el Sun ZFS (o "ZetaByte FileSystem") vendría para Mac OS X, y recientemente ese comentario se hizo realidad como pueden apreciar en este artículo en Francés con la primera foto no autorizada por Apple que muestra que soporte para ZFS en OS X será parte de OS X 10.5 (o como lo llamará Apple, "Leopard" o "Leopardo" en Español).

Así que recientemente me encontré un artículo (enlace al final) sumamente bien escrito que explica el por qué los usuarios de OS X deberían estar sumamente emocionados por este acontecimiento. El artículo es en Inglés y bien largo, pero resumiré los puntos importantes aquí en Español (mientras agrego mis propios comentarios al respecto), dando crédito a la fuente original a la que enlazamos al final.

Primero, ¿qué es un filesystem? Es el módulo del sistema operativo que se encarga de gestionar (escribir, buscar, leer, catalogar, distribuir) los archivos en tu máquina. Windows utiliza NTFS o FAT32 usualmente, OS X utiliza HFS+, y Linux utiliza varios (como efs, rfs etc).

Pero ¿qué es lo que hace a ZFS el mejor filesystem jamás concebido e implementado? Primeramente, utiliza direcciones de 128 bits para los archivos, por lo que es posible almacenar prácticamente cada átomo en el universo linealmente en un disco duro bien grande si este existiera, por lo que de partida ZFS resuelve el problema con el cual todos los filesystems de hoy día se toparán cuando lleguen al tope de la barrera de los 64 bits en los próximos 5 a 10 años.

Sin embargo, eso es tan solo el inicio, ZFS además ofrece lo siguiente:

El ZFS soporta el concepto de snapshots (o "foto en el tiempo") de manera nativa. Es decir, que si le dices que tome una foto hoy de tu PC (o que tome una foto cada hora, o cada segundo, o cada día, o cada semana o mes, como quieras), puedes después volver en el tiempo atrás a cualquier versión anterior no solo de tu PC, sino que de tus archivos individuales, o de tus filesystems, o de un directorio en particular. Esto solamente es algo invaluable y razón para que todo el mundo adopte al ZFS.

ZFS además crece automáticamente según añades discos, sin nada que configurar, utilizando el espacio automáticamente. Es decir, que a diferencia de restringir el filesystem a un número fijo (como se hace hoy día cuando formateas un disco para 500GB por ejemplo), ZFS no tiene concepto de "tamaño", pues automáticamente esparce el filesystem a través de todos los discos que aparezcan en el sistema, teniendo tú la opción de decirle a ZFS que lo haga en modo continuo ("striped") o compartido ("mirrored"), llevando el concepto de RAID a todo un nuevo nivel. Y hablando de RAID, ZFS es el primer filesystem que resuelve el problema en software que ni siquiera RAID-5 puede resolver en hardware: el problema de escribir sobre varios discos en el momento que se pierde energía eléctrica, quedando los datos corruptos (esto se hace por medio de algo llamado RAID-Z). Entonces imagínate, si necesitas más espacio, simplemente empieza a conectarle discos duros a tu PC y ZFS se encarga de llenarlos de datos.

Así mismo, ZFS distribuye los datos sobre todos los discos que le des, por lo que mientras más discos añadas, más rápido se torna el sistema en general. Aparte de eso, a ZFS no le importa que los discos físicos sean de diferentes tamaños, pues aun así tiene algoritmos que le permiten utilizar cualquier tamaño de disco para cualquiera de los nodos, y todos aparecen como uno solo ante el usuario (o varios si este lo elije así).

Cada uno de los bloques de datos escrito al disco es chequeado (con un checksum), por lo que a diferencia de casi todos los otros filesystems que hacen un checksum rutinario (si es que lo hacen), el ZFS te alertará en el momento que uno de tus archivos esté corrompido (aunque como veremos más adelante, eso es muy difícil que ocurra con ZFS ya que este arregla tales errores "tras bastidores" sin que te des cuenta).

Capacidad de comprimir cualquier parte del filesystem (y utilizarlo en modo de lectura y escritura), independiente del resto del filesystem. Es decir, puedes elejir comprimir solo un archivo, o un sub-directorio, y puedes cambiar de opinión sobre si comprimirlo o no en cualquier momento sin afectar el resto del sistema.

Se pueden crear sub-filesystems dentro de otros filesystems, lo cual puede ser útil para (por ejemplo) asignarle un filesystem a una máquina virtual corriendo Windows o Linux dentro de OS X, o para hacer respaldos de datos de solo ciertos sub-filesystems.

Así mismo, ZFS puede corregir errores en tiempo real, ya que tiene en modo nativo un sistema para "auto-curarse" de errores, por lo que automáticamente desabilita sectores dañados en los discos duros, o discos duros enteros, y redistribuye los datos sobre los otros discos, automáticamente y en tiempo real.

Además, ZFS ofrece la capacidad de sincronizar "espejos" de filesystems de manera sumamente rápida, ya que lleva un catálogo distribuido interno de lo que contiene cada disco duro, por lo que en el momento que un disco o filesystem falle, y haya que copiarlo a otro nuevo, esto sucede casi tan rápido como pueda escribir el disco duro mismo.

ZFS también ofrece la capacidad de "congelar" una imagen de un filesystem y "descongelarlo" en otra PC, lo cual hace el proceso de respaldo de datos, y de mover datos de un sistema a otro algo sumamente sencillo y trivial.

En cuanto a los administradores de sistemas, aparte de todo lo anteriormente dicho, ZFS ofrece un interfaz de comandos directo a su corazón, por lo que todo lo que te puedas imaginar hacer con un GUI visual también lo puedes automatizar con scripts en la linea de comando.

Finalmente es sumamente amistoso con sistemas SMP (Multi-Procesamiento Simétrico), por lo que es ideal para escalar a miles de servidores en paralelo sin problemas ni complicaciones. Como ejemplo, vean el compacto sistema Sun Fire X4500 que ofrece 24TB sobre 48 discos duros en el tamaño de tan solo 4U.

Como ven, el ZFS es algo fantástico, y no espero el momento en que los usuarios de OS X puedan utilizarlo. Esperemos ahora que alguien adapte esto a Linux también (ya que ZFS es parte de OpenSolaris, que ahora está disponible como Fuentes Libres).

Nota: Según este artículo que nombra las nuevas cosas que aparecerán en OS X 10.5, por ahora el ZFS solo se podrá utilizar en discos que no sean con el cual se inicia la máquina, aunque espero que eso cambie en el futuro. Noten sin embargo que el "Time Machine" aparentemente vendrá, y que por ahora Apple lo adaptará a HFS+ mientras posiblemente migra a ZFS en el futuro cercano.

Enlace al artículo original

Página de ZFS en OpenSolaris

Actualización: Un documento de Sun en PDF que explica lo básico de ZFS

autor: josé elías

Comentarios

Añadir Comentario

tu nombre
tu email
(opcional)
web personal
(opcional)
en respuesta a...
comentario de caracteres máximo
8 + 4 = requerido (control anti-SPAM)
¿De qué color es el cielo?: requerido (control anti-SPAM)
 

"Un pequeño paso de un robot y un gigantesco paso de la robótica ;)"

por "Ex." en ago 4, 2011


en camino a la singularidad...

©2005-2022 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax