domingo, 5 de julio de 2009

Sun ZFS, que maravilla de Filesystem!!, parte 1

Seguramente muchos de uds. ya lo conocen o han oido de ZFS, acrónimo de Zetabyte File System es uno de los sistemas de archivos de tipo transaccional mas avanzados del momento, permite crear volumenes y filesystems facilemente pues tiene integrados los conceptos comúnmente separados de sistema de ficheros y administrador de volúmenes en un solo producto, provee snapshot y roolback, compresión, thin provisioning, evita corrupción silenciosa de datos, etc.

Este filesystem desarrollado por Sun Microsystems nos permite hacer cosas que serían impensadas en un entorno tradicional, a modo de ejemplo, si por alguna razón necesitas crear filesystems, pero no tienes claridad de cuanto espacio requerirá cada uno ó no quieres limitar a priori el crecimiento de uno y de otro, ZFS le entregará todo el espacio disponible a cada uno, por ejemplo:

Tenemos un pool (grupo de discos) llamado "rpool" que tienen 11.9 GB disponibles:

root@openstor:~# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
rpool 15.9G 3.95G 11.3G 24% ONLINE -


Y tenemos varios filesystems que ven los mismos 11.9 GB disponibles para todos ellos:

root@openstor:~# zfs list

NAME USED AVAIL REFER MOUNTPOINT
rpool 4.35G 11.3G 82K /rpool
rpool/export/home 24.1M 11.3G 21K /export/home
rpool/export/home/jpalma 24.0M 11.3G 24.0M /export/home/jpalma

Fijense que todos los filesystems "cuelgan" del pool padre "rpool"

Ahora veamos algunos comandos básicos de ZFS (sobre OpenSolaris):

#zpool create storpool raidz c8t1d0 c8t2d0 c8t3d0


#zpool status storpool
pool: storpool
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
storpool ONLINE 0 0 0
raidz1 ONLINE 0 0 0
c8t1d0 ONLINE 0 0 0
c8t2d0 ONLINE 0 0 0
c8t3d0 ONLINE 0 0 0

errors: No known data errors


#zfs list storpool
NAME USED AVAIL REFER MOUNTPOINT
storpool 89.2K 3.89G 25.3K /storpool


#zfs create storpool/filesystem1
#zfs create storpool/filesystem2
#zfs create -V 3g -s storpool/volumen1

#zfs list

NAME USED AVAIL REFER MOUNTPOINT
storpool 193K 3.89G 29.3K /storpool
storpool/filesystem1 25.3K 3.89G 25.3K /storpool/filesystem1
storpool/filesystem2 25.3K 3.89G 25.3K /storpool/filesystem2
storpool/volumen1 21.3K 3.89G 21.3K -


#df -h

Filesystem Size Used Avail Use% Mounted on

storpool 3.9G 30K 3.9G 1% /storpool
storpool/filesystem1 3.9G 26K 3.9G 1% /storpool/filesystem1
storpool/filesystem2 3.9G 26K 3.9G 1% /storpool/filesystem2

#zfs compression=on storpool/filesystem1

#zfs snapshot storpool/filesystem2@snap1


Luego de esta humilde pincelada de ZFS, seguiremos profundizando en sus características y usos..

Saludos!