lunes, 12 de diciembre de 2011

Aumenta la velocidad de tu ADSL

Hola amigos,
JAZZTEL permite activar el AnexoM de los contratos de 20 Mb con ADSL2+. Este cambio permite ampliar el ancho de banda de subida de 1024 a 1600 Kbps a costa de una reducción de ancho de banda de bajada.

Más que recomendable si tienes uploads en tu máquina ;)
El procedimiento es muy sencillo, consta de dos pasos
  1. Configuración el router
  2. Configuración en el ISP
Para configurar el router, si tienes un comtrend tienes que entrar en la configuración del DSL en Advanced Setup -> DSL. Alli tienes que desactivar AnnexM DISABLED, guardar y reniciar el router.

Para configurar JAZZTEL, tienes que abrir una cuenta de cliente y acceder a Servicios Autogestionados -> "Turbo Velocidad" y activar Turbo Up (AnexoM). Se volverá a reiniciar tu router y tendrás tu ADSL un poco menos asimétrica.


viernes, 9 de diciembre de 2011

Monitorizar PfSense con Nagios

Si has instalado el paquete nrpe v.2 mediante la GUI de PfSense, quizas te hayas encontrado con el mismo problema que yo. Las definciones de los checkeos están incompletas. Lo puedes ver en /usr/local/etc/nrpe.conf

Mediante la solución encontrada en este post: http://minestron.com.ar/blog/monitorear-un-pfsense-con-nagios se solunciona fácilmente.


Basta con comentar la línea que empieza por: command[{$cmd['name']}. Y substituirla por:
$cmds[] = "command[{$cmd['name']}]={$nagios_check_path}/{$cmd['warning']} -c {$cmd['critical']} {$cmd['extra']}\n";

Monitorizar XAPI XenServer Nagios

Hola! hoy traigo un nuevo script para comprobar que la XAPI de vuestros XenServer están funcionando correctamente. Totalmente probado :) Lo puedes descargar desde github aquí.

A grandes rasgos el script chequea que la XAPI esta operativa tanto a nivel de procesos como a nivel de consultas
check_xapi.sh
#!/bin/bash
#Check que comprueba el estado de la XAPI

#contamos los procesos que hay de xapi
procs=`ps -elf | grep xapi | grep -v grep | wc -l`

#Verificamos que haya algun proc xapi y si no lo hay, critical
if [ -z "$procs" ] ; then
   echo "Critical: No hay procesos de Xapi"
   exit=2

else #Hay procesos, pues lanzamos una peticion para ver si respnde ok

 #Vemos si es capaz de conectar con la Xapi y extramos el numero de hosts del pool
   test_xapi=`sudo xe host-list | grep name-label | wc -l`
 #test_xapi="1" #Fuerza a warning
 if [ $test_xapi -gt 0 ]; then
    ok_test=$(sudo xe host-list name-label=`hostname` params=name-label --minimal)
    echo "OK: XAPI respondiendo en $ok_test "
    exit=0
else
    new_test=$(sudo xe host-list name-label=`hostname` params=name-label --minimal)
    echo "Warning: Hay procs de XAPI pero algo falla $new_test"
    exit=1
 fi
fi

#Salida con el codigo de error para Nagios
exit $exit

martes, 29 de noviembre de 2011

Directivas de Proxy Passing en Apache - Reverse Proxy

Podemos configurar un servidor como proxy inverso con Apache y sus modulos  proxy y proxy_http. Si lo has compilado asegurate de tener soporte PROXY, si no es asi añade el FLAG al lanzar el configure. Por ejemplo:
./configure --enable-so --enable-mods-shared="proxy cache ssl all"

 Tenemos activar los modulos, la manera más sencilla es usando a2enmod
~#a2enmod proxy
~#a2enmod proxy_http

Ahora simplemente es añadir un fichero en "/etc/apache2/sites-available/" con el nombre del dominio que queremos "proxypassear"

<VirtualHost *:80>
     ServerAdmin admin@admin.com
     ServerName nuevo.dominio.com
     ServerAlias www.nuevo.dominio.com

     ProxyPass / http://192.168.1.3:80/

     # Uncomment the line below if your site uses SSL.
     #SSLProxyEngine On
</VirtualHost> 
 
Y activamos el nuevo proxypass:

~#a2ensite nuevo.dominio.com
~#/etc/init.d/apache2 reload


domingo, 20 de noviembre de 2011

Linux - Los procesos del Kernel parte I

Cuando ejecutamos `ps aux` y vemos los procesos de un kernel 3.0, ¿sabemos realmente que hacen cada uno? Lo más normal es que NO. Así que voy hacer un repaso para saber un poco más sobre ellos, como hay unos cuantos, iré publicando unos cuantos cada día. Empecemos por: kthreadd, ksoftirqd y kworker.

  • [kthreadd] es la función principal (y bucle principal) del demonio kthreadd, el padre de todos los hilos del núcleo.  
root         2  0.0  0.0      0     0 ?        S    19:04   0:00 [kthreadd] 
  • [ksoftirqd] es un hilo para cada CPU o núcleo. Controla las interrupciones "suaves" (Interrupciones servidas o retornadas por interrupciones fuertes). Si ksoftirqd consume más de una mínima cantidad de CPU, significa que tenemos problemas con algún dispositivo hardware. Podemos ver las interrupciones en: /proc/interrupts
root         3  0.0  0.0      0     0 ?        S    19:04   0:00 [ksoftirqd/0]
  •  [kworker] es el hilo que controla las interrupciones ACPI de la BIOS. Normalmente podemos ver que tenemos diversos hilos. Gracias a estos hilos, con un Kernel bien soportado por nuestro hardware, nos van a permitir consumir mucha menos batería. Una buena utilidad para ver que proceso nos "gasta" más batería tenemos powertop.
root         4  0.0  0.0      0     0 ?        S    19:04   0:00 [kworker/0:0]
Esto es todo por hoy, espero poder documentarme más sobre más hilos del Kernel y ir subiendo un resumen de cada uno.
Saludos!

martes, 15 de noviembre de 2011

2011-11-11 SOAs

Este viernes podría haber quedado en algún servidor DNS una entrada como esta ;)

Zfs.local:dns.fs.local.:root.dns.fs.local.:2011111111:28800:7200:604800:86400:86400


jueves, 10 de noviembre de 2011

Citrix XenServer Snapshots y Backups 0% on disk

Hola!! Este problema, que ya solucionamos en el blog de la virtualización y del cloud computing por José María Gonzalez, voy a comentarlo un poco más, ya que para muchos ha sido un dolor de cabeza.

El problema reside en el momento en el que hacemos un snapshot y luego lo transformamos a una máquina virtual, la exportamos y borramos dicha máquina virtual:

xe template-param-set is-a-template=false ha-always-run=false uuid=$snapshotUUID
xe vm-export vm=$snapshotUUID filename=$exportstring
xe vm-uninstall uuid=$snapshotUUID force=true

Este vm-uninstall según en que máquina virtual, la asociación del VDI con el VBD se elimina pero el VDI sigue en el SR.

Si listamos los VBD de una maquina virtual con este problema veremos:

[root@xensrv01 ~]# xe vbd-list vm-name-label=vmtest04
uuid ( RO)             : 2d1eed3f-27e4-1cca-830c-dbeb538f2c67
          vm-uuid ( RO): 6242434e-fbc2-a318-9cdc-9259204d81fe
    vm-name-label ( RO): vmtest04
         vdi-uuid ( RO): 528e5cb6-3605-464c-9e87-fcce1bae74f1
            empty ( RO): false
           device ( RO): xvda

Si listamos los VDIs con el nombre de la maquina virtual (los pongo así cada vez que creo un disco). Veremos que hay muchos más de los que están asociados con los VBD. Muchos son justamente son los VDIs de 0% on disk.

Buscamos el vbd de nuestra máquina virtual.
xe vbd-list vm-name-label=vmachine04 type=Disk

Al final la solución es muy sencilla. Consiste en añadir el siguiente parámetro al vbd de nuestra máquina virtual problemática: 
xe vbd-param-set uuid=UUID_VBD other-config:owner

A partir de este punto ya no tendremos más VDIs huérfanos por el sistema.
Saludos!!



viernes, 4 de noviembre de 2011

Citrix XenServer + FreeNas iscsi múltiples clientes target


¡Que lastima! Dicho por los creadores de FreeNAS, las conexiones de múltiples a un mismo target iSCSI no se pueden realizar por protocolo iSCSI, solamente esta soportado en estos casos usar CIFS o NFS. 

Así que para montar un entorno de Citrix XenServer con varios nodos, hay que usarlo como NFS VHD, que tampoco esta mal, ya que así los VDIs son sparse de modo que el espacio se va asignando según el crecimiento del disco de la máquina virtual.

jueves, 27 de octubre de 2011

winexe: Ejecutar comandos remotos desde Linux a Windows

Magnifica utilidad para enviar comandos remotos a máquinas WindowsNT/2000XP/2003/7 desde GNU/Linux. Está disponible desde AUR para los users de Arch. 

Ejemplo1:
un Rickroll a nuestro compañero:
winexe //IPWINDOWS -U Administrador%Passwd --interactive=1 "explorer http:\\bd.vg" 



Ejemplo2:
Directamente abrimos una shell:
winexe //IPWINDOWS -U Administrador%Passwd cmd 


No hagáis mucho daño!! XD

martes, 25 de octubre de 2011

VMware vSphere 4 Client Windows 7

Para los que les ha pasado como a mí, que al instalar el cliente de VMware en un Windows 7 e internar conectar con el Virtual Center les ha "crujido" el vShpere Client 4 así:
                                                                    
“Error parsing the server “server name” “clients.xml” file.”...     
“The type initializer for ‘VirtualInfrastructure.Utils.HttpWebRequestProxy’ threw an exception.”
                                                                    
Hay solución:                                                       
http://www.techhead.co.uk/running-vmware-vsphere-client-on-windows-7


viernes, 21 de octubre de 2011

Descubre y domina VMware vSphere 5


Descubre y domina VMware vSphere 5 es el tercer libro publicado por el autor, José María González, sobre las tecnologías de la virtualización de sistemas con VMware vSphere™ 5.
Este nuevo libro pretende descubrirte todos los pasos desde la instalación y configuración, hasta la administración de las soluciones de virtualización con VMware vSphere™ 5.
Tanto si eres un reconocido experto en la administración de sistemas con VMware vSphere, como si es la primera vez que te embarcas en el apasionante viaje hacia la virtualización de tu centro de datos, este libro te guiará paso a paso hacia la virtualización y optimización de tu centro de datos con VMware vSphere™ 5.
Descubre y domina VMware vSphere™ 5 es uno de los manuales de referencia sobre la virtualización de sistemas con VMware y el primer libro sobre VMware vSphere™ 5 disponible y publicado en español.
Puedes usarlo para reforzar tus conocimientos, para adentrarte de lleno en el mundo de la virtualizaciónde sistemas o para apoyarte y avanzar en la instalación de VMware vSphere™ 5 en tu empresa
Puedes ver mas información sobre el anuncio oficial en este enlace:

viernes, 14 de octubre de 2011

Ubuntu 11.10 en un MacBook Air

Después de pelearme unas horas con Arch Linux en mi MacBook Air para intentar hacer funcionar el modulo de broadcom para la interfaz Wifi, vía paquete AUR sin yaourt, pacman diciendo que paquete corrupto, instalación sin kernel-sources y con el usb arriba y abajo, obviamente sin acceso a la red, tentado a reinstalar con Gentoo y compilar los modulos sin más y tener el MacBook Air más "mascle" de la tierra, he sido abducido para probar la ultima Ubuntu 11.0 ya que hoy es su día de lanzamiento.

Realmente la integración con MacBook Air es fantástica, todo funciona a la primera. Tengo que decir que solo lo he probado en modo live pero funciona todo, sonido, el driver 3D de Nvidia experimental, el modulo de broadcom, webcam, bluetooth... Ahora solo esperar a que finalice la instalación, instalar awesome y borrar gnome :D

Por cierto gente de arch, ¿no se podría incluir en el base, el modulo wl correctamente parcheado y testeado? Lo se, es un módulo privativo :(

martes, 11 de octubre de 2011

Perl para monjes

Hoy, con un buen compañero, me ha estado introduciendo en el maravilloso mundo de perl. Como usuario, de pyhton, c++, bash... ¡¡Perl me ha dejado loco!! como puede alguien aclararse después de mil regexp más largas que la AP-7! No me sorprende que haya poetas de dicho lenguaje y que se hagan llamar monjes, porqué realmente es puro satanismo. http://www.perlmonks.org/


 Tampoco me sorprende que puedas ofuscar tu código usando camellos  y que el script siga funcionando como si nada. También soporta otras ofuscaciones,




Me pregunto lo que debe ser intentar aprovechar algo de alguien que haya seguido la metodología "spaguetty" y entender algo. Solamente con los operadores como <=> que usa la función sort por hoy he tenido bastante...

viernes, 30 de septiembre de 2011

XenServer Nagios Check

Para los fans de Nagios y Citrix XenServer, hoy he subido en mi github un script en python que interroga la XAPI para ver el estado de los hosts físicos. En el mismo script hay la web donde se expone la versión original, esta es la adaptación para mi entorno. check_XenServer.py
     
Básicamente se conecta al host que le definimos en la  primera línea y si este no es el master, se conecta al master e interroga mediante host_metrics el estado de cada servidor.

Establecemos una política de n+1 es decir, si el numero de hosts "vivos" es inferior al valor de todos los hosts -1 nos aparecerá Critical.
       
Espero que les sea de utilidad :)
Saludos

miércoles, 21 de septiembre de 2011

Cacti - Template Citrix XenApp - Connected/disconnected users

Buscando templates para monitorizar las conexiones de los usuarios que entran a través de Citrix XenApp, un compañero me ha pasado el siguiente link: http://forums.cacti.net/about20675.html

Aquí podemos descargarnos un zip con diferentes templates para los windozers, entre ellos hay uno que realmente funciona como monitor de usuarios conectados/desconectados de cada servidor XenApp. Eso sí, hace falta instalar en los servidores Citrix la .dll de snmp4ctx

Aunque no estoy muy puesto en el tema, más o menos he podido crear una línea (la más gruesa) que suma las conexiones de todos los XenApp. Postearé más detalles cuando lo tenga finalizado :)

miércoles, 31 de agosto de 2011

Dropbox cifrado multiplataforma

Tener datos en la nube me transmite cierta intranquilidad... De algún modo cuando colgamos algo en la nube, uno se expone a numerosos riesgos directos e indirectos por parte de la empresa que ofrece ese servicio y por la topología de Internet.

Con riesgos directos quiero decir que la propia empresa utilice dicha información con fines comerciales y con riesgos indirectos me refiero a la intrusión a los sistemas de esa empresa por parte de terceros. 

No me refiero directamente a Dropbox con lo comentado, ya que en sus políticas de seguridad/usuario exponen que no accederán a nuestros datos e incluso que no tienen acceso a ellos, hablo en plan generalista, aunque, ¿Que pasaría si alguien se colara en sus sistemas?... Con todo esto la mejor opción que se me ocurre es utilizar mecanismos de cifrado.

Dejo aquí un par de sites muy interesantes para configurar carpetas cifradas en Dropbox. Yo lo prefiero así ya que utilizar volúmenes TrueCrypt me parece bastante incomodo. De este modo puedes tener una carpeta cifrada y todo lo demás "abierto ;)". Destaco también que este sistema es multiplataforma y es sencillo y practico para todos los gustos.
                                                                                
Tener una carpeta cifrada en DropBox (Para GNU/Linux)
 
Sistema de ficheros cifrado bajo DropBox (Para Windows)
http://www.securitybydefault.com/2011/05/sistema-de-ficheros-cifrado-bajo.html

Encriptar Dropbox con encfs File to File desde OSX (Para Mac)
http://redesysoftware.dustinthewind.es/encriptar-dropbox-con-encfs-file-to-file-desde-osx/ 

Utilizas otro método más cómodo? Comentarios son bienvenidos :D

martes, 30 de agosto de 2011

XenServer - The VDI is not available

Al parecer en la versión 5.6 SP2 de XenServer este error es más común de lo que tendría que ser. Cuando por ejemplo un domain0 tiene una caída "cafre" por corte eléctrico algunos vdi quedan bloqueados e impiden volver arrancar las vm. 

Aparece el siguiente mensaje de error:
29/08/2011 13:23:18 Error: Starting VM 'virtualmachineX' on 'xendom01' - The VDI is not available

Doy por supuesto que ya has probado de hacer un "xe task-list" y ver que no hay tareas pendientes. Si es así primeramente hay que cancelarlas con un xe task-cancel uuid=UUID tarea" y volver a probar, pero si así tampoco arranca... A mi no me aparecía ninguna tarea XD.

Para solucionar esto he seguido los siguientes pasos:
1.- Localizamos el vdi:
[root@xendom01 ~]# xe vdi-list name-label=vmachine01-disk0
uuid ( RO)                : 1ffdd67d-3ff9-46b0-860e-eabe95844fb5
name-label ( RW): vmachine01-disk0
name-description ( RW): vmachine01-disk0
sr-uuid ( RO): 6b12a905-af60-cea1-88a5-854b6898c219
virtual-size ( RO): 13958643712
sharable ( RO): false
read-only ( RO): false

2.- Despresentamos el vdi:
xe vdi-forget uuid=1ffdd67d-3ff9-46b0-860e-eabe95844fb5

3.- Reescaneamos el SR donde estaba el vdi
xe sr-scan uuid=6b12a905-af60-cea1-88a5-854b6898c219

Si miramos en el XenCenter vermos que en el SR aparecera un nuevo disco sin nombre ni descripción. Ese es el vdi nuevamente presentado. Le ponemos el nombre, descripción y lo volvemos a asociar con la maquina virtual.

Arrancamos la maquina virtual y ya vuelve a funcionar correctamente.



lunes, 29 de agosto de 2011

XenServer - Eliminar un host del pool sin red

Si intentamos quitar un servidor dom0 de un pool y dicho servidor no tiene conectividad hacia el resto de hosts del pool. Aparecerá el siguiente mensaje:

root@xendom02 xensource# xe pool-eject host-uuid=9712025f-9b98-4c25-81ef-9222993b71f8
WARNING: Ejecting a host from the pool will reinitialise that host's local SRs.
WARNING: Any data contained with the local SRs will be lost.
Type 'yes' to continue
yes
You attempted an operation which involves a host which could not be contacted.
host: 9712025f-9b98-4c25-81ef-9222993b71f8 (xenserver01)

Esto lo podemos solucionar de la siguiente manera:

1.- Verificamos si hay maquinas asignadas como running en el dom0 que queremos eliminar.

root@localhost ~# xe vm-list resident-on=
9712025f-9b98-4c25-81ef-9222993b71f8 is-control-domain=false
uuid ( RO) : 013c61ee-3f48-4f65-4377-ae6949f35427
name-label ( RW): onslave
power-state ( RO): running


2.- Hacemos un reset del estado de la/s maquina/s virtuales que esten running:

root@localhost ~# xe vm-reset-powerstate uuid=013c61ee-3f48-4f65-4377-ae6949f35427 --force


3.- Eliminamos el host

root@localhost ~# xe host-forget uuid=
9712025f-9b98-4c25-81ef-9222993b71f8 --force

Posiblemente queden los discos físicos que tenia el servidor como dispositivos "not in database". Se pueden eliminar tranquilamente con un xe sr-forget

miércoles, 27 de julio de 2011

XenSever - Backup con Snapshots

Este método permite realizar backups de tus máquinas virtuales en formato nativo de Citrix XenServer.

Básicamente el proceso es hacer un snapshot de cada maquina virtual especificada en el fichero de configuración (backup2.cfg) y exportarla a un filesystem del domain0, ese puede ser NFS, SMB, Local... Una vez exportada la maquina virtual la comprime usando gzip. Cada vez que se ejecuta el script comprueba que no haya maquinas más antiguas de siete días en el FS de destino.

Se compone de 3 ficheros:

-backup2.cfg #Fichero de configuración donde se define el disco/directorio de destino del backup y las maquinas virtuales que queremos hacer backup.

-backup2.sh #La shell que lanza el proceso, se puede poner en un cron.

-backup2.log #El log de la shell

Puedes descargarlos desde: https://github.com/fsmsystems/stuff/tree/master/XEN-Backup o mediante git.

martes, 26 de julio de 2011

XenServer - RedHat / CentOS Paravirtualizados

Una de las ventajas de usar XenServer es la posibilidad de arrancar las máquinas virtuales en modo paravirtualizado (PV). Algunas distros dificultan un poco la instalación en PV directamente desde el Setup. Ese es el caso de Red Hat o CentOS que por defecto se instalan en modo Virtualización completa (HVM).

Una vez instalado el sistema, modificamos los siguientes parámetros del grub:

title CentOS Xen (2.6.18-53.1.14.el5xen)
        root (hd0,0)
        kernel /xen.gz-2.6.18-53.1.14.el5
          module /vmlinuz-2.6.18-53.1.14.el5xen ro root=/dev/VolGroup00/LogVol00
          module /myinitrd.img

Modificamos las líneas en negrita por:

title CentOS (2.6.18-53.1.14.el5xen)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-53.1.14.el5xen ro root=/dev/VolGroup00/LogVol00
        initrd /myinitrd.img

Reiniciamos con el nuevo kernel y creamos un nuevo initrd, sino nos aparecerá el error:
mount: could not find filesystem '/dev/root'
Setting up other filesystems.
Setting up new root fs setuproot:
 ...
Booting has failed

Genramos el nuevo initrd. El nuevo initrd hay que generarlo ignorando el soporte SCSI mediante la siguiente línea:

mkinitrd --omit-scsi-modules --with=xennet --with=xenblk --preload=xenblk initrd-$(uname -r)-no-scsi.img $(uname -r)

Apagamos la maquina virtual y modificamos los siguientes parámetros mediante el CLI para que XenServer reconozca que tiene que arrancar esta máquina como PV.

xe vm-param-set uuid= HVM-boot-policy=""

xe vm-param-set uuid= PV-bootloader=pygrub

xe vm-param-set uuid= PV-args="console=ttyS0 xencons=ttyS"

La volvemos arrancar y tendría que iniciarse correctamente. Si aparece siguiente el error:

Error: (2, 'Invalid kernel', "elf_xen_note_check: ERROR: Not a Xen-ELF image: No ELF notes or '__xen_guest' section found.\n")

significa que hay algún problema con la config del grub, comprueba que el kernel que has configurado en el grub sea el correcto.

miércoles, 13 de julio de 2011

XenServer - Migración de maquinas virtuales entre diferentes pools

El tema en cuestión es bastante habitual, lo he visto preguntado en foros y también, personalmente, me he encontrado con la necesidad de encontrar una solución al hecho de traspasar las maquinas virtuales de un pool a otro como podria darse el caso en una migración de entorno físico donde los nuevos servidores tienen un hardware completamente distinto a los servidores domain0 que tenemos en producción.

Para ello utilizo una maquina virtual en la misma red que el management de los domain0  y una LUN conectada a los dos entornos, no hace falta que sea a todos los miembros del pool, yo lo he hecho con uno domain0 de cada entorno. El proceso tiene dos partes:

Exportación de la VM 
Pool-1  Exportamos la VM  a la LUN compartida

Importación de la VM
Pool-2  Importamos la VM desde la LUN al nuevo storage del nuevo pool

El proceso a mano seria:

1- Montamos la LUN en el serividor de origen

2- Apagamos la maquina virtual: xe vm-shutdown name-label=vm_a_migrar

3- Exportamos la VM: 

xe vm-export name-label=vm_a_migrar filename=LUNFS/vm_a_migrar.xva

4- Desmontamos el FS de la LUN


5- Montamos la LUN en el serividor de destino

6- Importamos la VM: xe vm-import filename=LUNFS/vm_a_migrar.xva

7- Desmontamos el FS de la LUN

El proceso es sencillo y se puede hacer a mano, pero para no corromper el filesystem en caso que por error montara el EXT3 de la LUN en dos servidores a la vez, he hecho el siguiente script de bash (migrate.sh) que monta y desmonta la LUN en cada pool para cada uno de los procesos Exportación/importación de modo que solo esté montado en un servidor a la vez.

La sintaxis es migrate.sh nombre_de_la_vm entonces el script se encarga de apagar la maquina virtual,  hacer la exportación xe vm-import ... desde el servidor original $S_OR y la importación en servidor (pool) de destino $S_DE de la maquina virtual que le hemos especificado. Una vez finaliza deja la máquina virtual original y la nueva apagada y la LUN desmontada en ambos servidores.

Si en tu entorno no se puede para las maquinas en producción, puedes hacer el mismo proceso pero en vez de apagar la maquina, capturar un snapshot y luego exportarlo como maquina virtual mediante: 
xe template-param-set is-a-template=false ha-always-run=false uuid=$snapshotUUID

Espero que les sirva de utilidad.
Saludos

martes, 5 de julio de 2011

Ferran Serafini, nuevo moderador de los foros de virtualización XenServer

Tal día como hoy, hace una hora, se me ha presentado oficialmente como moderador de los foros de virtualización de XenServer en http://www.josemariagonzalez.es/foros/ donde estaré encantado de poder ayudaros en vuestros problemas con XenServer. 
Para quien no conozca este site, es una web de referencia dentro del mundo de la virtualización. Desde que empece a seguirlo percibí que tanto la comunidad de usuarios recurrentes como los nuevos, aportan preguntas y soluciones de alto nivel. Es por eso que para mí es un honor poder formar parte de esta comunidad como moderador.

Aparte del foro podemos encontrar el blog http://www.josemariagonzalez.es/ todo un blog de referencia para entusiastas de la virtualización galardonado por ejemplo con la categoria de vExpert durante tres años consecutivos. Desde hace un tiempo también podemos ver a José María González en http://www.virtualizacion.tv/ donde realiza el "show de la virtualización y Cloud Computing", un entretenido programa semanal donde se exponen trucos, casos de éxito y respuestas a preguntas.

Des de aquí mando le mando un saludo a él y a todo su comunidad.


lunes, 4 de julio de 2011

XenServer - Netback CPU al 100% y sin red


El otro día mientras cambiaba la configuración de una Network para que utilizara otra NIC y posteriormente eliminar las antiguas Network con la NIC anterior tuve una caída "chungisima"... 

Todas la máquinas virtuales de dos domain0 se quedaron sin conectividad por otra Network que nada tenia que ver con las que estaba reconfigurando.

Lo que se podía ver en esos domain0 era un proceso "netback" al 100% de CPU, intenté matar el proceso sin fortuna. Al final se recuperó reiniciando los servidores, el susto fué importante.

Googleando por la red he visto que no soy el único que ha tenido este tipo de caidas. Al parecer este error esta causado porque el servidor domain0 se queda sin memoria. Se puede solucionar asignando una cantidad de memoria exclusiva para el domain0 mediante el siguiente parametro en el grub:
dom0_mem=512M

Y mediante el fichero de config de Xen cambiando dom0-min-mem=256 por dom0-min-mem=0

Esta solución funcionará para plataformas Xen OpenSource pero no para Citrix XenServer.

Entrando un poco a fondo de lo que es netback
netback forma parte de los Backend Drivers, estos están iniciados en los Dom0. Tenemos principalmente controladores de red y controladores de bloqueos. Este controlado en concreto forma parte de los modulos de red y reside en sparse/drives/xen/netback. El controlador de bloqueo esta en sparse/drives/xen/blkback.

Hay muchas cosas en común entre los controladores netback y blkback. La diferencia principal es que los controladores de blkback corren bajo un hilo del kernel (xenblkd), mientras que el controlador netback no corre en ningún hilo del núcleo.

Posiblemente al quedarnos sin memoria, la interconexión entre NetFront y NetBack dejó  las VM incomunicadas.

martes, 28 de junio de 2011

XenServer - Añadir parametros ethtool desde CLI

Nos puede interesar configurar las interfícies de red más a fondo de lo que nos permite de serie el XenCenter. Para ello tenemos el CLI y los parámetros "extra". 
Estos son pasados al SO y mediante el wrapper  interface-reconfigure que  añade los flags que pongamos en los ficheros ifcfg-ethN

Vamos a poner un ejemplo practico. 
Desactivar la auto negociación de velocidad, forzar a 1000, activar full duplex,  y desactivar enviar y recibir control de flujo.

Buscamos la interfície que queremos "tunear":
xe pif-list

Añadimos los parámetros:

xe pif-param-set uuid=e788bf0a-068d-0973-0d55-1142c5cceb03 other-config:ethtool-autoneg="off" other-config:ethtool-speed="1000" other-config:ethtool-duplex="full" other-config:ethtool-rx="off" other-config:ethtool-tx="off"

Una vez hechos estos cambios lo más practico es reiniciar el servidor. Sino en teoría basta con hacer lo siguiente:

xe pif-unplug uuid=
xe pif-plug uuid=

lunes, 20 de junio de 2011

vSphere Client - Connecting... Falla el VirtualCenter


Alguna vez me ha pasado que no me conectaba el cliente vSphere con el servidor de VirtualCenter. 
Las causas pueden ser muy diversas, desde una instalación de alguna versión de Java incompatible en el cliente, problemas de connectividad, etc.

Comúnmente es un problema del servicio vpxd que esta arrancado en el servidor pero no responde a las peticiones que se lanzan desde el cliente y nos deja con la pantalla de login, Connecting...


Primeramente verificamos que los servicios en el servidor donde tenemos el VirtualCenter están corriendo mendiante la consola services.msc

Si vemos que está corriendo y no responde, reiniciamos primero el VMware VirtualCenter Server. Podemos ver si hay errores en el Visor de sucesos - sistema.

En el caso de la imagen, si reinciamos el VirtualCenter Management y el VirtualCenter Server, se soluciona perfectamente hasta dentro de unos 200 días o más. Puede que sean goteos de memoria de Java?

Si vemos que seguimos sin poder conectarnos, seria conveniente reiniciar todos los servicios de VMware o el servidor Windows y posteriormente analizar los eventos.