1 de octubre de 2011

Cluster Web Alta Disponibilidad: Instalación del sistema base

Lo primero que tenemos que hacer para empezar con la instalación del cluster, es contar con los equipos que van a formar parte del mismo. En mi caso utilizaré VMWare para crear un par de máquinas virtuales en las que realizar la configuración.

Las caracteristicas hardware de las máquinas no tienen que cumplir muchos requisitos. Si queremos poner en producción este ejemplo, será necesario estudiar el proyecto así como dimensionar los equipos. Pero como esto se supone una maqueta, los equipos contarán mínimamente con:

- 1 procesador  
- 521MB RAM
- HDD SCSI 8GB
- 1 tarjeta ethernet 10/100
- Lector de DVD.


No voy a detallar los pasos para la instalación del sistema operativo dado que hay bastante literatura al respecto. Como reseña comentaré que acostumbro a desmarcar las utilidades estándar para luego instalar el software que realmente necesitaré.










 


Una vez acabado el proceso de instalación, pasamos a configurar los distintos archivos del sistema:

- /etc/network/interfaces: En este archivo describimos la configuración de red del servidor. Solo muestro la configuración de Bender.


- /etc/resolv.conf: Archivo donde especificamos los DNS así como el nombre de dominio de nuestra red.


- /etc/apt/source.list: Archivo con el listado de repositorios donde el gestor de paquetes buscará el software a instalar o actualizar.


- /etc/hosts: Archivo utilizado para la resolución de nombres de host.


Levantamos la interfaz y comprobamos la conexión antes de actualizar la lista de paquetes y los paquetes obsoletos.


Realizo la instalación de software base que siempre acostumbro a instalar: build-essential y linux-headers


Instalamos el servidor SSH, en este caso no voy a tocar la configuración por defecto.


Y comprobamos que LVM2 está instalado en el sistema para posteriormente crear los volúmenes lógicos para nuestro sistema de ficheros.


Hasta aquí la ínstalación y configuración mínima del sistema base sobre el que iremos trabajando. Hay que tener en cuenta que estos mismos pasos se repiten para la instalación del segundo equipo, cambiando exclusivamente los datos del direccionamiento así como el nombre de host.

En la siguiente entrega instalaremos el servidor Web así como el resto de componentes que serán necesarios para finalmente instalar nuestro gestor de contenidos. Igualmente se realizará una configuración minima inicial para ir realizando pruebas sobre la maqueta y estudiar el resultado de las pruebas.

Un saludo, Brixton Cat.

Cluster Web Alta Disponibilidad: Introducción

Por unos motivos u otros, últimamente he estado investigando sobre el mundo del clustering y realizando unas pruebas con distintos programas con los que crear granjas de servidores para aplicaciones de alta disponibilidad.

En este tutorial, eminentemente práctico, detallare los distintos pasos que he seguido para la instalación de un cluster Web de alta disponibilidad basado en Debian Squeeze donde albergaremos un gestor de contenidos para el sitio Web.

El escenario final debe ser como muestra el siguiente esquema de red.  Cabe mencionar que se podría mejorar la configuración creando distintas interfaces con las que discriminar el tráfico a través de subinterfaces, de VLANs, etc.


Decir un poco por encima que el software para configurar cluster crea una capa entre el hardware de los nodos y los servicios que estos ejecutan, estableciéndose una comunicación entre los nodos y los servicios que controlan estos.

Corosync es el encargado de la comunicación entre los nodos. Establece un grupo multicast a través de una clave compartida entre todos los miembros del cluster utilizando conexiones UDP para comprobar el estado del vecino. Corosync deriva del software OpenAIS, un framework para la creación de aplicaciones de alta disponibilidad según los estándares del Service Availability Forum.

Pacemaker es la otra cara de la moneda, el software encargado de la comunicación entre los nodos y los servicios que éstos ejecutan. Actúa como un Cluster Resource Manager, encargándose de la gestión de los recursos que son configurados en el cluster.

La arquitectura del sistema queda como resume la siguiente imagen:


 Debido a que en una entrega este tutorial puede hacerse demasiado largo y tedioso, lo dividiré en las siguientes entradas para organizarlo de mejor manera y explicar en mayor medida las configuraciones y las acciones tomadas:

- Instalación del sistema base.
Instalaré el sistema base de los nodos que compondrán el cluster utilizando el CD de instalación NetInstall de Debian Squeeze. Realizare la configuración básica de los archivos del sistema y la instalación del servidor SSH para tener acceso remoto.

- Instalación y configuración servidor Web.
Como su propio nombre indica, se instalará el servidor Web así como el gestor de base de datos MySQL y el preprocesador PHP. Realizaremos la configuración del servidor para poder realizar pruebas y comprobar resultados.

- Instalación del cluster.
En esta entrada se instalarán y configurarán los distintos paquetes para la creación de la granja de servidores. Además de realizar la comprobación de una correcta instalación, utilizaremos las distintas herramientas para la administración del mismo.

- Configuración de recursos.
Comenzaremos la configuración de los recursos del cluster: la dirección IP, el servidor Web. Se realizarán distintas pruebas con las que comprobar el comportamiento del cluster así como las distintas herramientas para la administración del mismo.

- Instalación y configuración de DRBD.
Instalaremos el software DRBD para crear dispositivos de bloques que serán replicados entre los nodos formando un RAID1 con el que asegurar los datos. Dicha unidad se crea bajo un volumen lógico para facilitar su administración y se montará para el sistema de ficheros del sitio Web.

- Configuración MySQL.
Realizaremos la configuración del gestor de base de datos relacionales para integrarlo en el cluster y ser controlado por el mismo. Configuraremos el servidor para asegurar que la base de datos sea almacenada en una unidad DRBD entre los nodos para que sea replicada al igual que los datos del portal.

- Instalación CMS.
Se realizará la instalación del gestor de contenidos Web Drupal al igual que la configuración del mismo para un correcto funcionamiento.

Espero que os sea entretenido y os animeis a probarlo vosotros/as mismos/as. No dudeis en contactar conmigo en caso de duda o si teneis problemas.

PD: Para los/as que os hayais dado cuenta, los nombres de los servidores quieren recordar a nuestro entrañable personaje Bender B. Rodriguez... Pero me ha fallado el subconsciente y he nombrado el segundo como Blender. Mea culpa...

"Ahora construiré mi propio cluster Web, con bases de datos y con furcias. Es más, paso del servidor Web... y de las bases de datos."

Un saludo, Brixton Cat.

4 de mayo de 2011

Instalar Debian Squeeze en un USB con persistencia


En este wiki voy a explicar un método para la instalación de Debian 6 aka Squeeze en una memoria USB con posibilidad de almacenar información en la misma o configurarla a nuestro gusto.

Para empezar nos descargamos una imagen Live para memorias USB desde el siguiente enlace:

http://cdimage.debian.org/debian-cd/6.0.1-live/i386/usb-hdd/


En mi caso, voy a instalar la versión 6.0.1 para la plataforma i386 con KDE como gestor de ventanas (aquí). Una vez descargada la imagen, y recomendablemente comparado el checksum del fichero, introducimos la memoria USB y lo localizamos con el comando (en mi caso cuento con un dispositivo sda por lo que lo excluyo de la búsqueda):

$ dmesg | grep -E "sd[b-d]"

También podemos lanzar el comando:

$ fdisk -l

para observar todas los dispositivos conectados al sistema.

Ahora volcamos el contenido de la imagen descargada con el comando:

# dd if=/ruta/archivo.iso of=/dev/sdX

Que nos creará una partición FAT16, con todo el contenido del archivo descargado.

Ahora pasamos a crear la partición secundaria donde se creará una copia del sistema de ficheros completo, /, y se guardarán los datos. Para ello, ejecutamos:

# fdisk /dev/sdX

Y pulsamos las siguientes opciones:

- n. Creamos nueva partición
-- e. Tipo extendida
-- 2. Nº de la partición
-- XX. Primer cilindro a utilizar
-- XXX. Último cilindro a utilizar
- n. Creamos nueva partición
-- l. Tipo lógica
-- XX. Primer cilindro a utilizar
-- XXX. Último cilindro a utilizar

Aunque por defecto la partición se crea con el códico correcto (para este ejemplo), ext3, pulsamos las siguientes opciones para cambiar el tipo de formato:

- t. Cambiamos formato
-- 5. Elegimos partición (Corresponde a la partición lógica)
-- 83. Código hexadecimál para el tipo Ext3. Para ver la lista completa pulsar L

Ahora marcamos la partción activa. Dicha partición se corresponde con la que fue creada a la hora de clonar el sistema dado que en esa partición es donde se localiza el directorio /boot con los archivos del cargador de arranque, syslinux.

- a. Partición activa
-- 1. Nº de la partición

Primero comprobamos los cambios realizados con la opción: p; y guardamos los cambios con la opción w.

Una vez hemos creado la partición secundaria, pasamos a formatearla con el comando

# mkfs.ext3 -L live-rw /dev/sdb5

Para que funcione la persistencia de datos, es necesario especificar la etiqueta live-rw para que sea reconocida por el sistema y montada en el arranque del sistema. En el Debian Live Manual (Apartado 10.3.1) podemos encontrar información al respecto:

[…]In order to use this feature a partition with a clean writable supported filesystem on it labeled "live-rw" must be attached on the system at boot time and the system must be started with the boot parameter 'persistent'. […]

Una vez tenemos el sistema creado y la partición secundario etiquetada donde almacenar los datos, montamos la partición con los archivos de arranque para modificar el archivo de configuración del bootloader con las opciones para la persistencia.

# mount /dev/sdb1 /mnt/usb

Con nuestro editor de texto preferido, editamos el archivo de configuración /mnt/usb/syslinux/live.cfg

Podemos crear un nuevo apartado en el menu o modificar alguno de los que ya existen. En mi caso creo un nuevo apartado con el texto:

Label Persistent
        menu label Persistent
        kernel /live/vmlinuz
        append initrd=/live/initrd.img boot=live persistent config quiet


Es necesario añadir el flag persistent en las opciones boot. Una vez modificamos el archivo de configuración de arranque, desmontamos la unidad con

# umount /dev/sdb1

Y reiniciamos el sistema:

# shutdown -h now

Si todo ha ido correctamente lo tendremos listo y podremos empezar a modificar el sistema y almacenar información.

Fuente: http://www.esdebian.org/wiki/instalar-debian-squeeze-usb-persistencia

Un saludo, Brixton Cat ; )

9 de febrero de 2011

Destripando la LOPD

Ultimamente estoy metido en la LOPD (LO 15/1999) y su aplicación dado que estoy realizando una inscripción para unos amiguetes. Hay que decir que la lay en si misma es un poco... como digamos, espesa... pero como todo, es necesario echar un vistazo a dicho documento ley para tener una idea más clara de lo que ésta implica.

En España, la entidad encargada de garantizar la seguridad de los datos de los ciudadanos es la Agencia Española de Protección de Datos que tiene potestad sancionadora para los expedientes que sean tramitados a dicha entidad cuando existan pruebas documentadas donde no cumpla la legislación vigente.

Para facilitar la tarea de los responsables de ficheros a la hora de gestionar los mismos, la AEPD tiene a libre disposición un documento PDF dinámico con el que cumplimentar fácilmente el formulario. El sistema de NOtificaciones Telemáticas a la AEPD (NOTA) nos permite, una vez rellenado correctamente el documento, enviar nuestros ficheros vía Internet: con firma digital o sin ella; o enviando la inscripción en papel a la dirección de la AEPD o en algún registro u oficina a los que hace referencia el artículo 38.4 de la Ley 30/1992:

[...]
a) En los registros de los órganos administrativos a que se dirijan.
b) En los registros de cualquier órgano adminsitrativo que pertenezca a la Administración General del Estado a la de cualquier Administración de las Comunidades Autónomas o a la de alguna de las Entidades que integran la Administración Local si en este último caso se hubiese suscrito el oportuno Convenio.
e) En las oficinas de Correos. en la forma que reglamentariamente se establezca.
[...]

Para obtener el formulario NOTA, vamos a la dirección:

https://www.agpd.es/portalwebAGPD/canalresponsable/inscripcion_ficheros/Notificaciones_tele/obtencion_formulario/index-ides-idphp.php

Donde nos decargaremos el documento según sea nuestra necesidad: titularidad pública (documentación) o privada (documentación), guía rápida, FAQs, etc... Además, para los desarrolladores de software también está disponible la documentación para el envio de solicitudes telemáticamente a través de archivos XML; en este caso, solicitándo dicha información en la dirección de correo incidenciasNOTA@agpd.es.

Por otro lado, también está disponible una guía de seguridad con información relativa al documento de seguridad que sera necesario crear con los datos técnicos y organizativos aplicados al fichero inscrito en la agencia; al igual que un modelo editable (en formato .doc) de dicho documento para facilitar su creación. Además de todo esto existe una página con las publicaciones que la AEPD en la que podemos encontrar la guia del responsable del fichero, videovigilancia, etc. Al igual que informes, resoluciones y sentencias que la agencia pone a disposición de los ciudadanos como información complementaria a la legislación.

Para finalizar la entrada, quiero hacer referencia al libro "Aplicación de medidas para la implantación de la L.O.P.D. en las empresas", publicado por la gente de Informática 64, que estoy terminando de leer (a falta del último apéndice y del epílogo xD) para hacer una pequeña reseña del mismo... Primero de todo, es un libro de muy fácil lectura (son sólo 212 páginas!!!) y en él te encontrarás un pequeño resumen de la ley y de sus artículos más importantes, así como las obligaciones y responsabilidades de los implicados en el tratamiento de los datos.

Además de esto, en el libro encontrarás medidas técnicas y organizativas para llevar a buen puerto la inscripción y mantenimiento de tus ficheros con datos de caracter personal y cumplir con ello la ley. Cabe reseñar que no es un libro técnico pero que sí nos ayuda en la tarea técnica del mantenimiento de nuestros ficheros, herramientas de gestión documentada, soluciones empresariales, etc.

Antes de finalizar,decir que Microsoft tiene publicada la segunda versión del documento "La protección de datos personales. Soluciones en entornos Microsoft" en donde colabora la propia AEPD, Microsoft TechNet e Informática 64 entre otros... Es de decir que aún no he leido el documento, pero después de un pequeño vistazo hay que decir que tiene bastante buena pinta y que ya tengo un nuevo documento en el listado de "lecturas pendientes"...

Un saludo, Brixton Cat.

24 de enero de 2011

Hacker´s Kitchen

Si te has cambiado de casa o sí simplemente estas cansado de tus electrodomésticos y quieres hacer hacer alguna reforma, ya tiene aqui los muebles que necesitas para tu cocina...


COCINAS HACKER!!!!


Estoy flipando, en un catálogo de cocinas!!!!


Jejeje, ya decia yo... ; )


Un saludo, Brixton Cat.

15 de enero de 2011

Soluciones hosting contra la crisis

Hace poco he estado desarrollando una página web para unos amigos/conocidos y también me encargaría de reservar el nombre de dominio (.es) y el alojamiento. Dado que está la economía bastante mal por todos lados y como alquilar el hosting en cualquier empresa medio seria te sale por unos 50 € al año, dominio incluido, estuve buscando soluciones de alojamiento gratuito. En esta entrada quiero hacer un resumen de las distintas opciones que encontré y las que utilicé finalmente.

Dominio

Dominio gratuito
 Dado que se trata de un .es, no podía hacer uso de las soluciones gratuitas que hay por Internet; estos son dominios de tipo: .tk, .co.cc y .cz.cc.

Sitios:
http://www.dot.tk/es/pageA00.html
http://www.zobyhost.com/dominio-gratis.php
http://www.alojamientogratuito.info/dominios/dominio-gratuito.html

 Dominio alquiler
En todas las empresas de hosting se pueden registrar o transferir nombres de dominios para nuestras páginas y como en todo, unas tienen precios más competitivos en el registro del dominio, otras en el alojamiento, etc... para que la opción más rentable sea alquilar toda la solución con la misma empresa.

Sitios:
http://www.abansys.com/registro_de_dominios_es.php     9,99 €/año
https://clientes.nexovirtual.com/cart.php?a=add&domain=register     15 €/año
http://www.arsys.es/registro-dominios/dominios-es.htm     12 €/año

Hosting

Hosting alquiler
Voy a revisar brevemente las empresas de alquiler para hacerme una idea de los precios que se manejan... Dado que solamente voy a colgar archivos .html y tal vez algún script .php, los datos que muestro son de las ofertas básicas que no cuentan con BBDD u otras funcionalidades varias.

Sitios:
http://www.abansys.com/alojamiento_web_hosting.php     2,99 €/mes = 35,88 €/año
http://www.nexovirtual.net/alojamientoweb.php?m=4     36 €/año
http://www.arsys.es/hosting/personal.htm     4,9 €/mes = 58,8 €/año

Hosting gratuito
Por todos es conocido que empresas de hosting gratuito colocan publicidad en las páginas de sus clientes para sufragar los gastos de los equipos. Publicidad de todo tipo, sin relación con la temática de la página o publicidad no apta para menores....

Pero existen soluciones gratuitas que no colocan publicidad que tienen todas las características y funcionalidades de cualquier hosting de pago, incluso más de las que ofrecen los servicios básicos de estas. Acceso FTP, panel de control Web, cuentas y alias de e-mails, MySQL, scripts PHP, CGI, Perl, estadísticas, CMS populares: Moodle, Joomla, Drupal, phpBB, PHP-Nuke, etc...

Sitios:
http://ifastnet.com/content/view/16/26/
http://www.awardspace.com/web-hosting/free-shared-hosting
http://www.dalir.net/free.php
http://www.free-space.net/freewebsite.htm

Solución utilizada

En mi caso he registrado el dominio en Abansys, empresa con la hace tiempo traté y tiene buenos precios.

dominio .es (9,99) + IVA (1,8) = 11,79 €/año

y el  hosting lo que registrado en AwardSpace dado que otras utilizan a segundas empresas en el registro y además fallaban cuando estuve haciendo las pruebas. Aqui os resumo las características del alojamiento:

250 MB almacenamiento
5 GB transferencia/mes
1 dominio
3 subdominios 

FTP y panel de control Web
1 email y aliases. Proteccion antivirus
1 MySQL 10Mb
PHP, Perl, CGI

CMS populares
Trafic stats


Una vez ya tenemos colgados los archivos en el servidor, ya sea vía web o a través de FTP, y tenemos activado el dominio; pasamos a asociar el dominio contratado con nuestra página Web. Para ello tenemos dos opciones: redireccionamos el dominio a un subdominio con nuestros archivos o modificamos el DNS para que apunte hasta el servidor DNS de nuestro alojamiento.

Redirección
Primero creamos un subdominio donde alojamos nuestros archivos


Luego accedemos al panel de control de nuestro dominio y lo redireccionamos hasta la URL anterior


En pocas horas, tenemos activo la redirección pero se vé la verdadera URL en el navegador; por lo que reconfiguraremos los DNS para que la redirección sea transparente.

Configuración DNS
A través del panel de control, creamos un dominio donde alojaremos los archivos Web.


Una vez guardamos, nos presenta una tabla resumen con los datos DNS del dominio que hemos creado, además de un icono de advertencia que nos indica que aún no ha terminado de actualizarse los servidores y la BBDD de DNS. En mi caso, no se muestra dicha advertencia dado que el dominio ya terminado de actualizarse en el sistema.


Estos datos corresponden con el archivo de resolución directa que se crea en los DNS para la resolución del nombre de dominio; éstos, los deberemos configurar en el DNS de nuestro dominio.


Nuevamente, a las pocas horas (3-4 aprox.) tenemos listo nuestra página con un resultado de los más profesional; todo ello, por 11 € al año... Quién da más??

Un saludo, Brixton Cat.

14 de enero de 2011

Cisco Unified Communications Manager virtualizado: Pruebas del sistema

Para finalizar la serie dedicada a la centralita VoIP de Cisco System, voy a realizar unas pruebas de que el servidor funciona correctamente, tanto el acceso via CLI y via Web. Vamos a empezar con la consola a la que nos podemos conectar en local o a través de SSH dado que está levantado el servicio por defecto...

Nos deberemos loguear con el usuario administrador que hemos configurado anteriormente (Administrator Login Configuration)


Dado que estamos virtualizando la centralita recibimos una serie de errores y el mensaje correspondiente a la falta de soporte


Utilizando el caracter de interrogación (?) podemos ir mirando los comandos y opciones disponibles, al estilo del CLI en sus IOS.


Podemos listar los servicios arrancados y parados con utils service list


Podemos enviar y recibir ficheros


Lanzar consultas SQL, en este punto cabe destacar que utiliza Informix de IBM y que se podría conocer la estructura de las BBDD y las tablas que utiliza la centralita. En su día estuve mirando los scripts de instalación y los .sql que crean la base de datos.


Ahora voy a realizar las pruebas a través del entorno gráfico, accediendo via Web a la centralita


Para la parte de administración de la centralita nos deberemos de loguear con el usuario sin privilegios configurado anteriormente (Application User Configuraton)


Una vez accedemos, podemos comprobar que tenemos acceso a todas las opciones de configuración


O ir al apartado de administración del sistema operativo para revisar el hardware















Para finalizar, decir que no debemos apagar la centralita dándole al boton gordo de la torre ¬¬. Deberemos ejecutar a través del CLI el comando utils system shutdown



Un saludo, Brixton Cat.