Capítulo 9. ZFS

9.1. ¿Cuál es la cantidad mínima de RAM necesaria para correr ZFS?
9.2. ¿Qué es el ZIL y cuando se usa?
9.3. ¿Necesito un SSD para el ZIL?
9.4. ¿Qué es el L2ARC?
9.5. ¿Es aconsejable habilitar deduplicación?
9.6. No puedo borrar ni crear archivos en mi pool de ZFS. ¿Como puedo arreglar esto?
9.7. ¿Soporta ZFS TRIM para discos de estado sólido?

9.1.

¿Cuál es la cantidad mínima de RAM necesaria para correr ZFS?

Se necesita un mínimo de 4GB de RAM para un uso típico, pero la carga de trabajo individual puede variar ampliamente.

9.2.

¿Qué es el ZIL y cuando se usa?

El ZIL (ZFS intent log) es un log de escritura utilizado para implementar semánticas de commiteo de escritura de posix entre fallos del sistema. Normalmente las escrituras están empaquetadas en grupos de transacción para escribirse al disco al llenarse (Transaction Group Commit). No obstante syscalls tales como fsync(2) requieren un compromiso de que los datos se escriban a un almacenamiento estable antes de regresar. El ZIL es necesario para escrituras que se reconocieron como realizadas pero que no estan en disco aún como parte de una transacción. Los grupos de transacción tienen una marca de tiempo. En el caso de un fallo la última marca de tiempo válida es encontrada y los datos faltantes se combinan desde el ZIL.

9.3.

¿Necesito un SSD para el ZIL?

Por defecto, ZFS guarda el ZIL en el pool junto con el resto de los datos. Si una aplicación tiene una gran carga de escritura, guardar el ZIL en un dispositivo separado que tenga un rendimiento de escritura secuencial muy rápido y asincrónico puede mejorar el sistema en general. Para otro tipo de cargas, es poco probable que un SSD represente una gran mejora.

9.4.

¿Qué es el L2ARC?

El L2ARC es una cache de lectura guardada en un dispositivo rápido tal como un SSD. Esta cache no persiste entre reinicios. Notese que la RAM es usada como primera capa de cache y el L2ARC solo es necesitado si hay RAM insuficiente.

L2ARC necesita espacio en el ARC para indexarlo. De modo que, extrañamente, un conjunto de trabajo que encaja perfectamente en el ARC dejara de encajar perfectamente si el L2ARC se usa porque una parte del ARC esta reteniendo el índice el L2ARC, pasando una parte del conjunto de trabajo al L2ARC que es más lento que la memoria RAM.

9.5.

¿Es aconsejable habilitar deduplicación?

Generalmente hablando, no.

Deduplicación requiere una cantidad significativa de RAM y puede realentizar los tiempos de acceso del disco para lectura y escritura. A no ser que se estén guardando datos que están altamente duplicados, tales como las maquinas virtuales o respaldos hechos por el usuario, es posible que la dedpulicación haga más mal que bien. Otra consideración es la incapacidad de revertir el estado de deduplicación. Si los datos son escritos al habilitar deduplicación, deshabilitar dedup no causara que los bloques que fueron deduplicados se repliquen hasta que estos vuelvan a ser modificados.

Deduplicación también puede llevar a situaciones inesperadas. En particular, borrar archivos puede volverse mucho más lento.

9.6.

No puedo borrar ni crear archivos en mi pool de ZFS. ¿Como puedo arreglar esto?

Esto puede ocurrir porque el pool esta 100% lleno. ZFS requiere espacio en el disco para escribir los metadatos de transacción. Para restaurar el pool a un estado usable, trunque el archivo a borrar:

% truncate -s 0 archivo-sin-importancia

La truncación de archivos funciona porque no se inicia una nueva transacción, en su lugar se crean nuevos bloques de repuesto.

Nota:

En sistemas con ajustes adicionales al set de datos de ZFS, tales como deduplicación, el espacio puede no estar inmediatamente disponible.

9.7.

¿Soporta ZFS TRIM para discos de estado sólido?

El soporte para TRIM en ZFS fue añadido a FreeBSD 10-CURRENT con la revisión r240868. El soporte para TRIM en ZFS se agrego a todas las ramas FreeBSD-STABLE en r252162 y r251419, respectivamente.

TRIM esta habilitado por defecto en ZFS, y puede ser deshabilitado agregando esta línea a /etc/sysctl.conf:

vfs.zfs.trim_disable=1

Nota:

TRIM en ZFS puede no funcionar con todas las configuraciones, tales como un sistema de archivos ZFS en un dispositivo respaldado con GELI.

Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Si tiene dudas sobre FreeBSD consulte la documentación antes de escribir a la lista <questions@FreeBSD.org>.

Envíe sus preguntas sobre la documentación a <doc@FreeBSD.org>.