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!

2 comentarios:

  1. wow, se ve cabrón recuerdo que alguna vez nos mostraste como funcionaba el zfs, parece que fue en la charla de opensolaris en la facultad de ingenieria allá en curicó... buenísimo articulo por lo demás, agradecido master.

    ResponderEliminar
  2. es super bueno, lo mejor es que en opensolaris se integra con funciones de storage, es decir entre zfs y otra herramienta llamada comstar, puedes contruir storages...

    saludos

    ResponderEliminar