ZFS en Mac OSX Leopard

16 Enero,2008

ZFS en Mac OSX Leopard

Llevaba tiempo queriendo probar ZFS en Mac OSX y gracias a los desarrolladores de Apple, en la web del proyecto ZFS para Leopard podemos obtener los ficheros necesarios para instalar el soporte de este genial sistema de ficheros.

La instalación es muy sencilla, tan solo debemos copiar los ficheros en nuestro sistema, sustituyendo los que ya trae Leopard. Por si acaso, siempre es recomendable realizar una copia de seguridad de los antiguos ficheros, no ser que luego suceda lo peor (como por ejemplo que no arranque el sistema operativo).

Como usuario root o superusuario, procederemos de la siguiente manera:

mv /usr/sbin/zfs /usr/sbin/zfs.old
mv /usr/sbin/zpool /usr/sbin/zpool.old
mv /usr/lib/libzfs.dylib /usr/lib/libzfs.dylib.old
mv /System/Library/Extensions/zfs.kext /System/Library/Extensions/zfs.kext.old
mv /System/Library/Filesystems/zfs.fs /System/Library/Filesystems/zfs.fs.old


Ahora descomprimimos el fichero zfs-102A-source.tgz (tar zxf zfs-102A-source.tgz) y copiamos los ficheros nuevos (previamente tendremos que introducirnos dentro del directorio resultante):

cp build/Release/zfs /usr/sbin/zfs
cp build/Release/zpool /usr/sbin/zpool
cp build/Release/libzfs.dylib /usr/lib/libzfs.dylib
cp -R build/Release/zfs.fs /System/Library/Filesystems/zfs.fs
cp -R build/Release/zfs.kext /System/Library/Extensions/zfs.kext


Segun la documentación, es necesario que todos los ficheros que hayamos copiado tengan como propietario/grupo root:wheel . Así pues, los revisamos y si todo es correcto, ya podemos reiniciar el sistema para que el kernel cargue los nuevos modulos del soporte ZFS.

Una vez reiniciado Mac OSX, abrimos de nuevo un terminal y mediante sudo o autenticándonos como superusuario, podemos utilizar los comandos zfs y zpool para agregar discos ZFS a nuestro sistema.
Pinchamos el disco -en mi caso USB- al ordenador y -importante- ignoraremos que Finder no reconozca el disco (Finder aun no maneja algunas cuestiones de ZFS), por tanto NO debemos inicializar el disco si no queremos destruir los datos.

zpool import -f disco60gb (disco60gb es el nombre de mi pool)

En mi caso utilice el parámetro -f (forzar) debido a que Mac OSX no quería importar el pool al estar adjudicado en otro sistema (OpenSolaris Nevada). Después de esto, ya podía utilizar el pool ZFS en Finder sin problemas, pudiendo leer y escribir en el pool e intercambiando ficheros entre Mac OSX y OpenSolaris :-)

En la imagen de arriba podemos ver como se muestra el pool disco60gb en Finder y en linea de comandos. Desgraciadamente, por algún motivo no fue posible desmontar el pool y al desconectar físicamente el disco USB, se fueron al garete todos los datos (menos mal que tenia copia). Al volver a realizar las pruebas (reiniciar el sistema y restaurar el pool desde OpenSolaris), solo pude desmontar el disco apagando Mac OS X, no me digáis por que…

Y es que, hay que señalar que aun existen problemas importantes a la hora de utilizar ZFS en Leopard, a saber que Spotlight puede llegar a entrar en un looping indexando el pool una y otra vez. Los ficheros que residen en la papelera de Finder no se borran automáticamente al vaciarla, por lo que hay que realizar la limpieza a mano, en linea de comandos. Tampoco se puede guardar la biblioteca de iTunes en un pool ZFS, al parecer iTunes no tiene en cuenta el pool. Otros problemas mas técnicos tratan de la imposibilidad de utilizar snapshots directamente o la imposibilidad de utilizar pools replicados (raidz) si no han sido exportados previamente (zpool export).

Como veis, el soporte de ZFS en Leopard todavía es inmaduro, si bien podemos intercambiar datos entre sistemas operativos Mac OS X, Solaris y OpenSolaris, lo que ya es un logro.

Esperemos que en futuro, tanto OpenSolaris como Mac OS X puedan arrancar directamente desde ZFS y así olvidarnos de UFS y HFS+

Tags: ,

Una respuesta a “ZFS en Mac OSX Leopard”

  1. DTrace en Mac OSX Leopard « alucardX.blog(); Dice:

    [...] « ZFS en Mac OSX Leopard [...]

Escribe un comentario