Este documento describe un proyecto para implementar un clúster de alta disponibilidad con Prestashop utilizando Proxmox. Inicialmente se instalarán tres servidores Proxmox para crear el clúster, y dentro de uno de ellos se desplegará una máquina virtual Ubuntu con Prestashop y Apache. Adicionalmente, se configurará un almacenamiento compartido NFS para almacenar la máquina virtual. De esta forma, si el servidor anfitrión falla, la máquina virtual podrá migrar a otro nodo del clúster para mantener la
1. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 1 Miguel Pérez Sánchez
CLÚSTER DE ALTA
DISPONIBILIDAD (HA)
EN PROXMOX CON
PRESTASHOP
Guillermo Moral Moreno
Miguel Pérez Sánchez
2º ASIR
2. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 2 Miguel Pérez Sánchez
ÍNDICE
1. Introducción.............................................................................................................................................5
2. Prestashop ................................................................................................................................................6
3. Proxmox.....................................................................................................................................................7
3.1 Requisitos para la instalación ..................................................................................................7
4. Conceptos básicos .................................................................................................................................8
5. Estructura del proyecto......................................................................................................................9
6. Instalación de Proxmox................................................................................................................... 10
7. Configuración del almacenamiento compartido NFS ....................................................... 22
8. Creación de la MV Ubuntu.............................................................................................................. 31
9. Creación del clúster........................................................................................................................... 36
10. Configuración de la HA.................................................................................................................. 40
11. Instalación de Apache y Prestashop....................................................................................... 43
12. Prueba de HA..................................................................................................................................... 53
13. Monitorización.................................................................................................................................. 57
14. Conclusiones ...................................................................................................................................... 58
15. Bibliografía.......................................................................................................................................... 59
3. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 3 Miguel Pérez Sánchez
ÍNDICE DE FIGURAS
Figura 1. Esquema del proyecto, 1................................................................................................................................................................9
Figura 2. Servidor 1 de Proxmox, 1............................................................................................................................................................10
Figura 2. Servidor 1 de Proxmox, 2............................................................................................................................................................10
Figura 2. Servidor 1 de Proxmox, 3............................................................................................................................................................11
Figura 2. Servidor 1 de Proxmox, 4............................................................................................................................................................11
Figura 2. Servidor 1 de Proxmox, 5............................................................................................................................................................11
Figura 2. Servidor 1 de Proxmox, 6............................................................................................................................................................12
Figura 2. Servidor 1 de Proxmox, 7............................................................................................................................................................12
Figura 2. Servidor 1 de Proxmox, 8............................................................................................................................................................13
Figura 2. Servidor 1 de Proxmox, 9............................................................................................................................................................13
Figura 2. Servidor 1 de Proxmox, 10.........................................................................................................................................................14
Figura 2. Servidor 1 de Proxmox, 11.........................................................................................................................................................14
Figura 2. Servidor 1 de Proxmox, 12.........................................................................................................................................................15
Figura 2. Servidor 1 de Proxmox, 13.........................................................................................................................................................15
Figura 2. Servidor 1 de Proxmox, 14.........................................................................................................................................................16
Figura 2. Servidor 1 de Proxmox, 15.........................................................................................................................................................16
Figura 2. Servidor 1 de Proxmox, 16.........................................................................................................................................................17
Figura 2. Servidor 1 de Proxmox, 17.........................................................................................................................................................17
Figura 2. Servidor 1 de Proxmox, 18.........................................................................................................................................................18
Figura 2. Servidor 1 de Proxmox, 19.........................................................................................................................................................18
Figura 3. Servidor 2 de Proxmox, 1............................................................................................................................................................19
Figura 3. Servidor 2 de Proxmox, 2............................................................................................................................................................19
Figura 3. Servidor 2 de Proxmox, 3............................................................................................................................................................21
Figura 4. Servidor 3 de Proxmox, 1............................................................................................................................................................20
Figura 4. Servidor 3 de Proxmox, 2............................................................................................................................................................20
Figura 4. Servidor 3 de Proxmox, 3............................................................................................................................................................21
Figura 5. Almacenamiento NFS, 1...............................................................................................................................................................22
Figura 5. Almacenamiento NFS, 2...............................................................................................................................................................23
Figura 5. Almacenamiento NFS, 3...............................................................................................................................................................23
Figura 5. Almacenamiento NFS, 4...............................................................................................................................................................24
Figura 5. Almacenamiento NFS, 5...............................................................................................................................................................24
Figura 5. Almacenamiento NFS, 6...............................................................................................................................................................25
Figura 5. Almacenamiento NFS, 7...............................................................................................................................................................25
Figura 5. Almacenamiento NFS, 8...............................................................................................................................................................26
Figura 5. Almacenamiento NFS, 9...............................................................................................................................................................26
Figura 5. Almacenamiento NFS, 10............................................................................................................................................................27
Figura 5. Almacenamiento NFS, 11............................................................................................................................................................27
Figura 5. Almacenamiento NFS, 12............................................................................................................................................................27
Figura 5. Almacenamiento NFS, 13............................................................................................................................................................28
Figura 5. Almacenamiento NFS, 14............................................................................................................................................................28
Figura 5. Almacenamiento NFS, 15............................................................................................................................................................28
Figura 5. Almacenamiento NFS, 16............................................................................................................................................................29
Figura 5. Almacenamiento NFS, 17............................................................................................................................................................29
Figura 5. Almacenamiento NFS, 18............................................................................................................................................................29
Figura 5. Almacenamiento NFS, 19............................................................................................................................................................30
Figura 5. Almacenamiento NFS, 20............................................................................................................................................................30
Figura 6. Creación de la MV Ubuntu, 1 .....................................................................................................................................................31
Figura 6. Creación de la MV Ubuntu, 2 .....................................................................................................................................................31
Figura 6. Creación de la MV Ubuntu, 3 .....................................................................................................................................................31
Figura 6. Creación de la MV Ubuntu, 4 .....................................................................................................................................................32
Figura 6. Creación de la MV Ubuntu, 5 .....................................................................................................................................................32
Figura 6. Creación de la MV Ubuntu, 6 .....................................................................................................................................................32
Figura 6. Creación de la MV Ubuntu, 7 .....................................................................................................................................................33
Figura 6. Creación de la MV Ubuntu, 8 .....................................................................................................................................................33
Figura 6. Creación de la MV Ubuntu, 9 .....................................................................................................................................................33
Figura 6. Creación de la MV Ubuntu, 10...................................................................................................................................................34
Figura 6. Creación de la MV Ubuntu, 11...................................................................................................................................................34
Figura 6. Creación de la MV Ubuntu, 12...................................................................................................................................................34
4. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 4 Miguel Pérez Sánchez
Figura 6. Creación de la MV Ubuntu, 13...................................................................................................................................................35
Figura 6. Creación de la MV Ubuntu, 14...................................................................................................................................................35
Figura 7. Creación del clúster, 1 ..................................................................................................................................................................36
Figura 7. Creación del clúster, 2 ..................................................................................................................................................................36
Figura 7. Creación del clúster, 3 ..................................................................................................................................................................36
Figura 7. Creación del clúster, 4 ..................................................................................................................................................................36
Figura 7. Creación del clúster, 5 ..................................................................................................................................................................37
Figura 7. Creación del clúster, 6 ..................................................................................................................................................................37
Figura 7. Creación del clúster, 7 ..................................................................................................................................................................37
Figura 7. Creación del clúster, 8 ..................................................................................................................................................................37
Figura 7. Creación del clúster, 9 ..................................................................................................................................................................38
Figura 7. Creación del clúster, 10................................................................................................................................................................38
Figura 7. Creación del clúster, 11................................................................................................................................................................39
Figura 8. Configuración de la HA, 1............................................................................................................................................................40
Figura 8. Configuración de la HA, 2............................................................................................................................................................40
Figura 8. Configuración de la HA, 3............................................................................................................................................................41
Figura 8. Configuración de la HA, 4............................................................................................................................................................41
Figura 8. Configuración de la HA, 5............................................................................................................................................................42
Figura 9. Apache y Prestashop, 1................................................................................................................................................................43
Figura 9. Apache y Prestashop, 2................................................................................................................................................................43
Figura 9. Apache y Prestashop, 3................................................................................................................................................................43
Figura 9. Apache y Prestashop, 4................................................................................................................................................................44
Figura 9. Apache y Prestashop, 5................................................................................................................................................................44
Figura 9. Apache y Prestashop, 6................................................................................................................................................................44
Figura 9. Apache y Prestashop, 7................................................................................................................................................................45
Figura 9. Apache y Prestashop, 8................................................................................................................................................................45
Figura 9. Apache y Prestashop, 9................................................................................................................................................................45
Figura 9. Apache y Prestashop, 10 .............................................................................................................................................................46
Figura 9. Apache y Prestashop, 11 .............................................................................................................................................................46
Figura 9. Apache y Prestashop, 12 .............................................................................................................................................................46
Figura 9. Apache y Prestashop, 13 .............................................................................................................................................................47
Figura 9. Apache y Prestashop, 14 .............................................................................................................................................................48
Figura 9. Apache y Prestashop, 15 .............................................................................................................................................................48
Figura 9. Apache y Prestashop, 16 .............................................................................................................................................................49
Figura 9. Apache y Prestashop, 17 .............................................................................................................................................................49
Figura 9. Apache y Prestashop, 18 .............................................................................................................................................................49
Figura 9. Apache y Prestashop, 19 .............................................................................................................................................................50
Figura 9. Apache y Prestashop, 20 .............................................................................................................................................................50
Figura 9. Apache y Prestashop, 21 .............................................................................................................................................................51
Figura 9. Apache y Prestashop, 22 .............................................................................................................................................................51
Figura 9. Apache y Prestashop, 23 .............................................................................................................................................................52
Figura 9. Apache y Prestashop, 24 .............................................................................................................................................................52
Figura 10. Prueba de HA, 1.............................................................................................................................................................................53
Figura 10. Prueba de HA, 2.............................................................................................................................................................................53
Figura 10. Prueba de HA, 3.............................................................................................................................................................................54
Figura 10. Prueba de HA, 4.............................................................................................................................................................................54
Figura 10. Prueba de HA, 5.............................................................................................................................................................................54
Figura 10. Prueba de HA, 6.............................................................................................................................................................................55
Figura 10. Prueba de HA, 7.............................................................................................................................................................................55
Figura 10. Prueba de HA, 8.............................................................................................................................................................................56
Figura 10. Prueba de HA, 9.............................................................................................................................................................................56
Figura 11. Monitorización, 1 .........................................................................................................................................................................57
Figura 11. Monitorización, 2 .........................................................................................................................................................................57
Figura 11. Monitorización, 3 .........................................................................................................................................................................57
5. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 5 Miguel Pérez Sánchez
1. Introducción
La idea de este proyecto surge gracias a la reiteración de ambas empresas en
el uso de sistemas de virtualización menos conocidos, más baratos y, poco a poco,
en auge como alternativa a los gigantes que copan el mercado.
El proyecto original era configurar un único servidor de Proxmox y, dentro
de éste, dos máquinas virtuales con Ubuntu formando el clúster, con Apache y
Prestashop configurado, de tal manera que, si una máquina fallaba, se podría seguir
accediendo a la página web desde la otra.
Tras analizarlo detenidamente y habiendo realizado numerosas pruebas,
decidimos cambiar el enfoque del proyecto. Ahora, tendremos tres servidores de
Proxmox, con el clúster creado entre ellos, y, dentro de uno, una máquina virtual
con Ubuntu, Apache y Prestashop, de tal manera que si el servidor que contiene la
máquina virtual falla, ésta migre hacia otro servidor y pueda seguir funcionando.
Además, tendremos que tener configurada una máquina virtual externa con Ubuntu,
con un almacenamiento compartido NFS implementado en el que se guarde la
máquina virtual de Proxmox para su correcto funcionamiento.
6. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 6 Miguel Pérez Sánchez
2. Prestashop
Prestashop es un sistema gestor de contenidos (CMS) libre y de código
abierto cuya principal aplicación es la creación de tiendas online de comercio
electrónico.
Actualmente es la aplicación para la creación de tiendas online más utilizada,
por delante de otras aplicaciones populares como Magento u OpenCart.
Decidimos utilizar Prestashop ya que no lo habíamos probado antes y
pensamos que es una herramienta interesante que permite crear tiendas virtuales
muy completas.
7. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 7 Miguel Pérez Sánchez
3. Proxmox
Proxmox Virtual Environment, es entorno de virtualización de servidor de
código abierto. Es una distribución Linux basada en Debian que permite el
despliegue y la gestión de máquinas virtuales y contenedores. Incluye una consola
Web y herramientas de línea de comandos, y proporciona una API REST para
herramientas de terceros.
Decidimos usar Proxmox ya que no lo habíamos probado antes y pensamos
que es una herramienta de virtualización muy completa e interesante que puede ser
una alternativa a Hyper-V.
3.1 Requisitos para la instalación
En la página oficial de Proxmox, se detallan una serie de requisitos mínimos
y recomendados para su instalación. Dichos requisitos son los siguientes:
Tabla 1. Comparativa de requisitos Proxmox
Mínimo Recomendado
CPU 64 bit (Intel EMT64 o
AMD64)
64 bit (Intel EMT64 o
AMD64)
Procesador
Intel VT / AMD-V con
soporte para
virtualización KVM
Intel VT / AMD-V con
soporte para
virtualización KVM
RAM 1 GB 8 GB
Disco Duro Disco duro normal
Disco duro con velocidad
de 15k rpm. Aconsejable
RAID
Tarjetas de red Una Dos o más
Más adelante se detallará un esquema de red de la infraestructura a utilizar
en la que se indicarán todos los datos de configuración de los equipos.
8. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 8 Miguel Pérez Sánchez
4. Conceptos básicos
Para poder entender mejor lo que se quiere obtener con este proyecto es
necesario hacer una breve descripción de algunos conceptos importantes del
mismo.
El primer concepto que aclarar es el de clúster, comúnmente el término
clúster se aplica a los conjuntos o conglomerados de ordenadores unidos entre sí
normalmente por una red de alta velocidad y que se comportan como si fuesen un
único ordenador. Son usualmente empleados para mejorar el rendimiento y/o la
disponibilidad.
El segundo concepto que aclarar es el de alta disponibilidad (HA), la HA es
un protocolo de diseño del sistema y su implementación asociada que asegura un
cierto grado absoluto de continuidad operacional durante un período de medición
dado. Disponibilidad se refiere a la habilidad de la comunidad de usuarios para
acceder al sistema, someter nuevos trabajos, actualizar o alterar trabajos existentes
o recoger los resultados de trabajos previos.
El tercer y último concepto que aclarar es el de clúster de alta
disponibilidad, se trata de un conjunto de dos o más máquinas que se caracterizan
por mantener una serie de servicios compartidos y por estar constantemente
monitorizándose entre sí.
Hay dos clases de alta disponibilidad, en este caso la nuestra va a consistir en
que, si se produce un fallo del hardware o de las aplicaciones de alguna de las
máquinas del clúster, el software de alta disponibilidad es capaz de arrancar
automáticamente los servicios que han fallado en cualquiera de las otras máquinas
del clúster. Y cuando la máquina que ha fallado se recupera, los servicios son
nuevamente migrados a la máquina original.
9. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 9 Miguel Pérez Sánchez
5. Estructura del proyecto
La estructura de nuestro proyecto contará con cuatro máquinas virtuales,
tres de ellas formarán el clúster de Proxmox y la otra máquina será el servidor de
almacenamiento compartido mediante NFS.
Para generar esta estructura, utilizaremos el software de virtualización
VMWare Workstation, esta estructura se detalla a continuación.
Tabla 2. Estructura del proyecto
MV Proxmox
1
MV Proxmox
2
MV Proxmox
3
MV NFS
Nombre servidor1.local servidor2.local servidor3.local nfs.local
IP 192.168.1.1/24 192.168.1.2/24 192.168.1.3/24 192.168.1.10/24
RAM 1 GB 1 GB 1 GB 2 GB
Disco
Duro
25 GB 25 GB 25 GB 50 GB
Interfaces
de red
Una (con
adaptador
puente)
Una (con
adaptador
puente)
Una (con
adaptador
puente)
Una (con
adaptador
puente)
Versión
del SO
Proxmox VE 4.4 Proxmox VE 4.4 Proxmox VE 4.4 Ubuntu Server
16.04
Figura 1. Esquema del proyecto, 1
Para acceder a los servidores utilizaremos una conexión mediante VNC que
ofrece la propia interfaz de Proxmox.
10. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 10 Miguel Pérez Sánchez
6. Instalación de Proxmox.
Para comenzar, descargaremos el software de virtualización para poder
instalar las maquinas con el sistema Proxmox VE. Usaremos VMWare
Workstation, que descargamos desde su página oficial, posteriormente, lo
instalamos:
https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/v
mware_workstation_player/12_0
Comenzaremos creando el servidor1.local. Lo primero que tenemos que
hacer es abrir VMWare y haremos clic en Create a New Virtual Machine para crear
una máquina:
Figura 2. Servidor 1 de Proxmox, 1
Seguidamente elegimos el archivo de imagen ISO para la instalación.
Figura 2. Servidor 1 de Proxmox, 2
11. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 11 Miguel Pérez Sánchez
Ahora, seleccionamos el tipo de SO (Sistema Operativo) y su versión
(distribución y tipo de CPU (32 ó 64 bit)).
Figura 2. Servidor 1 de Proxmox, 3
Continuamos indicando el nombre de la máquina virtual y dónde se va a
almacenar.
Figura 2. Servidor 1 de Proxmox, 4
Continuamos eligiendo el tamaño del disco y el tipo de almacenamiento.
Figura 2. Servidor 1 de Proxmox, 5
12. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 12 Miguel Pérez Sánchez
Una vez establecidos estos parámetros, aparecerá una ventana a modo
resumen en la que iremos al menú Customize Hardware.
Figura 2. Servidor 1 de Proxmox, 6
En el menú, iremos a la opción Memory y estableceremos el tamaño de
memoria RAM (1 GB) 1.
Figura 2. Servidor 1 de Proxmox, 7
1
Todos los recursos empleados están detallados anteriormente, por tanto, vamos a omitir explicaciones.
13. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 13 Miguel Pérez Sánchez
Para tener comunicación entre nuestras máquinas virtuales y el SO anfitrión,
tendremos que configurar la red de todas las máquinas en modo puente. Para ello,
iremos al apartado de Network Adapter y cambiaremos el tipo de conexión del
adaptador.
Figura 2. Servidor 1 de Proxmox, 8
Una vez arrancada la MV (máquina virtual), seleccionamos la primera opción
Install Proxmox VE.
Figura 2. Servidor 1 de Proxmox, 9
14. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 14 Miguel Pérez Sánchez
Ahora, tendremos que aceptar los términos de la licencia para poder
continuar con la instalación.
Figura 2. Servidor 1 de Proxmox, 10
Tendremos que seleccionar el disco donde vamos a instalar Proxmox.
Figura 2. Servidor 1 de Proxmox, 11
15. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 15 Miguel Pérez Sánchez
Continuaremos seleccionando nuestra localización y nuestra zona horaria.
Figura 2. Servidor 1 de Proxmox, 12
A continuación, tendremos que escribir una contraseña para el servidor y una
dirección de correo en la que se enviarán alertas en caso de que se produzcan
errores en el servidor.
Figura 2. Servidor 1 de Proxmox, 13
16. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 16 Miguel Pérez Sánchez
Para terminar, tendremos que asignar al servidor un FQDN (nombre de host
completo), la IP (fija) que tendrá, la máscara, la puerta de enlace y el servidor DNS.
Hostname(FQDN): servidor1.local
IP Address: 192.168.1.1
Netmask: 255.255.255.0
Gateway: 192.168.1.193
DNS Server: 192.168.1.193
Figura 2. Servidor 1 de Proxmox, 14
Una vez configurada la máquina, comenzará el proceso de instalación.
Figura 2. Servidor 1 de Proxmox, 15
17. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 17 Miguel Pérez Sánchez
Cuando se complete la instalación, será necesario reiniciar.
Figura 2. Servidor 1 de Proxmox, 16
Una vez reiniciado el servidor, podremos iniciar sesión con un usuario y
contraseña (root y la contraseña asignada anteriormente). En el servidor se podrán
realizar configuraciones mediante consola y mediante el acceso vía web (mediante
la IP que aparece al arrancar).
Figura 2. Servidor 1 de Proxmox, 17
18. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 18 Miguel Pérez Sánchez
Vamos a iniciar con el acceso vía web, para ello nos dirigimos a nuestro
navegador y escribimos la IP que aparece al arrancar el servidor. Haremos login con
el usuario y contraseñas configurados y elegimos el idioma Spanish.
Figura 2. Servidor 1 de Proxmox, 18
Una vez dentro, ésta será la interfaz del servidor.
Figura 2. Servidor 1 de Proxmox, 19
19. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 19 Miguel Pérez Sánchez
Ahora, repetiremos los pasos anteriores para configurar los otros dos
servidores (servidor2.local y servidor3.local). La única diferencia entre ellos
serán las configuraciones de red.
Para el servidor2.local, usaremos las siguientes.
Hostname(FQDN): servidor2.local
IP Address: 192.168.1.2
Netmask: 255.255.255.0
Gateway: 192.168.1.193
DNS Server: 192.168.1.193
Figura 3. Servidor 2 de Proxmox, 1
Como se puede observar, ya está en funcionamiento.
Figura 3. Servidor 2 de Proxmox, 2
20. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 20 Miguel Pérez Sánchez
Para el servidor3.local, usaremos las siguientes.
Hostname(FQDN): servidor3.local
IP Address: 192.168.1.3
Netmask: 255.255.255.0
Gateway: 192.168.1.193
DNS Server: 192.168.1.193
Figura 4. Servidor 3 de Proxmox, 1
Como se puede observar, ya está en funcionamiento.
Figura 4. Servidor 3 de Proxmox, 2
21. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 21 Miguel Pérez Sánchez
Igual que con el servidor1.local accedemos a nuestro navegador con las IP
de nuestro servidor2.local y servidor3.local usando el usuario y contraseñas
configurados para poder configurarlo.
Figura 3. Servidor 2 de Proxmox, 3
Figura 4. Servidor 3 de Proxmox, 3
22. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 22 Miguel Pérez Sánchez
7. Configuración del almacenamiento compartido NFS
Ahora vamos a instalar otra máquina con el SO Ubuntu Server, en el cual
instalaremos el sistema de almacenamiento compartido NFS. Esta máquina será la
encargada de guardar las máquinas que crearemos en nuestros servidores Proxmox.
El procedimiento para crear la MV de Ubuntu Server es igual que con los
servidores Proxmox, el único cambio es a la hora de insertar la imagen ISO, ya que
el SO es diferente.
Comenzamos la instalación y lo primero que pide es la configuración de
idioma (Español).
Figura 5. Almacenamiento NFS, 1
23. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 23 Miguel Pérez Sánchez
Ahora tendremos que elegir la primera opción para comenzar con la
instalación.
Figura 5. Almacenamiento NFS, 2
Ahora, nos pedirá en nombre de la máquina (nfs).
Figura 5. Almacenamiento NFS, 3
24. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 24 Miguel Pérez Sánchez
A continuación, nos pedirá el nombre de usuario (nfs).
Figura 5. Almacenamiento NFS, 4
Seguidamente, nos pedirá que asignemos una contraseña para el nuevo
usuario.
Figura 5. Almacenamiento NFS, 5
25. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 25 Miguel Pérez Sánchez
Ahora, nos preguntará por el tipo de particionado y el disco. Seleccionamos
el método de particionado Guiado - utilizar el disco completo y configurar LVM y el
único disco que hay.
Figura 5. Almacenamiento NFS, 6
Figura 5. Almacenamiento NFS, 7
26. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 26 Miguel Pérez Sánchez
Ahora, comenzará la instalación del sistema operativo.
Figura 5. Almacenamiento NFS, 8
Elegimos sí, para instalar el cargador de arranque GRUB.
Figura 5. Almacenamiento NFS, 9
27. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 27 Miguel Pérez Sánchez
Una vez acabada la instalación, reiniciaremos el servidor y ya podremos
acceder a nuestro Ubuntu Server.
Figura 5. Almacenamiento NFS, 10
Antes de instalar NFS, tenemos que actualizar los repositorios de Linux. Para
ello escribimos en la terminal:
# sudo apt-get update (Para actualizar los repositorios de Linux)
Figura 5. Almacenamiento NFS, 11
Seguidamente, vamos a instalar el paquete que contiene el servicio NFS. Para
ello ejecutamos:
# sudo apt-get install nfs-kernel-server
Figura 5. Almacenamiento NFS, 12
28. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 28 Miguel Pérez Sánchez
Ahora, creamos la carpeta que vamos a compartir con los servidores para
almacenar sus máquinas. Para ello ejecutamos:
# sudo mkdir -p /var/nfs
Figura 5. Almacenamiento NFS, 13
Continuamos cambiando el propietario y el grupo, vamos a asignarle a la
carpeta como propietario nobody (nadie) y grupo nogroup (nadie) para no tener
problemas a la hora de acceder y guardar. Para ello ejecutamos:
# sudo chown nobody:nogroup /var/nfs
Figura 5. Almacenamiento NFS, 14
Una vez hecho esto, editamos el fichero /etc/exports para añadir el recurso
compartido con los servidores. Para ello ejecutamos:
# sudo nano /etc/exports
Figura 5. Almacenamiento NFS, 15
Para una mejor comprensión del fichero, explicamos los atributos y
configuraciones escritos:
/var/nfs La carpeta que vamos a compartir.
IP Quién va a poder acceder a la carpeta.
rw Esta opción proporciona al equipo cliente acceso de lectura y escritura
al volumen.
sync Esta opción obliga a NFS a escribir cambios en el disco antes de
responder.
no_subtree_check Esta opción impide la comprobación de subárbol, que
es un proceso en el que el host debe comprobar si el archivo está realmente
disponible en el árbol exportado para cada solicitud.
29. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 29 Miguel Pérez Sánchez
Una vez realizadas dichas configuraciones, guardamos y cerramos el archivo.
A continuación, creamos la tabla NFS que contiene las exportaciones de la carpeta
compartida. Para ello ejecutamos:
# sudo exportfs -a
Figura 5. Almacenamiento NFS, 16
Ahora tenemos que ir a la interfaz web de los servidores Proxmox y añadir
ese almacenamiento. Para ello vamos a nuestro navegador y entramos a la IP del
servidor1.local.
https://192.168.1.1:8006
Una vez dentro, iremos a Centro de datos Almacenamiento Añadir
Figura 5. Almacenamiento NFS, 17
A continuación, seleccionamos NFS
Figura 5. Almacenamiento NFS, 18
30. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 30 Miguel Pérez Sánchez
Asignamos un nombre (ID) para localizarlo mejor, la IP del servidor que lo
contiene, la carpeta que está compartida en dicho servidor, el contenido que puede
almacenar dicha carpeta y los nodos que van a poder acceder al recurso. Marcamos
la casilla de Activar y lo añadimos.
Figura 5. Almacenamiento NFS, 19
Como se puede observar en la imagen, se ha añadido correctamente.
Figura 5. Almacenamiento NFS, 20
31. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 31 Miguel Pérez Sánchez
8. Creación de la MV Ubuntu
Lo primero que tenemos que hacer es descargar la imagen ISO de Ubuntu
Server 16.04. Cuando la tengamos, iremos al Centro de datos del servidor1.local,
dentro de éste, al almacenamiento NFS recién añadido y, después, al menú
Contenido. Aquí vamos a subir nuestra imagen ISO para poder usarla a la hora de
instalar la máquina, para ello haremos clic en Cargar.
Figura 6. Creación de la MV Ubuntu, 1
Seleccionamos el fichero .ISO que hemos descargado localmente y damos a
Cargar.
Figura 6. Creación de la MV Ubuntu, 2
Tras un proceso de subida, que tardará más o menos en función del tamaño
del archivo, ya aparecerá nuestro archivo en el almacenamiento compartido.
Figura 6. Creación de la MV Ubuntu, 3
32. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 32 Miguel Pérez Sánchez
Figura 6. Creación de la MV Ubuntu, 4
Ahora, vamos a crear una máquina virtual en el servidor, seleccionando la
opción de Crear VM en el menú de arriba a la derecha.
Figura 6. Creación de la MV Ubuntu, 5
Le asignamos un nombre a la MV y un identificador (por defecto el primero
es 100).
Figura 6. Creación de la MV Ubuntu, 6
33. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 33 Miguel Pérez Sánchez
Seleccionamos el tipo de Sistema Operativo (Microsoft o Linux), en este caso,
marcamos la primera opción de Linux (4.X).
Figura 6. Creación de la MV Ubuntu, 7
Ahora, seleccionamos la imagen ISO que hemos subido anteriormente al NFS.
Figura 6. Creación de la MV Ubuntu, 8
Seleccionamos el tamaño del disco duro de nuestra MV.
Figura 6. Creación de la MV Ubuntu, 9
34. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 34 Miguel Pérez Sánchez
Elegimos el tamaño de CPU que va a utilizar (sockets y núcleos), dejamos los
valores por defecto ya que no contamos con tantos recursos.
Figura 6. Creación de la MV Ubuntu, 10
Asignamos el tamaño de memoria RAM que tendrá, como el servidor tiene
sólo 1GB de RAM, la máquina se auto-asigna la mitad (512 MB)
Figura 6. Creación de la MV Ubuntu, 11
La red la configuramos en modo puente para poder salir a Internet a través
del servidor y el modelo marcamos el paravirtualizado.
Figura 6. Creación de la MV Ubuntu, 12
35. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 35 Miguel Pérez Sánchez
Ahora arrancamos la MV para empezar con la instalación. Para ello haremos
clic derecho sobre la máquina y damos a iniciar.
Figura 6. Creación de la MV Ubuntu, 13
Para poder ver la máquina, accedemos mediante la opción consola que
aparece en el menú.
Figura 6. Creación de la MV Ubuntu, 14
Realizamos la instalación igual que la máquina NFS, ya que son los mismos
pasos.
36. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 36 Miguel Pérez Sánchez
9. Creación del clúster
Para la creación del clúster tendremos que acceder mediante consola a los
servidores. Para ello, ejecutaremos la opción Shell de los servidores, que permite
crear una conexión mediante VNC.
Figura 7. Creación del clúster, 1
En los tres servidores tendremos que eliminar el repositorio de pago de
Proxmox. Para ello ejecutamos:
# rm /etc/apt/sources.list.d/pve-enterprise.list
Figura 7. Creación del clúster, 2
Ahora, en los tres servidores tendremos que añadir un repositorio en
/etc/apt/sources.list. Para ello ejecutaremos:
# nano /etc/apt/sources.list //y añadimos
# deb http://download.proxmox.com/debian jessie pve-no-subscription
Figura 7. Creación del clúster, 3
Una vez añadidos, actualizamos los repositorios de los tres servidores,
mediante:
# sudo apt-get update
Ahora tenemos que añadir los servidores que formarán el clúster al archivo
/etc/hosts de cada uno, escribimos el nombre y las IP.
SERVIDOR 1
Figura 7. Creación del clúster, 4
37. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 37 Miguel Pérez Sánchez
SERVIDOR 2
Figura 7. Creación del clúster, 5
SERVIDOR 3
Figura 7. Creación del clúster, 6
Comenzamos con la creación del clúster, en este caso el servidor1.local será
el que actúe de maestro y el resto serán secundarios. Para ello ejecutamos:
# pvecm create cluster //siendo “cluster” un nombre identificativo
Figura 7. Creación del clúster, 7
Para comprobar el estado del clúster ejecutamos:
# pvecm status
Figura 7. Creación del clúster, 8
38. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 38 Miguel Pérez Sánchez
Como se puede observar, el clúster se ha creado correctamente. Ahora hay
que añadir el servidor2.local y el servidor3.local. Para ello ejecutamos en cada
servidor el siguiente comando:
# pvecm add [ip_servidor1.local]
Figura 7. Creación del clúster, 9
Si vamos a cualquiera de los servidores y comprobamos el estado del clúster,
aparecerán los tres servidores.
Figura 7. Creación del clúster, 10
39. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 39 Miguel Pérez Sánchez
Y si entramos en la interfaz WEB de cualquiera de los servidores, se puede
apreciar que aparecen los tres. Además, el almacenamiento compartido NFS ya está
disponible en todos los servidores.
Figura 7. Creación del clúster, 11
40. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 40 Miguel Pérez Sánchez
10. Configuración de la HA
Para configurar nuestros nodos para que admitan la administración de los
recursos por alta disponibilidad debemos realizar los siguientes pasos. Primero nos
desplazamos al Centro de Datos y luego a la pestaña de HA.
Figura 8. Configuración de la HA, 1
Ahora, creamos un grupo en el que vamos a incluir los tres nodos instalados
y configurados.
Figura 8. Configuración de la HA, 2
41. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 41 Miguel Pérez Sánchez
Una vez creado el grupo, añadimos el recurso a compartir por HA en el menú2.
Figura 8. Configuración de la HA, 3
Añadimos el recurso para la MV creada anteriormente, seleccionamos su ID
y marcamos el grupo recién creado.
Figura 8. Configuración de la HA, 4
2
Un concepto importante es el del quorum, que es imprescindible para que la alta disponibilidad y el clúster
funcione. Como mínimo tienen que haber 2 miembros activos (nodos) para que este tenga funcionalidad y
permita que los datos se puedan mover de los nodos caídos a los activos.
42. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 42 Miguel Pérez Sánchez
Figura 8. Configuración de la HA, 5
Una vez hayamos añadido la instancia al grupo de HA, podremos ver como la
máquina nos indica que está siendo administrada por HA, que su estado es iniciado
y nos indica el nombre del grupo que la está gestionando.
43. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 43 Miguel Pérez Sánchez
11. Instalación de Apache y Prestashop
Retomamos la MV que habíamos creado dentro del servidor Proxmox, la
iniciamos y le asignamos una dirección IP. Para ello editamos el archivo
/etc/network/interfaces.
Figura 9. Apache y Prestashop, 1
Ahora, tendremos que actualizar los repositorios de Linux. Para ello
ejecutamos:
# sudo apt-get update
Figura 9. Apache y Prestashop, 2
Una vez hecho esto, comenzamos con la instalación de los paquetes
necesarios para poner en marcha nuestra tienda virtual con Prestashop. El primer
paquete a instalar es Apache2, que es un servidor web. Para ello ejecutamos:
# sudo apt-get install apache2
Figura 9. Apache y Prestashop, 3
44. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 44 Miguel Pérez Sánchez
El segundo paquete a instalar es MySQL, que es un sistema gestor de bases
de datos. Para ello ejecutamos:
# sudo apt-get install mysql-server mysql-common mysql-client
Figura 9. Apache y Prestashop, 4
Durante la instalación, recomienda la configuración de una contraseña para
el usuario root de MySQL.
Figura 9. Apache y Prestashop, 5
Figura 9. Apache y Prestashop, 6
45. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 45 Miguel Pérez Sánchez
El tercer paquete a instalar es Libapache2, que es un módulo de PHP para
Apache2. Para ello ejecutamos:
# sudo apt-get install libapache2-mod-php
Figura 9. Apache y Prestashop, 7
El cuarto paquete a instalar es PHPMyAdmin, que es una herramienta creada
en PHP para manejar la administración de MySQL a través de páginas web. Para ello
ejecutamos:
# sudo apt-get install phpmyadmin
Figura 9. Apache y Prestashop, 8
Durante la instalación, nos indicará la elección del servidor web en el que
queremos configurar PHPMyAdmin.
Figura 9. Apache y Prestashop, 9
46. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 46 Miguel Pérez Sánchez
Elegimos que si configure la base de datos de PHPMyAdmin con dbconfig-
common3.
Figura 9. Apache y Prestashop, 10
Ahora, introduciremos la contraseña que indicamos durante la instalación de
MySQL.
Figura 9. Apache y Prestashop, 11
Figura 9. Apache y Prestashop, 12
3
Es una herramienta que simplifica la configuración de la base de datos. En lugar de editar los archivos de
configuración directamente, proporciona una interfaz gráfica de usuario.
47. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 47 Miguel Pérez Sánchez
A continuación, accedemos mediante un navegador a la dirección IP de la MV
que acabamos de configurar para crear una base de datos para nuestra tienda.
Iniciaremos sesión con el usuario root y la contraseña que indicamos durante la
instalación. Para ello escribimos en el navegador:
http://192.168.1.11/phpmyadmin
Figura 9. Apache y Prestashop, 13
48. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 48 Miguel Pérez Sánchez
Vamos a crear la base de datos, para ello vamos al menú de la izquierda y
damos a Nuevo e indicamos un nombre.
Figura 9. Apache y Prestashop, 14
A continuación, descargamos Prestashop desde su página oficial en la MV
que lo va a contener:
https://www.prestashop.com/es/descarga
Figura 9. Apache y Prestashop, 15
49. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 49 Miguel Pérez Sánchez
Ahora, tenemos que crear una carpeta en /var/www/html que almacenará
el contenido del fichero recién descargado. Para ello ejecutamos:
Figura 9. Apache y Prestashop, 16
Proseguimos descomprimiendo el fichero descargado y lo enviamos a la
carpeta recién creada, además, cambiamos los permisos para no tener problemas a
la hora de realizar cambios.
Figura 9. Apache y Prestashop, 17
Ahora, recargamos el navegador que habíamos abierto anteriormente y
aparecerá el instalador de Prestashop en el que elegiremos el idioma.
Figura 9. Apache y Prestashop, 18
50. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 50 Miguel Pérez Sánchez
Ahora, tenemos que aceptar los términos y condiciones para poder iniciar la
instalación.
Figura 9. Apache y Prestashop, 19
A continuación, Prestashop comprueba la compatibilidad del sistema con la
instalación. En caso de faltar algo, habría que instalarlo mediante terminal o gestor
de software.
Figura 9. Apache y Prestashop, 20
51. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 51 Miguel Pérez Sánchez
Después, elegimos el nombre de la tienda, la actividad principal a la que se va
a dedicar, el país, la cuenta de administrador y un e-mail.
Figura 9. Apache y Prestashop, 21
Posteriormente, configuramos la base de datos seleccionando el servidor
(está en la misma máquina que el instalador, por tanto, localhost o 127.0.0.1), el
nombre de la misma y el usuario y la contraseña de MySQL.
Figura 9. Apache y Prestashop, 22
52. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 52 Miguel Pérez Sánchez
Tras esto, comenzará el proceso de instalación y después podremos acceder
a la página web mediante su dirección IP.
Figura 9. Apache y Prestashop, 23
Figura 9. Apache y Prestashop, 24
53. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 53 Miguel Pérez Sánchez
12. Prueba de HA
Vamos a observar las posibles opciones a la hora de migrar las MV contenidas
en los servidores Proxmox.
Comenzaremos simulando que, por algún motivo, el servidor que contiene la
MV falla y podremos observar como la máquina migra hacia otro servidor para
poder seguir funcionando.
Ahora, vamos a apagar el servidor2.
Figura 10. Prueba de HA, 1
Tras unos segundos, la máquina migra hacia otro servidor, en este caso hacia
el servidor 1.
Figura 10. Prueba de HA, 2
54. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 54 Miguel Pérez Sánchez
Además, te informa del proceso mediante correos.
Figura 10. Prueba de HA, 3
Figura 10. Prueba de HA, 4
Si accedemos mediante el navegador a nuestra página, observaremos como
sigue en funcionamiento.
Figura 10. Prueba de HA, 5
55. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 55 Miguel Pérez Sánchez
La otra opción es la migración manual de la máquina. Para ello simplemente
hay que dar con el botón derecho del ratón sobre la MV y Migrar.
Figura 10. Prueba de HA, 6
Elegimos el servidor en el que se va a migrar la MV.
Figura 10. Prueba de HA, 7
56. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 56 Miguel Pérez Sánchez
Tras esto, empezará la migración que podremos observar por las tareas del
menú inferior.
Figura 10. Prueba de HA, 8
Figura 10. Prueba de HA, 9
57. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 57 Miguel Pérez Sánchez
13. Monitorización
Una de las grandes virtudes de Proxmox es la monitorización de los recursos
que están en uso en los servidores, máquinas virtuales y clústeres. No hace falta
ningún programa externo (de pago o no) tipo Zabbix, PandoraFMS, Naggios, etc.
Al llevarlo ya incluido se puede demostrar la versatilidad y usabilidad en
entornos reales por el aprovechamiento de los recursos.
Figura 11. Monitorización, 1
Figura 11. Monitorización, 2
Figura 11. Monitorización, 3
58. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 58 Miguel Pérez Sánchez
14. Conclusiones
Como se ha podido observar, montar un clúster de alta disponibilidad en
Proxmox es algo bastante sencillo de realizar gracias a la simplicidad que nos ofrece
la interfaz web de Proxmox.
Hay que tener en cuenta que se necesita una infraestructura adecuada que
quizás no todas las empresas se puedan permitir.
Si la empresa se pudiese permitir esta infraestructura, sería una opción muy
interesante y potente que sería capaz de ofrecer infinidad de servicios como pueden
ser servidores web, servidores DNS, almacenamiento en bases de datos, replicación,
etc.
59. PROYECTO FIN DE GRADO JUNIO 2017 – ASIR
Guillermo Moral Moreno 59 Miguel Pérez Sánchez
15. Bibliografía
Abyss Project. (26 de Diciembre de 2016).
https://www.abyssproject.net/2016/12/le-montage-de-mon-cluster-
proxmox-ve-4-4/
Departamento de Informática - IES Gonzalo Nazareno. (Junio de 2015).
http://informatica.gonzalonazareno.org/proyectos/2014-
15/Proxmox_HA.pdf
Departamento de Informática - IES Gonzalo Nazareno. (Junio de 2016).
http://informatica.gonzalonazareno.org/proyectos/2015-
16/Proyecto.%20Cl%C3%BAster%20de%20HA%20en%20Proxmox%204.
pdf
Digital Ocean. (30 de Abril de 2014).
https://www.digitalocean.com/community/tutorials/how-to-set-up-an-
nfs-mount-on-ubuntu-14-04
Página oficial de Prestashop. (2017). https://www.prestashop.com/es
Página oficial de Proxmox. (2017). https://www.proxmox.com/en/
Wikigite. (24 de Noviembre de 2015).
https://wiki.kogite.fr/index.php/Proxmox_4.0_-
_Installation,_configuration_cluster#Installation
Wikipedia - Alta disponibilidad. (11 de Diciembre de 2015).
https://es.wikipedia.org/wiki/Alta_disponibilidad
Wikipedia - Clúster. (14 de Febrero de 2017).
https://es.wikipedia.org/wiki/Cl%C3%BAster_(inform%C3%A1tica)
Wikipedia - Clúster de alta disponibilidad. (24 de Noviembre de 2016).
https://es.wikipedia.org/wiki/Cl%C3%BAster_de_alta_disponibilidad
Wikipedia - Prestashop. (27 de Mayo de 2017).
https://es.wikipedia.org/wiki/PrestaShop
Wikipedia - Proxmox. (8 de Marzo de 2017).
https://es.wikipedia.org/wiki/Proxmox_Virtual_Environment