Vous êtes sur la page 1sur 28

IES Gran Capitn

Departamento de Informtica
Ciclo Formativo de Grado Superior de
Administracin de Sistemas Informticos

Mdulo de Proyecto Integrado


Fernando Velzquez Gmez - 2ASIR
Proyecto: Clster de Proxmox (Jpiter- Calisto)
Curso 2014/2015
ndice de contenido
1.- Introduccin.....................................................................................................................................................................2
2.- Objetivos y requisitos del proyecto.................................................................................................................................2
3.- Estudio previo.................................................................................................................................................................2
3.1.- Estado actual...........................................................................................................................................................2
3.2.- Estudio de soluciones existentes.............................................................................................................................4
4.- Plan de trabajo.................................................................................................................................................................6
5.- Diseo..............................................................................................................................................................................6
5.1.- Diseo general........................................................................................................................................................6
5.2.- Diseo detallado.....................................................................................................................................................7
6.- Implantacin....................................................................................................................................................................8
7.- Recursos........................................................................................................................................................................21
7.1.- Herramientas hardware.........................................................................................................................................21
7.2.- Herramientas software..........................................................................................................................................23
7.3.- Personal................................................................................................................................................................23
7.4.- Presupuesto...........................................................................................................................................................23
8.- Conclusiones.................................................................................................................................................................23
8.1.- Grado de consecucin de objetivos......................................................................................................................23
8.2.- Problemas encontrados.........................................................................................................................................24
8.3.- Futuras mejoras.....................................................................................................................................................25
9.- Referencias / bibliografa..............................................................................................................................................25
10.- Anexos.........................................................................................................................................................................25

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

1.- Introduccin
Uno de los problemas a tener en cuenta en todo sistema informtico, sobretodo de una cierta
amplitud y capacidad de acceso, son las cadas en los servicios que ofrece a los usuarios del mismo.
Estas cadas son provocadas por los puntos nicos de fallos y la falta de redundancia y de Alta
Disponibilidad en el sistema.
El presente proyecto se encargar de la configuracin y montaje de un sistema de Alta
Disponibilidad dentro del sistema informtico del instituto y en especfico entre los servidores
Jpiter y Calisto.

2.- Objetivos y requisitos del proyecto


Sistema de Alta Disponibilidad Proxmox entre los servidores Jpiter y Calisto:

Implementacin de un Clster formado por los nodos servidores.

Estudio de los dispositivos de almacenamiento.

Implementacin del sistema de Alta Disponibilidad.

3.- Estudio previo


3.1.- Estado actual

Actualmente el servidor Calisto y Jupiter se encuentran conectados exclusivamente mediante


cableado Ethernet desde el DACE hasta el armario de comunicaciones del departamento.
En el servidor Calisto podemos encontrar un Proxmox instalado donde se encuentra el proxy
inverso del sistema, mientras que en Jpiter podemos encontrar otro Proxmox con el grueso de las
mquinas virtuales usadas por los ciclos de informtica del instituto incluyendo un servidor
IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

MySQL, el servicio DNS del dominio gcap.net, as como los proyectos integrados.

El problema surge en la posibilidad de cada del servidor Jpiter, lo cual conllevara un fallo en
todos los accesos producidos a las mquinas virtuales y a los servicios proporcionados por dicho
servidor.

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

3.2.- Estudio de soluciones existentes


Clster de Alta Disponibilidad de Proxmox
Proxmox es una solucin de virtualizacin basada en Debian, ya instalada en los servidores
Jpiter y Calisto como gestor de mquinas virtuales, contenedores, redes virtualizadas y
clsteres HA (precisamente lo que vamos a usar).
DRBD
Es un software de almacenamiento replicado distribuido Open Source. Asimismo se
denomina de esta forma a los dispositivos de bloques lgicos diseados para ofrecer clsters
de Alta Disponibilidad. Esto se produce replicando un dispositivo de bloque entero a travs
de la red como si se tratase de un RAID 1 por red.

Principales caractersticas de la integracin de DRBD en Proxmox VE:

LVM encima de DRBD

Todos los discos VM (volmenes LVM del dispositivo DRBD) pueden ser replicados
en tiempo real en ambos nodos Proxmox a travs de la red. Alternativamente, todo el
almacenamiento VM puede ser replicado casi en tiempo real a muchos otros
servidores de backup.

Modo de operar:
DRBD estratifica capas de dispositivos de bloques lgicos sobre dispositivos de bloques
IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

locales existentes en los clsters participantes. Las escrituras realizadas sobre el nodo
primario son transferidas al dispositivo de bloques de bajo nivel y se propaga
simultneamente al nodo secundario. El nodo secundario transfiere entonces los datos a su
dispositivo de bloques correspondiente. Todas las lecturas de entrada/salida se producen
localmente.

Comparacin con sistema de almacenamiento compartido


VENTAJAS

Los recursos de almacenamiento compartido son accedidos a travs de una red, la


cual se puede sobrecargar mediante peticiones de lectura I/O. En DRBD todas las
operaciones de lectura se llevan a cabo localmente.

El almacenamiento compartido es generalmente caro y consumen ms espacio y


energa.

INCONVENIENTES

En un sistema de almacenamiento compartido, el tiempo de escritura es menor que el


enrutar la escritura entre nodos.

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

4.- Plan de trabajo


23/03/15-31/03/15

Bsqueda de informacin sobre la


implementacin de un clster en Proxmox y
documentacin de la misma.

07/03/15-11/03/15

Implementacin de RAID por software.


Implementacin del clster entre los 2 nodos

12/03/15-16/03/15

Bsqueda de informacin sobre dispositivos


de almacenamiento compartido y DRBD

06/03/15-15/05/15

Implementacin de sistema DRBD

18/04/15-20/04/15

Implementacin de sistema HA

22/04/15-24/04/15

Testeo del sistema y resolucin de problemas

27/04/15-30/04/15

Finalizacin de la documentacin

5.- Diseo
5.1.- Diseo general
Diseo General del proceso a implementar en los servidores proporcionados para el
proyecto:

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

5.2.- Diseo detallado


Nodo Jpiter
IP Anfitrin Proxmox: 192.168.12.6
Fencing device: HP iLO

Nodo Calisto
IP Anfitrin Proxmox: 192.168.12.8
Fencing device: HP iLO

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

6.- Implantacin
Creacin del clster Jpiter-Calisto:
Teniendo en cuenta que en ambos servidores ya se encuentra instalado una versin de Proxmox,
abrimos sesin en uno de ellos y procedemos a crear el clster:

Abrimos sesin en el otro servidor mediante ssh y lo aadimos al clster:

Vemos como ahora el clster tiene 2 nodos y el estado del mismo:

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

Y en la interfaz web, cada uno con su almacenamiento propio:

No nos olvidemos de modificar el /etc/hosts de cada servidor:

Implementacin del sistema de almacenamiento replicado DRBD


Para poder implementar DRBD entre los 2 servidores, vamos a usar un disco en cada servidor, el
cual es el que realmente va a almacenar las Mvs y el almacenamiento local de los servidores se
quedar para albergar imgenes de sistemas operativos y dems recursos.

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

Instalamos en ambos servidores la utilidad drbd:

Modificamos el archivo de configuracin /etc/drbd.d/global_common.conf en ambos servidores:

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

Y creamos un nuevo recurso de configuracin al que llamaremos r0.res con la siguiente


configuracin adicional (se incluye automticamente en la configuracin):

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

NOTA: data-integrity-alg se usa solo para testeo, para uso normal es recomendable deshabilitarlo,
debido a su uso de CPU y a que puede dar falsos positivos de sincronizacin. En su lugar se usarn
verificaciones peridicas online mensualmente o semanalmente.
Para ello crearemos una tarea en el cron que se encargue de realizar las verificaciones:

Iniciamos el servicio DRBD en ambos servidores, creamos el dispositivo de metadatos:

Y levantamos el dispositivo en ambos nodos:

Si ahora observamos el estado del sistema DRBD, veremos que se encuentra listo para
sincronizacin:

Comenzamos la sincronizacin entre los dos nodos (el siguiente comando slo se ejecuta en uno de
los nodos):

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

Una vez sincronizado:

Como sigue apareciendo un disco como primario y otro como secundario, reiniciamos el servicio en
ambos nodos para que autoajuste ambos discos a primario:

A continuacin configuraremos la LVM que va a ir encima del dispositivo drbd0, para ello nos
vamos al archivo de configuracin /etc/lvm/lvm.conf para cambiar los filtros y especificar que
particiones de que discos debe usar para la lvm (en ambos nodos):

En uno de los nodos creamos el volumen fsico y el grupo:

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

Ya slo nos queda aadir el grupo LVM a travs de la interfaz web de Proxmox:

Y empezar a crear mquinas virtuales:

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

Dichas imgenes se quedarn almacenadas en el disco compartido, por lo cual, al sincronizarse se


encontrarn disponibles en ambos nodos:

Si tratamos de migrar una de las Mvs, veremos que la tarea se realiza muy rpidamente, gracias a
que la imagen del mismo se encuentra ya en el otro nodo:

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

Podemos ver como los archivos de configuracin de las Mvs se han migrado igualmente:

Implementacin de HA en el clster:
El siguiente paso ser el de habilitar el servicio de Alta disponibilidad dentro del clster, para ello
debemos irnos al archivo /etc/cluster/cluster.conf el cual tiene toda la configuracin del mismo,
pero no podemos editar directamente el archivo.
Tenemos que copiar el archivo a uno nuevo llamado cluster.conf.new y realizar los cambios que
queramos, siempre acordndonos de aumentar el nmero de versin cada vez que realicemos una
edicin del archivo:

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

Habilitamos el fencing en ambos nodos:

Y activamos todos los cambios hechos a travs de la interfaz web:

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

Aadimos las Mvs que queremos estn gestionadas con HA:

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

Y levantamos los servicios de gestin del clster en dichas Mvs:

Para probar que el sistema HA funciona, vamos a parar el servicio en el servidor calisto:

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

Como vemos funciona, puesto que ha migrado automticamente la MV al otro servidor al detectar
que el servicio se ha cado en el primer servidor.
Probamos, por ltimo, con un reinicio del servidor, si funciona correctamente, las Mvs se migrarn
al servidor calisto:

Con esto ya tenemos nuestro sistema HA habilitado correctamente en nuestro clster, junto con el
sistema de almacenamiento compartido DRBD.

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

7.- Recursos
7.1.- Herramientas hardware
-Servidor Jpiter (Real):

-Servidor Calisto (Real):

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

-Servidor Jpiter (Usado en simulacin):

DD Local:

-Servidor Calisto (Usado en simulacin):

DD Local:

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

DD DRBD (Alberga las MVS):

7.2.- Herramientas software


-Proxmox 3.4.1
-Debian GNU/Linux 7.8.0
-DRBD8-utils

7.3.- Personal
Toda la investigacin, desarrollo e implementacin han sido llevadas a cabo por:
Fernando Velzquez Gmez

7.4.- Presupuesto
Tareas

Horas

Coste

Coste+IVA(21%)

Investigacin

20H

700,00

847,00

Implementacin en local

25H

875,00

1.058,75

Resolucin de Problemas

5H

175,00

211,75

Total

50H

1.750,00

2.117,50

8.- Conclusiones
8.1.- Grado de consecucin de objetivos

Implementacin de un Clster formado por los nodos servidores.


TOTALMENTE TERMINADO
IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

Estudio de los dispositivos de almacenamiento. Implementacin sistema DRBD.


TOTALMENTE TERMINADO

Implementacin del sistema de Alta Disponibilidad.


TOTALMENTE TERMINADO

8.2.- Problemas encontrados


El primer problema ante el que me he encontrado ha sido que al tener que realizar el proyecto sin
acceso al hardware donde se piensa implementar, he tenido que realizar toda la simulacin del
mismo mediante software.
Esto implicaba la implementacin de RAID por software en cada uno de los servidores que iba a
usar para el proyecto. Sin embargo, Proxmox no resulta compatible con el raid por software.
Para esta solucin la propia pgina de documentacin de Proxmox ofrece ayuda en pginas externas
para la implementacin por software.
Dicha implementacin conlleva la configuracin del array de RAID mediante mdadm, el uso de
comandos sgdisk para la gestin de particiones en vez de fdisk (Proxmox usa GPT en vez de
DOS), configuracin del GRUB, creacin y volcado de datos en LVM, etc.
Otro de los problemas encontrados a lo largo del proyecto y que puede producirse durante el
funcionamiento del sistema es la probabilidad de que se produzca un caso de split-brain. Esto se
produce cuando el canal de comunicacin entre los dos nodos DRBD falla y ambos continan de
forma independiente.
Cuando la comunicacin se reestablece los dos nodos ya no tienen la misma informacin en sus
volmenes DRBD y por lo tanto, es obligatorio una resincronizacin.
En una configuracin dual-primary como la que se ha usado en la implementacin con Proxmox,
ambos nodos puede que tengan cambios realizados sobre el mismo recurso, por lo que es necesario
descartar la informacin de uno de los nodos, el cual suele ser el nodo con menos actividad.
La informacin del disco virtual en dicho nodo puede preservarse usando la interfaz web para
migrar las Mvs al nodo del cual se quiere preservar la informacin. Esto conlleva el dejar fuera de
servicio dichas Mvs mientras se copia la informacin completa del disco virtual al otro nodo.
Se recomienda por ello, dejar siempre las Mvs de uso ms crtico en uno de los dos nodos y usar
el otro a modo de entorno de desarrollo. De forma alternativa es posible crear 2 volmenes
DRBD, uno con las Mvs que suelen correr habitualmente en el nodo A y otro con las habituales del
nodo B.
Un problema relacionado con el anterior que puede surgir, es que si se crean Mvs mientras uno de
los servidores se encuentra cado, no se actualizar en el disco DRBD hasta que no se sincronice
entre ambos nodos.
En el caso de que el estado del servicio DRBD nos devuelva un valor de datos inconsistentes, habra
que realizar un overwrite-data-of-peer como cuando se realiz la sincronizacin inicial.
Otra solucin es realizar una recuperacin de split-brain, para lo cual abra que tener apagadas todas
IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

las Mvs del nodo del que queremos descartar los datos, realizar un backup de las Mvs y restaurarlas
en el otro nodo. Tras lo cual eliminarlas del nodo fallido y ejecutar una serie de comandos para
resincronizar informacin con el nodo activo.
En el nodo fallido:

En el nodo activo:

A partir de entonces se sincronizarn ambos nodos. Una vez acabada la sincronizacin, cambiar de
nuevo el nodo cado a modo primario:

Y se podrn de nuevo, volver a migrar las Mvs al nodo que se encontraba fallido.
En caso de usar 2 volmenes DRBD en vez de 1, el proceso sera bastante similar.
Por ltimo, hacer saber que si un nodo se encuentra cado, no se podr acceder a las Mvs del mismo,
ni migrarlas, pero si se pueden copiar los archivos de configuracin de las mismas desde
/etc/pve/qemu-server, aunque se hara dndoles otro nombre.

8.3.- Futuras mejoras


Se ha optado por la opcin menos costosa para la implementacin del sistema, obviamente si se
quiere mejorar se deberan usar sistemas de almacenamiento SAN en vez del sistema DRBD usado
y la implementacin de un RAID ms fiable que el usado en la simulacin (RAID 1). Todo
dependiendo del presupuesto del que se disponga.

9.- Referencias / bibliografa


https://pve.proxmox.com/wiki/Two-Node_High_Availability_Cluster
https://pve.proxmox.com/wiki/DRBD
http://kbdone.com/proxmox-ve-3-2-software-raid/
http://drbd.linbit.com/

10.- Anexos
Tutorial sobre como implementar RAID por Software en Proxmox:
IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

PASO 1: Instalacin y Setup


Lo primero y principal es habilitar los discos que vamos a usar para el RAID, en mi caso he usado 2
discos de 50GB en cada una de las mquinas:

Tras instalar Proxmox en uno de los discos, procedemos a actualizar el sistema:

Y a instalar el software que vamos a usar para configurar el RAID:

PASO 2: Mover /boot y el grub a un raid 1 por software.


Nuestra tabla de particiones debera de ser originalmente algo asi:

Identificamos cuales van a ser las particiones que vamos a usar para el RAID y las etiquetas de los
discos, en mi caso /dev/sda y /dev/sdb. Las particiones van a ser la 2 y 3, ya que en la 1 se
encuentra el grub del disco.
A continuacin vamos a usar una serie de comandos sgdisk, ya que Proxmox usa GPT en vez de
MSDOS. Preparamos el 2 disco:

El primer comando copia la tabla de particiones de sda a sdb, mientras que los otros dos comandos
modifican los tipos de particin de /deb/sdb2 y /dev/sdb3 a RAID en vez de boot/lvm.
IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

Lo siguiente es crear el array de RAID con mdadm:

Nos aparecer un mensaje de advertencia, el cual aceptamos:

Al final /dev/md0 va a contener /boot mientras que /dev/md1 almacenar la particin LVM.
Para ello, formateamos /dev/md0 como ext3, copiamos el grub en l y lo colocamos como nuestro
montaje de /boot:

Ahora slo tenemos que arreglar el /etc/fstab para que monte /boot desde md0 en vez de desde
/dev/sda2:

Reiniciamos, y si el sistema bootea correctamente es que lo hemos hecho bien, sino tendremos que
volver a hacerlo desde el principio. Para verificar que todo va correcto una vez reiniciado, podemos
ejecutar el siguiente comando:

Si nos devuelve como resultado que ha booteado desde md0 es que es correcto.

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

Lo siguiente es realizar una serie de cambios en el grub y reinstalarlo:

Al igual que hicimos con /dev/sdb ahora convertimos /dev/sda2 al formato de particin RAID:

Y lo aadimos al array:

PASO 3: Mover la particin LVM encima de /dev/md1


La particin root de Proxmox se encuentra instalada en un disco lgico gestionado por LVM, por lo
que moverlo conlleva una serie de pasos.
Primero creamos un nuevo volumen LVM y movemos nuestro sistema de archivos LVM
desde /dev/sda3 a /dev/md1. Este comando puede tardar bastante, dependiendo del tamao del
disco:

Una vez movido, borramos /dev/sda3 del volumen lo cual nos permitir aadirlo al array /dev/md1:

Lo cual, hacemos a continuacin:


Una vez alcanzado este punto /dev/sda3 comenzar a convertirse poco a poco en un clon de
/dev/sdb3 y nuestro RAID estar terminado y funcionando.
Se recomienda no guardar las MV dentro del almacenaje del RAID, sino tenerlas separadas del SO.
En nuestro caso nos da igual, porque las estamos guardando en un disco independiente para el
DRBD. En el RAID, slo guardamos el sistema y algunos recursos, como imgenes de SO para
instalacin.

IES Gran Capitn -- C/. Arcos de la Frontera, S/N -- 14014 Crdoba -- 957-379710
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org