Clariion CX300 con Multipath y Ubuntu 10.04

Para preparar multipath en nuestro sistema Ubuntu, lo primero que debemos ejecutar es:

apt-get install sg3-utils sysfsutils multipath-tools

Luego añadiremos al fichero /etc/modprobe.d/scsi.conf la siguiente línea:
options scsi_mod max_luns=256

Esto permite numerar hasta 256 los dispositivos scsi, si no cuando presentemos varios discos (la segunda controladora los muestra por encima del id_scsi 64) es fácil que dejemos de ver alguno de ellos. Esto es necesario en Ubuntu y Debian.
Una vez se tiene instalado el software multipath se creará el fichero /etc/multipath.conf de configuración inicial, con el siguiente contenido:
defaults {
udev_dir /dev
user_friendly_names yes
}
blacklist {
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^hd[a-z][[0-9]*]"
devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
}
devices {
device {
vendor "DGC*"
product "*"
path_grouping_policy group_by_prio
getuid_callout "/lib/udev/scsi_id -g -u -d /dev/%n"
prio_callout "/sbin/mpath_prio_emc /dev/%n"
path_checker emc_clariion
path_selector "round-robin 0"
features "1 queue_if_no_path"
no_path_retry 300
hardware_handler "1 emc"
failback immediate
}
}
multipaths {
# multipath {
# wwid 360060160ffc21a0072174c3f6edede11
# alias pruebas
# }
}

Esta configuración es particular para cabinas EMC Clariion CX300, está extraída de http://www.querzone.de/wiki/Wiki.jsp?page=EMCClariion. Una vez establecida la configuración inicial del servicio multipath, se debe refrescar la información de la SAN, ejecutando los siguientes comandos:
/etc/init.d/multipath-tools stop
/etc/init.d/multipath-tools start
multipath -F
multipath -v2
multipath -ll

Al tener varios dispositivos (/dev/sda, /dev/sdb) asociados al mismo disco físico (/dev/mapper/pruebas), las herramientas LVM pueden ser un cuello de botella además de mostrar los típicos mensajes de duplicidad de nombres al ejecutar pvscan. El cuello de botella se puede producir, porque cuando se reinicia el sistema el monitor de LVM ejecuta los comandos pvscan, vgscan y lvscan, para crear los dispositivos asociados a nuestros volúmenes. El problema puede darse que en este escaneo, LVM primero detecte /dev/sda o /dev/sdb, antes que /dev/mapper/pruebas, y por tanto construyan los dispositivos asociados a los volúmenes a un camino, en vez de hacerlo al dispositivo virtual que nos creó dm-mpath para abstraernos del camino activo. Entonces cuando cambie el camino activo, LVM no podrá acceder al disco y el sistema se colgará. Para evitarlo, se debe editar el fichero /etc/lvm/lvm.conf y realizar los siguientes cambios que se indican a modo de parche:
26c26,27
<
preferred_names = [ ]
---
>
# preferred_names = [ ]
>
preferred_names = [ "^/dev/mpath/", "^/dev/mapper/", "^/dev/cciss" ]
53c54,55
<
filter = [ "a/.*/" ]
---
>
#filter = [ "a/.*/" ]
>
filter = [ "a|/dev/cciss/c.*|", "a|/dev/mapper/.*$|", "r/.*/" ]
84a87
>
types = [ "device-mapper", 1 ]

Existen dos bugs reportados para Ubuntu 10.04, referidos a este tipo de configuraciones:
Para evitarlos editaremos el fichero /lib/udev/rules.d/95-multipath.rules , como comentan en el bug y quitaremos el change de la línea ACTION:
#ACTION=="add|change", SUBSYSTEM=="block", RUN+="/sbin/multipath -v0 /dev/%k"
ACTION=="add", SUBSYSTEM=="block", RUN+="/sbin/multipath -v0 /dev/%k"

Luego instalaremos el paquete multipath-tools-boot, para incluir multi- path en el initrd, de forma que cuando se inicie el sistema ya estén disponibles los caminos.
apt-get install multipath-tools-boot 

Reiniciar el sistema, para comprobarlo. Al iniciar de nuevo y ejecutar multipath -ll debemos obtener la misma salida que antes de reiniciar. Recordar que debemos regenerar el fichero initrd cada vez que modifiquemos el fichero lvm.conf o multipath.conf, mediante:
update-initramfs -c -k `uname -r` 

La imagen la he sacado del album de winkydo en flickr

Gestión de LVM con discos compartidos

Para configurar un cluster Linux con almacenamiento compartido debemos plantearnos si queremos tener acceso concurrente o no a los datos. Para configurar un acceso concurrente necesitamos implantar un sixtema de archivos concurrente como OCFS2 o GFS. Si no necesitamos de acceso concurrente podemos configurar bloqueo de los volúmenes mediante LVM. Para ello, tendremos que editar el fichero /etc/lvm/lvm.conf de los sistemas involucrados y configurar la línea volume_list con el nombre de los volumenes compartidos que no queremos bloquear.

El problema nos aparecerá cuando queramos extender un volumen de los que hemos configurado como bloqueantes. Al ejecutar:

root@nodo1:~# lvcreate -L 50G -n lv_usuarios VG_Usuarios
Aborting. Failed to activate new LV to wipe the start of it.

El sistema nos impide trabajar con normalidad con este volumen. Para poder hacerlo tendremos que activarlo y marcarlo:
root@nodo1:~# lvcreate --addtag @nodo1  \
-L 50G -n lv_usuarios /dev/VG_Usuarios
Logical volume "lv_usuarios" created

Ahora ya podremos formatear nuestro nuevo volumen /dev/VG_Usuarios/lv_usuarios
La imagen la he sacado del album de jpockele en flickr

QEmu

Hace unas semanas apareció un famoso parche de 200 líneas para Linux que permite acelerar notablemente nuestras aplicaciones de escritorio. El gran Jesusda recogió en su bitácora cómo podemos aplicarlo y me animé a probarlo, con tan mala suerte que libvirt me dejó de funcionar y tuve que aprender a manejarme directamente con QEMU.

QEmu es un emulador/virtualizador OpenSource que principalmente uso para ejecutar sistemas Windows sobre Linux. QEmu se comporta como virtualizador cuando ejecutamos sistemas operativos x86 sobre hardware x86 y se comporta como emulador cuando ejecutamos sistemas operativos no x86 (ARM, PPC, etc) sobre hardware x86. Además el rendimiento mejora cuando lo usamos con KVM (Kernel-based Virtual Machine).

KVM es un módulo del kernel de Linux (kvm.ko) y el conjunto de herramientas asociadas para proveer una solución de virtualización completa con Linux sobre hardware x86, dado que aprovecha las extensiones de virtualización de la CPU (vt/svm instructions set), Intel-VT y AMD-V. Al ser un módulo del kernel el hypervisor puede usar el gestión de CPU y memoria propia del Kernel y ser más ligero y sencillo, a diferencia de XEN. KVM no soporta paravirtualización de CPU aunque sí para los drivers de dispositivos mejorando con ello el rendimiento.

Para usar QEmu lo primero que se necesita es una imagen para almacenar los datos persistentes, lo que sería nuestro disco duro :P. Esto lo hacemos con el comando qemu-img y podemos generar dos tipos de imagen:

  • raw Sin compresión. Puede exportarse a otros formatos.
  • qcow2 El mejor. Crece conforme se va llenando.

Podemos crear un nuevo fichero de imagen ejecutando:
qemu-img create -f qcow2 windows.img 10G

Para copiar el contenido de un archivo de imagen a otro:
qemu-img convert -f qcow2 original.img \
-O qcow2 nuevo.img

Para iniciar una nueva máquina virtual montando una ISO y que arranque con 512MB RAM desde el CD-Rom podemos usar:
qemu -enable-kvm  \
-cdrom MiSistema.iso \
-hda discoDuro.img \
-m 512 \
-boot d

Sobre la identidad digital

La era digital en la que vivimos, está propulsada por la intrusión de las Tecnologías de la Información y la Comunicación en nuestras vidas, de forma han supuesto toda una revolución en los patrones de demanda y consumo de empresas y familias, con un impacto directo sobre nuestra economía y sociedad. Este impacto ha cambiado nuestra forma de hacer negocios y nuestra manera de relacionarnos, aunque sigue manteniéndose constante la necesidad de ser identificado, disponer de una identidad para poder hacer negocios, comprar algo o simplemente tener amigos.

En el contexto de Internet, el concepto de identidad es ligeramente distinto del que acabamos de presentar, y podemos diferenciar entre identidad digital e identidad personal, de la que hemos hablado en la sección anterior. La principal diferencia radica en la posibilidad de que un individuo pueda tener diferentes identidades ante una misma entidad, mientras que esto no sucede con la identidad personal: Tu identidad ante una misma entidad es única, aunque no tiene por qué coincidir con la de otras entidades.

Definimos la identidad digital como:

Conjunto de datos que describen de forma única a una entidad y su relación con otras entidades.

Ahora, el concepto de entidad no se limitará a personas físicas, sino podría referirse a personas jurídicas, ficticias o fallecidas, no siendo un requisito la existencia de un cuerpo físico, ni su presencia, ni la necesidad de ser observable, lo cual también es una diferencia con el concepto de identidad personal. Existe una viñeta muy ilustrativa sobre este concepto, en el que se pueden ver dos perros con un ordenador, y como uno le dice a otro: “En Internet nadie sabe que eres un perro”.


El uso de “conjunto de datos” en la definición nos invita a pensar en bases de datos que contienen registros individuales, donde los atributos de estos registros son características representativas de cada individuo. Entre estos atributos, encontraremos dos tipos de atributos:
  • unos que nos permitirán identificar de manera única un registro de entre todos, y que llamaremos identificadores,
  • y otros que no nos servirán para identificar el registro, pero sí nos servirán para verificar la identidad, y que llamaremos verificadores.

Quizás en algún momento, usted tuvo una cuenta de correo electrónico. Si reflexiona sobre ello, esta cuenta de correo representa una identidad digital asociada a su identidad personal. Su proveedor le solicitó una serie de datos personales (en los que no quizás no se le obligó a ser sincero), le pidió que introdujera una contraseña (atributo verificador), y finalmente le asignó su dirección de correo electrónico (atributo identificador). Su identidad digital queda completamente identificada mediante su dirección de correo, donde encontrará un identificador único (el nombre de usuario que eligió) y la relación con su proveedor (el @dominio_del_proveedor), que por el identificador (usuario@dominio) sabemos que se trata un proveedor de correo electrónico.

El papel de los atributos verificadores de la identidad es fundamental en la relación entre el proveedor de la identidad y el propietario de la misma, porque nos permite resolver el dilema “¿cómo podemos reconocer a una entidad?”, ¿cómo una entidad puede asegurarse de que otra es quien dice ser?. Ya en los años setenta IBM procuró dar respuesta a este dilema, ofreciendo tres posibles formas de que una entidad reconociera a otra:
  1. Un secreto compartido, algo que se sabe o se recuerda, responder a la pregunta “qué sabes”
  2. Algo que se posee, responder a la pregunta “qué tienes”
  3. Alguna característica física que se tiene, responder a la pregunta “qué eres”

En cualquiera de estos casos, la entidad que debe reconocer a la otra tendrá almacenado un atributo con la respuesta a la pregunta y que actuará como verificador de identidad.

Con el paso del tiempo se ha demostrado que lo más cómodo para los administradores de sistemas es gestionar un secreto compartido (clave, pin, frase, etc) o algo poseído (smartcard, tarjeta rfid, etc), frente a características físicas basadas en tecnologías biométricas, porque ¿cómo resetea un administrador tu huella dactilar?, además de los inconvenientes que suceden con algunos de nuestros rasgos físicos tras sufrir accidentes o simplemente la edad haga mella en nosotros.
El proceso mediante el cual una entidad reconoce la identidad de otra, o dicho de otra forma, verifica su identidad digital, se conoce como autenticación. Este proceso tiene lugar cuando dos entidades tienen que comunicarse y una requiere algún servicio de la otra, de manera análoga, a lo que hacemos a diario para cualquier gestión que requiera nuestro DNI: Primero nos identificamos y luego solicitamos algún servicio a la entidad prestadora.

Gestión de la identidad digital


La proliferación del uso de las Tecnologías de la Información y Comunicación en la sociedad y nuestra economía, han generado toda una eclosión de nuevos servicios y aplicaciones, empezando por nuestro trabajo diario: en nuestras organizaciones ya no basta con disponer de acceso a la red, ahora necesitamos correo electrónico, mensajería instantánea y un sinfín de accesos a las distintas aplicaciones con las que tenemos que interactuar a diario: contabilidad, gestión de personal, documentación, gestión de incidencias, ERP, base de datos, formación continua, ... con el agravante de que para cada uno de estos servicios necesitamos una identidad digital. Cuando la cantidad de identidades digitales y servicios empiezan a tener un volumen considerable, aparece en los administradores de sistemas la necesidad de poder gestionarlos y administrarlas de forma eficiente.

La aparición de esta necesidad viene acompañada del desarrollo de políticas y procesos organizativos encargados de proveer una identidad digital con la que conseguir el acceso a los sistemas de información de nuestra organización. Este conjunto de políticas y procesos conforman lo que llamamos gestión de la identidad digital, o simplemente gestión de la identidad, dado que su mayor aplicación y evolución ha devenido con las TICs. En la mayoría de los casos consistirá en automatizar los procesos de provisión de usuarios y roles, gestión de contraseñas y control de acceso, y encontraremos elementos comunes:
  • Un metadirectorio que unifique las bases de datos de identidades de diversos tipos y fabricantes en un repositorio único y consolidado, en forma de servicio que acumula información de identidades desde diferentes fuentes de datos a lo largo de la organización, combinando toda o parte de esta información dentro de una visión integrada y unificada.
  • Single Sign On (SSO), como mecanismo de autenticación que permite a los usuarios registrarse una única vez y acceder a múltiples aplicaciones para las que dispone de autorización.

Solucionar eficientemente la Gestión de la Identidad (digital) ha desarrollado todo un sector de actividad económica dentro del mundo del software empresarial, que representa nuevas oportunidades de negocio para el sector, y engloba soluciones interrelacionadas que generalmente incluyen la gestión centralizada de cuentas de acceso (provisión/desprovisión/sincronización), autenticación (Single Sign On), derechos y restricciones.

Factores de éxito en la gestión de la identidad


El centro del escenario que se acaba de presentar, está ocupado por el servicio final que se ofrece al usuario: Lo importante es poder acceder al servicio como recurso de información, y el esfuerzo se realiza en hacer que esto sea posible en el menor tiempo posible, y de una forma homogénea. Este ha sido el enfoque, que llamamos tradicional, de la gestión de la identidad. Así, el éxito de este tipo de soluciones está condicionado por dos factores principalmente:
  1. La complejidad del sistema en su conjunto, que estará en función de las aplicaciones que se usen para implementarla y, como los usuarios deban interactuar con ellas: Sistemas en los que se deben formar a los usuarios de manera explícita estarán abocados al fracaso. El usuario debe percibir la gestión de su identidad como una ventaja que le facilita la vida, no que se la complica.
  2. La usabilidad de la solución final; si el diseño no tiene en cuenta que debe interactuar con usuarios con distintos grados de formación, y no se orienta a que resulte sencillo para los menos preparados, apenas se usará, y si se les obliga a ello, acabarán usando Posits bajo del teclado y en el lateral del monitor.

A pesar que lo importante sea proveer acceso a los servicios y recursos de información, las políticas y procesos que se desarrollen para la gestión de la identidad, deben ser simples y sencillos, y el software que se use para implantarlos debe ser usable por cualquiera, sin prácticamente ninguna formación previa en la herramienta.

Factores de riesgo en la gestión de la identidad


Saber que existe un sistema, que centraliza nuestros datos personales y nuestras credenciales de acceso a la información, supone en sí mismo una clara amenaza a la seguridad del mismo, y a nuestra privacidad.

La seguridad de un sistema informático consiste en asegurar que los recursos de información sean accedidos de la forma que se decidió que se accedieran, y que su modificación sea realizada por las entidades habilitadas para ello, dentro de su límite de autorización. Comprometer el sistema en el que se centralizan todas las credenciales de acceso, comprometería toda la seguridad informática de la organización, y esta encuentra sus mayores amenazas en las revisadas y actualizadas técnicas de man-in-the-middle, secuestro de sesiones y phising.

Centralizar datos confidenciales como la dirección de correo electrónico, cuentas bancarias, nuestro número de teléfono, cuentas bancarias, el currículum profesional, opciones políticas y religiosas, pone a disposición de cualquiera información que hasta ahora, en el mundo analógico, no había sucedido. La difusión de parte de estos datos, puede suponer un atentado contra nuestro derecho a la privacidad, como ya recogen las legislaciones de la mayoría de países.
El reto más importante a los que debe enfrentarse un sistema de gestión de la identidad es la preservación de la privacidad de los datos confidenciales, de acuerdo con la legislación vigente, y asegurar la seguridad en el acceso a los mismos.

Reputación e identidad digital


La proliferación de los sitios de redes sociales en Internet ha supuesto una eclosión 2.0 de nuevos servicios y aplicaciones en la red, pero en esta ocasión la repercusión ha sido sobre nuestra forma de relacionarnos y no tanto sobre nuestro trabajo diario, si obviamos el hecho de que nos hacen ser menos productivos.

Para poder conseguir acceso a estos nuevos servicios, el usuario de forma voluntaria, cede sus datos aunque no siempre sea consciente de la repercusión que este hecho pueda tener, especialmente por el uso que el proveedor del servicio pueda hacer de su información personal brindándola a terceros. Aunque no exista una retribución económica para poder usar estos servicios, el precio que el usuario debe pagar, es ceder parte de su derecho a la privacidad, lo cual potencia el factor de riesgo de la gestión de nuestra identidad. Este factor de riesgo se potencia aún más con el hecho de que al compartir información no tenemos el control ni la propiedad sobre ella, una veces conscientemente (al verter nuestra opinión en un foro), pero otras ajeno a ello (hacer click en los resultados de google, o al rellenar una encuesta).

Las múltiples identidades digitales que podemos tener en este conglomerado de nuevos servicios, el uso que hacemos de ellas, y la opinión que ello genera, han ampliado el concepto de identidad digital con lo que se conoce como reputación digital, y que se define como:

La imagen que un individuo proyecta en Internet, creada con o sin su propia participación

En este caso no nos referimos a personas humanas como individuos, sino a cualquier entidad con identidad digital, producto, lugar, documento, actividad, aplicación, etc donde ya no es requisito siquiera que exista una identidad digital asociada.
El hecho de que esta imagen sea creada sin nuestra participación, puede tener repercusiones positivas o negativas en nuestra actividad cotidiana, y puede llegar a causar un atentado ya no contra nuestra privacidad sino contra nuestra propia imagen.

Al asociar el concepto de identidad digital y de reputación digital a personas humanas, comprobaremos como el conjunto es análogo al concepto de identidad personal, con el que empezamos este capítulo: la identidad no incluye sólo rasgos físicos que nos diferencian de los demás, sino el cómo nos vemos a nosotros mismos, cómo nos ven los demás y como interactuamos con el resto de la sociedad con el paso del tiempo.

Nuestra identidad en Internet son, el conjunto de datos sobre nosotros mismos que crean y proyectan nuestra propia imagen en la red y nos caracteriza. Ello minimiza las diferencias entre el mundo real y el virtual de Internet; ambos son mundos reales pero ocupan diferentes espacios: inevitablemente se trata de nuestra propia identidad personal en otro escenario, y por ello debemos cuidarla.

La imagen la he sacado del album de César Poyatos en flickr

Qué es la identidad

El diccionario de la Real Academia Española define identidad en una de sus acepciones como:

Conjunto de rasgos propios de un individuo o de una colectividad que los caracterizan frente a los demás

De esta definición reflexionaremos un momento sobre el individuo como persona humana y cómo este se caracteriza del resto, intentando respondernos a unas preguntas simples: ¿cómo diferenciar un individuo del resto? ¿qué hace que dos individuos no sean idénticos? ¿qué me hace a mí diferente del resto?.

La primera pregunta es fácil: Los atributos físicos como el aspecto, el color, la forma, el olor, ... pero pensemos un momento en dos hermanos gemelos, construidos a partir del mismo material genético. En teoría deberían ser idénticos, pero sabemos que con el paso del tiempo no lo serán y que lo que los diferencia no es sólo físico, sino el cómo los vemos con el paso del tiempo. Ahora pensemos en nosotros mismos en la actualidad y hace diez años, obviando los cambios físicos debidos a la edad; ¿somos la misma persona?, ¿qué ha cambiado en mí?. Entre las respuestas quizás encontremos en resumen, que con el transcurrir de los años, no nos vemos de la misma forma y no nos relacionamos con el resto de la sociedad como antaño.

Así, el conjunto de rasgos propios del que habla la definición de RAE, incluirá no sólo rasgos físicos, sino el cómo nos vemos a nosotros mismos, cómo nos ven los demás y como interactuamos con el resto de la sociedad con el paso del tiempo. De todo ello hay características que podemos controlar como nuestros hobbies, preferencias musicales, el domicilio o el estilo de vestir, otras nos vienen asignadas y poco podemos hacer, como el nombre, el número de DNI, el código postal o el número de la seguridad social, y otras tantas, sobre las que no tendremos ningún control, variarán dependiendo de nuestras relaciones sociales y condicionarán cómo nos ven el resto: simpático, aplicado, moroso, cariñoso, etc. Decir que dos individuos son idénticos es un disparate y decir que alguien es idéntico consigo mismo en un momento dado, es como no decir nada, pero habitualmente, cuando hablamos de identidad para referirnos a personas (¿es esa persona que conozco?), tendemos a pensar que el paso del tiempo apenas ha causado efectos en ella: La identidad de una persona está representada por un cuerpo físico pero no está confinada a él.

A partir de estas reflexiones se nos plantea un dilema: ¿cómo podemos reconocer a una persona?, y generalizando ... ¿qué hace que una entidad reconozca a otra entidad?. Sencillamente, la identidad que tenemos retenida de ella: Una serie de atributos memorizados que los diferencian del resto.

Cuando estamos tiempo sin ver a alguien, la reconocemos por una serie de atributos que teníamos memorizados de ella, y que la hacían diferente (incluso de su hermano gemelo si lo tuviera): Aspecto físico, forma de hablar, de moverse, de sonreír, de mirar, su carácter, los recuerdos conjuntos, etc. Es obvio que con el paso del tiempo, la persona no será la misma, pero estos atributos retenidos en nuestra memoria, nos permitirán reconocerla e identificarla.

El estado español puede reconocernos gracias a nuestro Documento Nacional de Identidad (DNI), y esto no es sino una colección de atributos (nombre, dirección, fotografía, firma, padres, sexo, edad, y un número) que permite diferenciarnos a unos de otros; pensar en el DNI de dos hermanos gemelos, donde prácticamente todo es igual excepto el nombre y el número. Igual que sucede con el DNI, sucede con nuestra tarjeta sanitaria, o el carnet de conducir: Son una colección de atributos de nosotros, que las entidades emisoras tienen retenidos y que les ayudan a identificarnos.

Nuestra relación con la sociedad provoca que nos relacionemos con nuevos individuos, de los que no conocemos absolutamente nada. En primera instancia, nuestro instinto animal nos empuja a desconfiar. Está desconfianza inicial se va transformando con el paso del tiempo, conforme vamos conociendo a esa nueva persona; podríamos decir, que vamos identificando el valor de los atributos que nos interesan en nuestra relación con ella, y aprendemos a identificarla. Luego sólo tenemos que reconocerla. Pero también sucede, que esa desconfianza inicial es menor, si nos presenta alguien conocido nuestro, como si parte del proceso de identificación que nos corresponde, lo hubiera hecho ya ese conocido nuestro, e inconscientemente lo hubiéramos delegado. Esto también sucede con el DNI, por poner un ejemplo: la primera vez que nos lo hacemos tenemos que ir acompañados de alguno de nuestros padres, y presentar mucha más documentación que cuando tenemos que renovarlo. Este documento es expedido por la Dirección General de Policía, y representa nuestra identidad ante la misma, sin embargo, con el DNI podemos sacar dinero de nuestras cuentas del banco, sin presentar la documentación bancaria, de forma que el propio banco confía en la identidad que la policía tiene de nosotros.

La imagen la he sacado del album de KatB Photography en flickr

Sobre las redes sociales

Desde los comienzos casi de nuestra civilización el hombre se ha esforzado en crear redes para conectar dos o más puntos separados con algún fin concreto. El tendido eléctrico conecta nuestra casa con la central eléctrica más cercana, que a su vez está conectada con otras y todas de una manera u otra, con una central desde la que se genera la electricidad que enciende nuestras bombillas. De la misma manera, la red de saneamiento conduce las aguas fecales de nuestras casas hasta la depuradora más cercana donde el agua se tratará y limpiará para aprovecharla. La red telefónica es otro ejemplo de red. La red de ferrocarril o la de carreteras es otro ejemplo del esfuerzo del hombre por conectar lugares separados y alejados, con algún objetivo, en este caso facilitar la comunicación y el comercio. Cuando conectamos más de dos lugares con algún motivo solemos referirnos al conjunto como red y le atribuimos como adjetivo el motivo por el que los conectamos: red eléctrica, red telefónica, red comercial, etc.

De la misma manera, las personas no se conectan entre sí pero si interactúan entre sí con un motivo común: trabajo, negocios, ser compañeros de curso, amor, aficiones, gustos musicales… y cuando interactúan entre ellos hablamos de relaciones personales en vez de hablar de conexiones.

Fue Aristóteles quien dijo que “el hombre es un ser social por naturaleza, inmerso en la sociedad desde que nace hasta que muere”. Históricamente, los grupos de personas que compartían un tipo de motivo para relacionarse se agrupaban y se llamaban colectivos o comunidades: Comunidades de vecinos, colectivos sindicales, comunidad hispana, colectivo y gays y lesbianas, etc. Desde los comienzos de nuestra civilización han existido estas comunidades que periódicamente se reunían para intercambiar impresiones, opiniones, actuar, reivindicar o debatir, fomentando así esa relación que los unía. El hecho de reunirse varias personas que comparten algo con el objetivo simplemente de relacionarse siempre lo hemos llamado acto social. Cuando los motivos por los que se relacionan estos grupos de personas, tienen manifestaciones artísticas y provocan cambios de comportamiento empezamos a hablar de cultura: cultura griega, cultura gótica, cultura afroamericana, cultura geek, … y cuando este colectivo se hace muy, muy grande, surge la necesidad de regular su funcionamiento interno con normas y leyes que ayuden a integrarse en esa comunidad. Se habla entonces de sociedades.

Internet ha revolucionado la manera en la que las personas se relacionan: Antes sólo podíamos relacionarnos con la gente que vivía cerca de nosotros o que conocíamos durante nuestros viajes. Mantener la relación y el contacto obligaba a desplazarse o a esperar días o semanas hasta que las cartas llegaran a su destino. Internet es la mayor red de comunicaciones de la Tierra que permite poner en contacto a dos personas en cualquier parte de la Tierra en décimas de segundo. Esta facilidad para la comunicación ha cambiado completamente nuestra forma de comunicarnos: Ya no hay que esperar ni viajar, podemos relacionarnos con cualquier persona del planeta, como si fuera nuestro vecino de la puerta de al lado.
Esto ha permitido que los colectivos o comunidades como las conocíamos antes, aparezcan y evolucionen mucho más rápido, simplemente porque es mucho más fácil comunicarse y el número de candidatos es casi el número de habitantes del planeta. Hace unos años encontrar seguidores de música funk en tu localidad era muy difícil, y si no te gustaba el mismo tipo de música que a la mayoría de personas con las que te relacionabas podías ser motivo de exclusión y rechazo. Hoy día con Internet es mucho más fácil encontrar gente con tus mismos gustos musicales y así poder evolucionar en el plano personal porque, a fin de cuentas, las relaciones personales sólo sirven para evolucionar como personas. Pertenecer a un grupo social, un colectivo o una comunidad, permiten al anónimo popularidad, al discriminado integración, al diferente igualdad, al malhumorado educación y así muchas cosas más. La fuerza del grupo permite sobre el individuo cambios que de otra manera podrían ser difíciles y genera nuevos vínculos afectivos. Quizás ya podamos hacernos una idea un poco más concreta sobre qué es una red social: Una red social es un grupo de personas conectadas por una o más tipos de relaciones, tales como amistad, creencias, conocimientos o intereses comunes …y han existido desde mucho antes de que existiera Internet.

Internet hace posible las relaciones entre ese grupo de personas igual que las hace el tren, una carta, una revista, la televisión o un programa de radio, pero de diferente manera: La comunicación ahora es instantánea y multidireccional, no de uno a uno, o de uno a muchos.
Desde principios de la década (allá por el año 2001), han comenzado a surgir nuevas herramientas en Internet que hacen mucho más fácil la comunicación de estos colectivos, orientándose principalmente en hacer posible y fomentar las relaciones entre personas y su comunicación. De la misma forma que crecían el número de estas herramientas, surgía la especialización entre ellas, y comenzaban a distinguirse unas de otras, orientándose a un tipo de relaciones concreto: amistad, trabajo, fotografía, vídeo, etc. El conjunto de estas herramientas o aplicaciones se conocen como social media o medios sociales , y no dejan de ser las herramientas que ayudan a la comunicación de las redes sociales a través de Internet. Entre ellas encontramos:


Estas herramientas están íntegramente orientadas a fomentar este tipo de relaciones, pero se suelen apoyar en otras herramientas que nacieron al mismo tiempo, que si bien no fomentan las relaciones, sí que sirven de vehículo para la comunicación entre los miembros de las redes sociales:
¿De qué nos sirve tener teléfono móvil si no tenemos amigos a quien llamar?. Estas herramientas de la social media (YouTube, Gmail, Twitter, etc) hacen posible la comunicación igual que la hace posible el teléfono móvil. Con las herramientas orientadas a las redes sociales (facebook, tuenti, Linkedin, etc), podemos hacer nuevos amigos con quien contactar y relacionarlos usando diferentes formas: chat, correo electrónico, blogs, etc.

La imagen la he sacado del album de 10ch en flickr

Clusters Java con Terracota

Terracotta es un software Open Source de clusterización para aplicaciones Java, compuesto de dos partes:

  • Un servidor responsable de la administración y de distribuir la información entre los clientes
  • y el propio cliente que publica y recibe información hacia/desde el servidor de terracotta

El servidor se encarga de replicar las instancias de clase entre los miembros del cluster a través del cliente. Para ello, nuestra aplicación debe estar programada a consciencia, y declarar qué clases deben propagarse en un fichero de configuración especial del cluster. La particularidad de este cluster reside en la posibilidad de replicar instancias de JVM y mantenerlas sincronizadas.
Para dotar a nuestras aplicaciones de alta disponibilidad configuraremos el servidor de terracotta en todos los nodos. Compartirán la misma configuración y sabrán cómo conectar al resto de nodos que ejecutan la aplicación Java que queremos clusterizar. Inicialmente se elegirá automáticamente cuál de los nodos se erige como maestro, mediante un algoritmo distribuido propio, dejando el resto de servidores terracotta en modo pasivo. Cuando el maestro de terracotta caiga, otro asumirá el rol de maestro. El problema viene cuando todos los nodos se inicien a la vez, dado que el algoritmo puede tardar en decidir quien se erige como maestro. Esta situación se considerará una situación de desastre y requerirá la intervención de un administrador que inicie primero una de los servidores, y cuando esté arriba, poco a poco iniciar el resto de servidores para que se unan al cluster. Echadle un ojo a este tutorial si quereis empezar a probarlo.

La imagen la he sacado del album de luispabon en flickr