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

miércoles, 13 de junio de 2012

Iscsi y mutlipath con una cabina EMC VNXe 3300

Disponemos de la red configurada como vimos en este artículo: http://blog.rubensalazar.net/2012/05/bridges-bonding-y-lacp.html

Debemos tener configurados los switches con las vlans correctamente para no tener problemas de red. Este tema no es objeto de este artículo.

En la cabina EMC hemos definido dos servidores iSCSI cada uno de ellos definido por dos ips, dos interfaces de red y cada uno asignado a un controlador diferente (storage processor) de forma que aseguramos la máxima redundancia.

Antes de seguir comentar que la consola de administración web de la cabina EMC ¡está hecha en flash!!!!!!!!!  lo que provoca mis mas sinceras maldiciones en arameo. ¿A estás alturas todavía con estas capulladas?.

Continuamos creando los espacios de almacenamiento, no voy a entrar más en la configuración de la cabina ya que cada una tiene su propio gestor y forma de configuración, de todos modos os pongo varios screenshots.

iSCSI Servers

Storages

Permisos de acceso a un Storage



















Como podemos ver en la imagen anterior hay un servidor con acceso a ese storage.
Vamos con la configuración del servidor para que pueda acceder a este recurso.

Instalamos el software necesario:

# aptitude install open-iscsi scsitools multipath-tools open-iscsi-utils
Editamos el fichero de configuración de open-scsi cambiando la propiedad node.startup de manual a automatic:
# nano /etc/iscsi/iscsid.conf
# To request that the iscsi initd scripts startup a session set to "automatic".
node.startup = automatic
Como hemos visto anteriormente tenemos dos servidores iSCSI:
  • iSCSIServer00: con dos ips 10.0.1.254 y 10.0.2.254
  • iSCSIServer01: ips 10.0.1.253 y 10.0.2.253

Realizamos el discover de los targets iSCSI de los servidores:
# iscsiadm -m discovery -t st -p 10.0.1.254
# iscsiadm -m discovery -t st -p 10.0.2.254
# iscsiadm -m discovery -t st -p 10.0.2.253
# iscsiadm -m discovery -t st -p 10.0.1.253
Comprobamos:
# iscsiadm -m node
10.0.1.254:3260,1 iqn.1992-05.com.emc:ckm001123005530000-6-vnxe
10.0.2.254:3260,1 iqn.1992-05.com.emc:ckm001123005530000-6-vnxe
10.0.1.253:3260,1 iqn.1992-05.com.emc:ckm001123005530000-7-vnxe
10.0.2.253:3260,1 iqn.1992-05.com.emc:ckm001123005530000-7-vnxe
Si listamos los dispositivos todavía no tendremos ninguno en nuestro sistema:

# ll /dev/mapper
total 0
drwxr-xr-x  2 root root     120 jun  6 12:26 ./
drwxr-xr-x 18 root root    4480 jun  6 12:26 ../
crw-------  1 root root 10, 236 abr 30 14:33 control
lrwxrwxrwx  1 root root       7 abr 30 14:33 remo-root -> ../dm-0
lrwxrwxrwx  1 root root       7 abr 30 14:33 remo-swap -> ../dm-1
Nos falta realizar el proceso de login:

# iscsiadm -m node -L all
Volvemos a listar los dispositivos:
# ll /dev/mapper
total 0
drwxr-xr-x  2 root root     120 jun  6 12:26 ./
drwxr-xr-x 18 root root    4480 jun  6 12:26 ../
crw-------  1 root root 10, 236 abr 30 14:33 control
lrwxrwxrwx  1 root root       7 jun  6 12:26 mpath0 -> ../dm-2
lrwxrwxrwx  1 root root       7 abr 30 14:33 remo-root -> ../dm-0
lrwxrwxrwx  1 root root       7 abr 30 14:33 remo-swap -> ../dm-1
A partir de este momento: crear particiones, formatear y añadir la entrada en /etc/fstab.

Para añadir más volúmenes y que el sistema los reconozca primero creamos el disco virtual y le damos acceso al host desde la cabina, para que lo reconozca el sistema realizamos logout y volvemos a hacer login (mucho cuidado con hacer los siguientes pasos si hay volúmenes montados de la cabina en este servidor, primero desmontar las unidades o se pueden perder datos):

# iscsiadm -m node --logout
Logging out of session [sid: 13, target: iqn.1992-05.com.emc:ckm001123005530000-7-vnxe, portal: 10.0.1.253,3260]
Logging out of session [sid: 14, target: iqn.1992-05.com.emc:ckm001123005530000-7-vnxe, portal: 10.0.2.253,3260]
Logging out of session [sid: 15, target: iqn.1992-05.com.emc:ckm001123005530000-6-vnxe, portal: 10.0.1.254,3260]
Logging out of session [sid: 16, target: iqn.1992-05.com.emc:ckm001123005530000-6-vnxe, portal: 10.0.2.254,3260]
Logout of [sid: 13, target: iqn.1992-05.com.emc:ckm001123005530000-7-vnxe, portal: 10.0.1.253,3260]: successful
Logout of [sid: 14, target: iqn.1992-05.com.emc:ckm001123005530000-7-vnxe, portal: 10.0.2.253,3260]: successful
Logout of [sid: 15, target: iqn.1992-05.com.emc:ckm001123005530000-6-vnxe, portal: 10.0.1.254,3260]: successful
Logout of [sid: 16, target: iqn.1992-05.com.emc:ckm001123005530000-6-vnxe, portal: 10.0.2.254,3260]: successful
# iscsiadm -m node -L all
Logging in to [iface: default, target: iqn.1992-05.com.emc:ckm001123005530000-7-vnxe, portal: 10.0.1.253,3260]
Logging in to [iface: default, target: iqn.1992-05.com.emc:ckm001123005530000-7-vnxe, portal: 10.0.2.253,3260]
Logging in to [iface: default, target: iqn.1992-05.com.emc:ckm001123005530000-6-vnxe, portal: 10.0.1.254,3260]
Logging in to [iface: default, target: iqn.1992-05.com.emc:ckm001123005530000-6-vnxe, portal: 10.0.2.254,3260]
Login to [iface: default, target: iqn.1992-05.com.emc:ckm001123005530000-7-vnxe, portal: 10.0.1.253,3260]: successful
Login to [iface: default, target: iqn.1992-05.com.emc:ckm001123005530000-7-vnxe, portal: 10.0.2.253,3260]: successful
Login to [iface: default, target: iqn.1992-05.com.emc:ckm001123005530000-6-vnxe, portal: 10.0.1.254,3260]: successful
Login to [iface: default, target: iqn.1992-05.com.emc:ckm001123005530000-6-vnxe, portal: 10.0.2.254,3260]: successful
Volvemos a listar los dispositivos y veremos que nos aparece un nuevo volúmen:

# ll /dev/mapper
total 0
drwxr-xr-x  2 root root      140 jun  6 12:25 ./
drwxr-xr-x 18 root root     4520 jun  6 12:25 ../
crw-------  1 root root  10, 236 abr 30 14:33 control
brw-rw----  1 root disk 252,   3 jun  6 12:25 mpath0
brw-rw----  1 root disk 252,   2 jun  6 12:25 mpath1
lrwxrwxrwx  1 root root        7 abr 30 14:33 remo-root -> ../dm-0
lrwxrwxrwx  1 root root        7 abr 30 14:33 remo-swap -> ../dm-1 

martes, 5 de junio de 2012

Evitar que los vídeos en flash salgan en azul

Pese a mi odio creciente al flash todavía tengo que soportarlo por lo menos hasta que html5 lo borre del mapa.

Desde hace varias semanas los vídeos aparecen en azul en ubuntu 12.04, está es la solución rápida:

$ sudo mkdir /etc/adobe
$ sudo echo "EnableLinuxHWVideoDecode=1" > /etc/adobe/mms.cfg

Reiniciamos el navegador y ... solucionado.