jueves, 21 de junio de 2012

ZFS en ubuntu

IMPORTANTE: No lo recomiendo para entornos en producción.

Después de las pruebas realizadas y varios "kernel panics" he decidido no utilizarlo todavía en producción, es una lastima pero no me la juego.

Proceso de instalación de zfs:
# add-apt-repository "deb http://ppa.launchpad.net/zfs-native/stable/ubuntu oneiric main "
# aptitude update
# aptitude safe-upgrade -s
# aptitude install ubuntu-zfs
Creación del pool:
# zpool create cabina_emc /dev/mapper/mpath6-part1
Comprobamos el pool recién creado:
# zpool status -v
pool: cabina_emc
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
cabina_emc ONLINE 0 0 0
mpath6-part1 ONLINE 0 0 0

errors: No known data errors

Creamos un sistema de ficheros (dataset):

# zfs create cabina_emc/backup
Establecemos el punto de montaje:

# zfs set mountpoint=/media/cabina_emc cabina_emc
# zfs set mountpoint=/media/cabina_emc/backup cabina_emc/backup
Realizamos varias comprobaciones:

# zfs list
NAME USED AVAIL REFER MOUNTPOINT
cabina_emc 169G 838G 30K /media/cabina_emc
cabina_emc/backup 169G 838G 169G /media/cabina_emc/backup
# zfs mount cabina_emc/backup


# mount
cabina_emc/backup on /media/cabina_emc/backup type zfs (rw,xattr)
# df -h
S.ficheros Tam. Usado Disp. % Uso Montado en
cabina_emc/backup 1007G 169G 838G 17% /media/cabina_emc/backup
Listado de paquetes instalados:
# dpkg -l \*zfs*|grep iiii libzfs1 0.6.0.56-0ubuntu1~oneiric1 Native ZFS filesystem library for Linux
ii ubuntu-zfs 6~oneiric Native ZFS filesystem metapackage for Ubuntu.
ii zfs-dkms 0.6.0.56-0ubuntu1~oneiric1 Native ZFS filesystem kernel modules for Linux
ii zfsutils 0.6.0.56-0ubuntu1~oneiric1 Native ZFS management utilities for Linux

Solución de errores:

Si os aparece un error como este:
Apr 24 10:37:57 Mercurio kernel: [1018898.922590] vmap allocation for size 4198400 failed: use vmalloc= to increase size.

Editamos el  fichero: /etc/default/grub y añadimos el valor vmalloc.
# nano /etc/default/grub

# If you change this file, run 'update-grub' afterwards to update# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="vmalloc=512M"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Actualizamos grub y reiniciamos el sistema:
# update-grub
# reboot
Comprobamos que el cambio surge efecto:

# cat /proc/meminfo
MemTotal: 2062236 kB
MemFree: 274552 kB
Buffers: 69436 kB
Cached: 1494816 kB
SwapCached: 12 kB
Active: 982260 kB
Inactive: 641228 kB
Active(anon): 46772 kB
Inactive(anon): 16796 kB
Active(file): 935488 kB
Inactive(file): 624432 kB
Unevictable: 47012 kB
Mlocked: 47012 kB
HighTotal: 1585096 kB
HighFree: 113960 kB
LowTotal: 477140 kB
LowFree: 160592 kB
SwapTotal: 1783144 kB
SwapFree: 1783132 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 106140 kB
Mapped: 16844 kB
Shmem: 1364 kB
Slab: 57488 kB
SReclaimable: 36392 kB
SUnreclaim: 21096 kB
KernelStack: 2232 kB
PageTables: 2916 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 2814260 kB
Committed_AS: 359632 kB
VmallocTotal: 524288 kB
VmallocUsed: 26680 kB
VmallocChunk: 281000 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 8184 kB
DirectMap2M: 503808 kB

Referencias:
http://hub.opensolaris.org/bin/download/Community+Group+zfs/docs/zfsadmin.pdf
http://zfsonlinux.org/faq.html
http://tech.libresoft.es/doku.php/manejozfs

3 comentarios:

  1. Probalo con ubuntu 12.04 64 bits (siempre 64 bits) y la ultima versión de zfs (rc9). A mi me esta andando muy bien y estoy por ponerlo en un sistema de produccion que tiene una carga bastante importante.

    ResponderEliminar
  2. Lo instalaste en un Ubuntu de 32 bits? porque los problemas que describís parecen ser relativos a eso. Según los programadores de ZFS todavía no funciona en 32 bits.

    ResponderEliminar
  3. Hola.

    Si, lo instale en una máquina de 32bits algo antigua.
    Gracias por tus apuntes, lo probaré en cuanto tenga disponible una máquina de 64bits para pruebas.

    Saludos.

    ResponderEliminar