Archivos de la categoría Sysadmin

systems administration related

Migrating google reader to feedly

Google reader dejará de estar disponible en poco tiempo y para los que usamos la aplicación es una verdadera faena. A mi personalmente me encantaba la aplicación, al menos un par de veces en semana podía leer y estar al tanto de muchas noticias y sobre todo, cientos de publicaciones sobre linux y administración de sistemas, blogs en su mayoría y por supuesto howtoforge :)

Gracias a Feedly, he migrado el contenido de forma simple a su plataforma, no he tenido que hacer absolutamente nada, excepto vender un poco de mi información a la compañía aceptando una serie de condiciones, pero qué más da, ya lo tienen muchas otras.

Como no me ha gustado un pelo esta faena, me quejaré del único modo que puedo, dejaré de usar poco a poco, los servicios de la empresa aunque tenga que pagar a la competencia.

 

From JAVA code to UML Diagrams

Todos los desarrollos sufren modificaciones y estas provocan una actualización constante de los diagramas UML que hayamos creado previamente. Entiendo muy importante este diagrama como complemento en la documentación de cualquier desarrollo.

ObjectAid es un plugin para Eclipse que nos permite crear de forma simple este diagrama, mediante drag and drop de las clases que componen el proyecto. Este plugin podemos incluirlo en nuestro IDE del siguiente modo

  • Desde Eclipse navega a  Help> Install New Software
  • Agrega un nuevo repositorio Add a new repository
  • Ponle un nombre JAVA2UML
  • Coloca la URL http://www.objectaid.com/update

objectid

Cuidado los rapidillos al instalar, tenemos 2 posibles plugins y tan solo “ObjectAid Class Diagram plugin” es gratis, el otro requiere licencia. Ahora sí, todo adelante !

Ahora toca comenzar a meter clases en el diagrama y para ello creamos un nuevo “Class Diagram", dándolo el directorio y nombre del diagrama. Arrastra ahora tus clases y configura el plugin como más te guste haciendo clic derecho sobre el lienzo. También permite clic derecho sobre las clases para abrir un menú que ofrece más posiblidades.

objectid2

Start HSQL Server – Explore your data

Desde que estoy usando HSQL para pruebas y algunos proyectos estoy encantado. Fácil, simple y extremadamente liviano es este motor que nos permite jugar tanto como deseemos, pero ¿Cómo se inicia y explora el contenido creado en nuestro modelo de datos?

Pues vamos a ir empezando arrancando el cacharrito

Una vez iniciado vamos a ver su contenido iniciando un interfaz propio

hsql

Pulsando OK podrás ver el contenido de tu base de datos.

Vamos a crear una clase para abrir una conexión con JAVA

Se agradece la ayuda recibida del maestro Jaime :)

 

HSQL Like format

Haciendo algunas pruebas con HSQL y algo de código JAVA he tratado de almacenar cierta información que he requerido recuperar sin fijarme demasiado en lo que introducía, estas cadenas pueden contener caracteres en mayúscula o minúscula, acentuados… al lanzar la consulta SQL el típico LIKE que solemos usar, ha pasado completamente y quería recibir las cadenas tal cual.

Vamos a verlo con un ejemplo:

En base de datos tenía Verde y debería tener un resultado positivo al tratar de buscar algo como ver, rde…

Para solucionarlo hay que agregar una partícula a la consulta:

Como solución alternativa, también es posible crear la columna con un VARCHAR_IGNORECASE, pero entonces no habríamos aprendido :)

Hetzner vs otros servers

Hoy ha vuelto a suceder, el servidor que tengo contratado en Hetzner ha dejado de responder (hasta que no se le envía un “reset” remoto desde el panel de administración del servidor). El motivo que nos llevó a la contratación de este servidor ha sido la capacidad y precio frente a la estabilidad del sistema.

La media se situa en una “sufrida” caída del sistema una vez al mes, que en nuestro caso (con una excepción) no ha tenido un problema que nos obligase a plantearnos un cambio de proveedor, pero sí valorar un backup online. Para los curiosos diré que la excepción fue un “backend” hecho polvo.

Comparando precios y características de Hetzner con otros proveedores de hosting a nivel nacional, era imposible localizar alguno que nos ofreciera algo más económico a 200€ / mes por una máquina que iguale al 4S que usamos actualmente (avisa si lo encuentras pisha). Incluso Cyberneticos, la empresa con la que personalmente tengo todos los dominios y hostings personales, se quedaba lejos de los precios que buscaba.

Hetzner está genial por su precio, pero a veces, puede salir caro.

¿¿Donde tienes tus servidores ??

HTTP 503 – Concurrent call to conversation

Hoy nos hemos encontrado con un error interesante, que después de darle muchas vueltas nos ha llevado a buscar en google.

El error:

Estado HTTP 503 – Concurrent call to conversation
type Informe de estado
mensaje Concurrent call to conversation
descripción El servicio requerido (Concurrent call to conversation) no está disponible en este momento.
JBossWeb/2.0.1.GA

Llegados a este punto surgen algunas preguntas que cualquiera se haría.

  • Cómo coño no buscamos antes en google el error ? He preferido mirar un log que tira trazas en debug…
  • Ha pasado esto antes ? Sí
  • Ha intentado buscarle alguien sentido a lo que pasa y se ha tratado de dar una solución ? NO, para eso está BOFH de turno que seguro lo anima.

Basta con mirar en los primeros resultados de búsqueda para obtener información sobre lo que está pasando, uno de los problema puede ser debido a los tiempos de timeout;  amplíalo.

Otro problema puede ser por clicar varias veces en un botón ajax-link, pero que podemos contrar con el atributo eventsQueue para este botón. Incluso podemos agregar más atributos para un mayor control: requestDelay (que especifica el tiempo de espera antes de enviar la petición) e ignoreDupResponses=”true” (A4J se ignorará la petición si existe una similar en la cola)

Existen más formas, pero que cada busque su método.

Virtualización con Proxmox sobre Server Hetzner

  Voy a compartir con todos vosotros en este, el primer post desde hace unos años, cómo es mi arquitectura actual sobre Proxmox en un servidor dedicado del proveedor Hetzner. Como el dinero es el que manda, en nuestro caso estamos usando un servidor 4S (estaba de oferta la instalación)  con una sola IP pública.

Proxmox es una plataforma de virtualización gratuita que permite virtualizar todo tipo de sistemas, para ello la plataforma soporta OpenVZ y KVM (yo uso KVM) y muchas más opciones como alta disponibilidad, autenticación centralizada, almacenamiento…

Como apunte, puedo verificar que también funcionan estupendamente sistemas W2003Server y W2008Server 😀

 

Vamos a montar el tinglao

Desde la consola de administración del sistema Hetzner (Hetzner Robot) vamos a decirle al sistema que se cargue la imagen de Debian a 64 bits minimal. Debo decir que probé a montarlo en un sistema CentOS, pero me encontré con muchos problemas y tuve que hacerlo con Debian. Todo el inicio del sistema y su acceso inicial es intuitivo y sencillo, sobre la estructura que tendrá el sistema poco puedo decir porque este aspecto es como el culo, cada uno tiene el suyo.

Os recomiendo cambiar algunas cositas importantes en el sistema:

  • Crea un usuario y deja root (adduser panzuela)
  • Puerto SSH y capado de root por SSH
  • Actualizar al máximo el sistema
  • Reconfiguración de paquetería
  • Álias de comandos
  • Instalación de agente para monitorización del sistema (NRPE en mi caso).
  • Nombre del sistema
  • Hora del sistema (dpkg-reconfigure tzdata)
  • Quitar servicios del inicio que no usaremos (update-rc.d)

Ya está todo listo, tenemos el sistema como nos gusta, todo cerrado y limitado para comenzar con la instalación de proxmox.

Agrega en el fichero sources.list las siguientes líneas:

deb http://download.proxmox.com/debian squeeze pve

Agrega la key del repo:
wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -

Recargamos la lista de paquetes con el nuevo repo:
aptitude update

Instalamos el Kernel Proxmox, este realmente contiene el hypervisor:
aptitude install pve-kernel-2.6.32-12-pve

Una vez instalado, instalamos Proxmox:
aptitude install proxmox-ve-2.6.32

Deberá aceptase la instalación de dependencias y la instalación del servidor citadel (en mi caso mantuve las opciones por defecto).

Una vez instalado tendremos que agregar el nuevo virtualhost que se genera en apache:
a2ensite pve-redirect.conf
Reiniciamos apache mediante el modo AGA:
/etc/init.d/apache2 stop
/etc/init.d/apache2 start
(Costumbre adquirida de Don Agustín García, gran amigo y maestro)

Se necesitan instalar los siguientes paquetes (Configurar al gusto):
aptitude install ntp ssh lvm2 postfix ksm-control-daemon vzprocps mtr-tiny mc
*La instalación de postfix preguntará por el tipo de servidor (Internal site) y  por el host: cdtec.es

Ahora tenemos todo el sistema montado y necesitamos acceder a la herramienta Web para crear nuestras máquinas.
pveum groupadd sysadmin
pveum aclmod / -group sysadmin -role Administrator

Creamos el usuario (vale el creado anteriormente) y lo hacemos sysadmin

pveum useradd panzuela@pam  (Puedes cambiarle el password con pveum passwd usuario@pam)

Finally, add user to the admin group:
pveum usermod panzuela@pam -group sysadmin

Ya estamos listos para acceder al sistema, pon en tu navegador la siguiente ruta:

https://<IP>:8006

Ya tenemos el sistema listo para comenzar a virtualizar máquinas. Es nuestraropia “cloud”.

proxmox

 

Hello World!

Pues ya estamos de nuevo en línea y poco a poco iremos colocando errores de todo tipo, además de agregar algunos comentarios y porqué no decirlo, todo lo que me de la gana poner 😀

A todos aquellos que se sientan aludidos, les invito a beber un poco de agua.