Diferència entre revisions de la pàgina «IETI Cloud - G1»
(Hi ha 72 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 1: | Línia 1: | ||
− | + | Volver a [[Projecte IETI Cloud - Grup 1]]. | |
− | <h2>Diseño DMZ. Análisis, Diseño y Documentación</h2> | + | <h2>2. Diseño DMZ. Análisis, Diseño y Documentación</h2> |
<div id= "dmz"> | <div id= "dmz"> | ||
<br> | <br> | ||
− | En el diseño de la red podemos encontrar una DMZ, un red interna y una red externa(internet).Como podemos ver en el diseño de la red, la red interna esta preparada para la comunicación entre clústers y la DMZ compuesta de | + | En el diseño de la red podemos encontrar una DMZ, un red interna y una red externa(internet).Como podemos ver en el diseño de la red, la red interna esta preparada para la comunicación entre clústers y la DMZ compuesta de 6 maquinas(nodos) que estarán dentro de los clústers. |
</div> | </div> | ||
[[Imatge:Dissenynuevo.png|600px]] | [[Imatge:Dissenynuevo.png|600px]] | ||
− | <h2>Montaje Hardware CPD</h2> | + | <h2>3. Montaje Hardware CPD</h2> |
Montaje del hardware para alojar IETI Cloud | Montaje del hardware para alojar IETI Cloud | ||
=== Componentes === | === Componentes === | ||
Línia 22: | Línia 22: | ||
=== Montaje nodo === | === Montaje nodo === | ||
+ | En cada nodo hemos montado y instalado sus 3 discos correspondientes, a parte de una tarjeta de red adicional para cada clúster. | ||
[[Imatge:Proxmoxcpd.jpg|300px|Montaje]] | [[Imatge:Proxmoxcpd.jpg|300px|Montaje]] | ||
=== Montaje rack === | === Montaje rack === | ||
− | |||
Montamos los nodos en el rack y a continuación procedemos a instalar Proxmox. | Montamos los nodos en el rack y a continuación procedemos a instalar Proxmox. | ||
+ | <br> | ||
Previamente montamos un switch por cada 2 nodos para mantener separados los clusters. | Previamente montamos un switch por cada 2 nodos para mantener separados los clusters. | ||
+ | <br> | ||
+ | [[Imatge:Rackcpd1.jpg|300px|Montaje]] | ||
+ | |||
+ | |||
+ | <h2>4. Instalación del software de virtualización (Proxmox) y clusterización.</h2> | ||
+ | * Descargamos la imagen ISO de la pagina oficial del Proxmox. | ||
+ | |||
+ | https://www.proxmox.com/en/downloads | ||
+ | |||
+ | * Elegimos el disco donde se instalara Proxmox. | ||
+ | <br> | ||
+ | [[Imatge:ProxmoxIETI2.png|border|300px]] | ||
+ | |||
+ | * Comenzamos la instalación seleccionando la opción '''Proxmox VE'''. | ||
+ | <br> | ||
+ | [[Fitxer:proxmoxIETI1.png|border|500px]] | ||
+ | |||
+ | * Seleccionamos el disco donde instalaremos Proxmox, en este caso elegimos el '''SSD de 128GB'''. | ||
+ | <br> | ||
+ | [[Fitxer:proxmoxIETI2.png|border|500px]] | ||
+ | |||
+ | * Definimos el país, la zona horaria y el layout del teclado. | ||
+ | <br> | ||
+ | [[Fitxer:proxmoxIETI3.png|border|500px]] | ||
+ | |||
+ | * Indicamos la contraseña de acceso del usuario root y un correo donde enviara información adicional y alertas. | ||
+ | <br> | ||
+ | [[Imatge:Proxmox_3.jpg|border|300px]] | ||
+ | |||
+ | * Introducimos los siguientes datos referentes a la red. | ||
+ | ** '''Tarjeta de red de acceso:''' eno1 | ||
+ | ** '''Hostname:''' proyectovr(numero de nodo).proxmox.ieti | ||
+ | ** '''IP Address:''' 192.168.88.X/24 (rango de ip de 2 - 7) | ||
+ | ** '''Gateway:''' 192.168.88.1 | ||
+ | ** '''DNS Server:''' 8.8.8.8 | ||
+ | <br> | ||
+ | [[Imatge:Proxmoxconf.jpg|border|300px]] | ||
+ | |||
+ | * Resumen de la configuración que hemos establecido y procedemos a la instalación de Proxmox. | ||
+ | <br> | ||
+ | [[Imatge:ProxmoxIETI6.jpg|border|500px]] | ||
+ | |||
+ | * Prueba de acceso a Proxmox con usuario root. | ||
+ | <br> | ||
+ | [[Imatge:ProxmoxIETI7.png|border|500px]] | ||
+ | |||
+ | * Ejemplo de las especificaciones de un nodo. | ||
+ | <br> | ||
+ | [[Imatge:ProxmoxIETI8.png|border|500px]] | ||
+ | |||
+ | * Desde nuestro Datacenter elegimos la opción '''Clúster'''. | ||
+ | <br> | ||
+ | [[Imatge:Imagenp1.png|border|500px]] | ||
+ | |||
+ | * Procedemos a la creación de nuestro clúster y elegimos la red donde se creara, a continuación copiaremos el texto que utilizaremos para unir los nodos. | ||
+ | <br> | ||
+ | [[Imatge:P1.png|border|500px]] | ||
+ | |||
+ | * Pegamos el texto anterior y elegimos la red donde hemos creado nuestro clúster, también especificaremos la red desde donde vamos a unirnos. | ||
+ | <br> | ||
+ | [[Imatge:P2.png|border|500px]] | ||
+ | |||
+ | * Finalmente podemos observar que el nodo ha sido creado con éxito. | ||
+ | <br> | ||
+ | [[File:P3.png|border|500px]] | ||
+ | |||
+ | <h2>5. Políticas de almacenamiento</h2> | ||
+ | * Disponemos de '''3 discos''': | ||
+ | ** '''SO Proxmox:''' 128GB SSD | ||
+ | ** '''Almacenamiento interno:''' 1TB HDD | ||
+ | ** '''Pool compartido:''' 480GB SSD | ||
+ | <br> | ||
+ | [[Fitxer:politiques.png|border|500px]] | ||
+ | |||
+ | <h2>6. Creación del Storage Pool</h2> | ||
+ | ===Configuración del Ceph=== | ||
+ | * Des del nodo accedemos al menú del Ceph y procedemos a instalarlo. | ||
+ | [[File:Ceph1.png|border|500px]] | ||
+ | |||
+ | * Seleccionamos el numero de versión, en este caso hemos elegido la 16.2. | ||
+ | [[File:Ceph2.png|border|500px|]] | ||
+ | |||
+ | * Esperamos a que finalice el proceso de instalación. | ||
+ | [[File:Ceph3.png|border|500px|]] | ||
+ | |||
+ | * Introducimos las redes donde actuara el Ceph. | ||
+ | [[File:Ceph4.png|border|500px|]] | ||
+ | |||
+ | * Una vez tenemos el Ceph creado nos faltaría replicar el proceso en nuestro otro nodo. | ||
+ | [[File:Ceph5.png|border|500px|]] | ||
+ | |||
+ | ===Asignación del Disco=== | ||
+ | * Para crear el OSD (Object Storage Daemon) accedemos al nodo y seleccionamos la opción '''Crear OSD''' | ||
+ | [[File:Osd1.png|border|500px|]] | ||
+ | |||
+ | * Seleccionamos el disco que utilizaremos, en nuestro caso elegiremos el de 480GB SSD. | ||
+ | [[File:Osd2.png|border|500px]] | ||
+ | |||
+ | * Este es el resultado una vez añadido. | ||
+ | [[File:Osd3.png|border|600px]] | ||
+ | |||
+ | ===Creación del Pool=== | ||
+ | |||
+ | * Vamos al apartado de Pool y seleccionamos la opción de crear. | ||
+ | [[File:Rbd1.png|border|300px]] | ||
+ | |||
+ | * Introducimos el nombre del pool y lo creamos. | ||
+ | [[File:Rbd2.png|border|600px]] | ||
+ | |||
+ | * Para crear el RBD vamos al menú del Datacenter del Clúster, en el apartado de almacenamiento encontramos la opción Añadir donde seleccionaremos RBD. | ||
+ | [[File:Rbd3.png|border|500px]] | ||
+ | |||
+ | * Introducimos la ID y el pool. | ||
+ | [[File:Rbd4.png|border|500px]] | ||
+ | |||
+ | * Resultados del pool creado anteriormente. | ||
+ | [[File:Rbd5.png|border|700px]] | ||
+ | |||
+ | <h2>5. HA (Alta disponibilidad)</h2> | ||
+ | === Creación de la HA === | ||
+ | * Para crear el HA accedemos al menu de Alta Disponibilidad dentro del Datacenter. | ||
+ | [[File:Ha1.png|border|300px]] | ||
+ | |||
+ | * Introducimos el nombre y los nodos que formaran parte del grupo de HA. | ||
+ | [[File:Ha2.png|border|500px]] | ||
+ | |||
+ | * Este es el resultado de la creación del Clúster con HA. | ||
+ | [[File:Ha3.png|border|700px]] | ||
− | [[ | + | |
+ | === Raspberry como tercer nodo === | ||
+ | Como únicamente disponemos de dos nodos para el Clúster, la HA no esta disponible, esto se debe a que necesitamos un mínimo de tres, por esta razón configuraremos una Raspberry como tercer nodo. | ||
+ | |||
+ | * Mostramos que únicamente tenemos dos nodos configurados dentro de Proxmox. | ||
+ | [[File:Ra1.png|border|400px]] | ||
+ | |||
+ | * Instalamos las dependencias en los dos nodos. | ||
+ | [[File:Ra2.png|border|550px]] | ||
+ | [[File:Ra3.png|border|600px]] | ||
+ | |||
+ | * A través de SSH nos conectamos a la Raspberry y actualizamos los paquetes. | ||
+ | [[File:Ra4.png|border|500px]] | ||
+ | |||
+ | * Instalamos los paquetes necesarios en la Raspberry. | ||
+ | [[File:Ra5.png|border|500px]] | ||
+ | |||
+ | * Habilitamos el acceso via SSH al usuario root para poder ejecutar el siguiente paso. | ||
+ | [[File:Ra8.png|border|500px|]] | ||
+ | |||
+ | * Añadimos el nodo creado, definiéndolo como tipo '''qdevice''' en el Clúster. | ||
+ | [[File:Ra6.png|border|650px]] | ||
+ | [[File:Ra7.png|border|650px]] | ||
+ | |||
+ | * Finalmente, podemos ver que actualmente tenemos 3 nodos en el clúster gracias a la comanda anteriormente ejecutada. | ||
+ | [[File:Ra9.png|border|400px]] | ||
+ | |||
+ | * Creamos el grupo de HA i seleccionamos los nodos que formaran parte del mismo. | ||
+ | [[File:Ra10.png|border|500px]] | ||
+ | |||
+ | * Añadimos la MV creada anteriormente y la asignamos al grupo de HA creada. | ||
+ | [[File:Ra11.png|border|500px]] | ||
+ | |||
+ | * Comprobamos que la MV esta encendida en el nodo '''ProyectoVR4''' | ||
+ | [[File:Ra12.png|border|600px]] | ||
+ | |||
+ | * Para poder comprobar la alta disponibilidad apagamos el nodo y esperamos hasta que la MV migre. | ||
+ | [[File:Ra13.png|border|600px]] | ||
+ | |||
+ | * Comprobamos que después de apagar el nodo, la MV se ha migrado i sigue funcionando correctamente en el nodo '''ProyectoVR3'''. | ||
+ | [[File:Ra14.png|border|600px]] | ||
+ | |||
+ | <h2>8. Política de Usuarios Proxmox: privilegios, cuota, sistema de autenticación.</h2> | ||
+ | |||
+ | ===Creación de Grupos=== | ||
+ | |||
+ | |||
+ | * Creamos un grupo llamado '''Alumnos''' el cual contendrá todos los usuarios creados para el alumnado. | ||
+ | |||
+ | |||
+ | [[File:Usuarios11.png|border|600px]] | ||
+ | |||
+ | |||
+ | * Creamos un grupo llamado '''Profesores''' el cual contendrá todos los usuarios que crearemos para el profesorado. | ||
+ | |||
+ | |||
+ | [[File:Usuarios22.png|border|600px]] | ||
+ | |||
+ | |||
+ | * Comprobamos que los grupos se han creado correctamente. | ||
+ | |||
+ | |||
+ | [[File:Usuarios33.png|border|600px]] | ||
+ | |||
+ | ===Creación de Usuarios=== | ||
+ | |||
+ | |||
+ | * Para la creación de los usuarios nos dirigimos a '''Centro de Datos → Permisos → Usuarios'''. | ||
+ | * Añadimos un usuario llamado '''Alumno''' y le assignamos el grupo '''Alumnos''' que hemos creado anteriormente. También definiremos el método de autenticación del usuario, en este caso utilizaremos el servidor interno que nos proporciona Proxmox VE. | ||
+ | |||
+ | |||
+ | [[File:Usuarios44.png|border|600px]] | ||
+ | |||
+ | |||
+ | * Para definir los permisos de cada grupo accederemos a '''Centro de Datos -> Permisos -> Permisos de Grupo'''. | ||
+ | |||
+ | |||
+ | [[File:Usuarios55.png|border|600px]] | ||
+ | |||
+ | |||
+ | * Ahora crearemos los permisos del grupo '''Alumnos''' definiendo que solo pueda generar maquinas virtuales y visualizar los discos donde se guardaran. | ||
+ | |||
+ | |||
+ | [[File:Usuarios66.png|border|600px]] | ||
+ | |||
+ | |||
+ | * Comprobamos, accediendo con el usuario '''Alumno''', que los permisos están definidos correctamente y que únicamente podemos ver los discos y que, por ejemplo, no tendremos acceso a la Shell de los nodos. | ||
+ | |||
+ | |||
+ | [[File:Usuarios77.png|border|600px]] | ||
+ | |||
+ | |||
+ | <h2>7. Monitorización de Proxmox</h2> | ||
+ | |||
+ | |||
+ | === Instalación de InfluxDB === | ||
+ | |||
+ | * Agreguemos la clave InfluxDB a nuestro sistema: | ||
+ | |||
+ | |||
+ | [[File:Influ1.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Realizamos la instalación de los repositorios. | ||
+ | |||
+ | |||
+ | [[File:Influ2.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Actualizamos la máquina e instalamos InfluxDB. | ||
+ | |||
+ | |||
+ | [[File:Influ3.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Arrancamos el servicio y miramos como esta. | ||
+ | |||
+ | |||
+ | [[File:Influ4.png|border||500px|]] | ||
+ | |||
+ | |||
+ | * Agregamos al arranque del sistema. | ||
+ | |||
+ | |||
+ | [[File:Influ5.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Instalamos el modo gráfico de InfluxDB para que así tenga un aspecto visual mucho más cómodo para todos. | ||
+ | |||
+ | |||
+ | [[File:Influ6.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Abrimos nuestro navegador, establecemos el puerto y ya tendremos acceso a InfluxDB. | ||
+ | |||
+ | |||
+ | [[File:Influ7.png|border||500px|]] | ||
+ | |||
+ | |||
+ | === Instalación de Telegraf === | ||
+ | |||
+ | |||
+ | * En InfluxDB crearemos un contenedor, para ello ingresamos a InfluxDB -> Datos -> Pool -> Create new bucket | ||
+ | |||
+ | |||
+ | [[File:Telegr1.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Agregamos el GPG de Telegraf y realizamos la instalación del mismo. | ||
+ | |||
+ | |||
+ | [[File:Telegr2.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Revisamos que el servicio este UP. | ||
+ | |||
+ | |||
+ | [[File:Telegr3.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Accedemos al fichero de configuración de Telegraf. | ||
+ | |||
+ | |||
+ | [[File:Telegr4.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Modificamos el fichero de la siguiente manera. | ||
+ | |||
+ | |||
+ | ** - En el apartado url: la url del servidor InfluxDB. | ||
+ | |||
+ | ** - Token: añadir el token del administrador de Influxdb. | ||
+ | |||
+ | ** - Bucket: añadir el contenedor creado anteriormente. | ||
+ | |||
+ | ** - Organization: Añadir el nombre de la organización. | ||
+ | |||
+ | |||
+ | [[File:Telegr5.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Reiniciamos el servicio y accedemos de nuevo a la pagina, nos dirigtamos el apartado de Explorer y nos tiene que aparecer esto mismo. | ||
+ | |||
+ | |||
+ | [[File:Telegr6.png|border|500px|]] | ||
+ | |||
+ | |||
+ | === Instalación de Grafana === | ||
+ | |||
+ | |||
+ | * Realizamos la instalación de todos los paquetes necesarios para el funcionamiento de Grafana. | ||
+ | |||
+ | |||
+ | [[File:Graf1.png|border|500px|]] | ||
+ | <br clear=all> | ||
+ | [[File:Graf2.png|border|500px|]] | ||
+ | <br clear=all> | ||
+ | [[File:Graf3.png|border|500px|]] | ||
+ | <br clear=all> | ||
+ | |||
+ | |||
+ | * Agregamos la versión estable de Grafana. | ||
+ | |||
+ | |||
+ | [[File:Graf4.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Actualizamos de nuevo la máquina. | ||
+ | |||
+ | |||
+ | [[File:Graf5.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Instalamos el paquete de Grafana. | ||
+ | |||
+ | |||
+ | [[File:Graf6.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Efectuamos toda esta secuencia de comandos para así revisar que el Grafana esté instalado de manera correcta. | ||
+ | |||
+ | |||
+ | [[File:Graf7.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Para la configuración de Grafana accedemos a nuestro navegador por el puerto 3000 y accedemos a Configuration → Data sources -→ Add data source y añadimos InfluxDB. | ||
+ | |||
+ | |||
+ | [[File:Graf8.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Editamos para así poderlo añadir. | ||
+ | |||
+ | |||
+ | [[File:Graf9.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Añadimos la información necesaria. | ||
+ | |||
+ | |||
+ | [[File:Graf10.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Si está bien configurado veremos este resultado si accedemos a Data Source. | ||
+ | |||
+ | |||
+ | [[File:Graf11.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Para que pueda funcionar de manera correcta tenemos que crear la base de datos, que seria con el siguiente comando. | ||
+ | |||
+ | |||
+ | [[File:Graf12.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Creamos un nuevo Data Source en Grafana. | ||
+ | |||
+ | |||
+ | [[File:Graf13.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Activamos la opción de Basic Auth | ||
+ | |||
+ | |||
+ | [[File:Graf14.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Ponemos los datos del usuario y contraseña de InfluxDB. | ||
+ | |||
+ | |||
+ | [[File:Graf15.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Finalmente, añadimos la información que falta. | ||
+ | |||
+ | |||
+ | [[File:Graf16.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Si todos los pasos los hemos seguido de manera correcta, accediendo a Explore tenemos que ver esto. | ||
+ | |||
+ | |||
+ | [[File:Graf17.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Para poder tener un Dashboard vamos a importar una plantilla ya generada, en este caso la 10048. Para ello accedemos a Create → Import | ||
+ | |||
+ | |||
+ | [[File:Graf18.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * A continuación accedemos a Data Center de nuestro cluster de Proxmox y le damos a Metric Server -> Add -> InfluxDB | ||
+ | |||
+ | |||
+ | [[File:Graf19.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Completamos con los datos del InfluxDB. | ||
+ | |||
+ | |||
+ | [[File:Graf20.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Este sería el resultado con el Metric Server agregado. | ||
+ | |||
+ | |||
+ | [[File:Graf21.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Y este el resultado de la monitorización siendo visualizada desde Grafana. | ||
+ | |||
+ | |||
+ | [[File:Graf22.png|border|500px|]] | ||
+ | |||
+ | |||
+ | === Alertas === | ||
+ | |||
+ | |||
+ | * Para crear la alerta nos vamos al Dashboard que hemos cargado anteriormente y buscamos sobre que queremos generar la alerta, en este caso será sobre GPU, le damos a EDIT. | ||
+ | |||
+ | |||
+ | [[File:Alertpro1.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Editamos la variable de la plantilla, en este caso lo tenemos que dejar con el nombre del nodo. | ||
+ | |||
+ | |||
+ | [[File:Alertpro2.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Nos vamos al apartado Alert y ya podemos editar la alerta, le asignamos por ejemplo que al 10% de uso se genere alerta, ya que sería una prueba. | ||
+ | |||
+ | |||
+ | [[File:Alertpro3.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Nos dirigimos a Alerting para así poder asignar el método de alerta. | ||
+ | |||
+ | |||
+ | [[File:Alertpro4.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Editamos el archivo de configuración. | ||
+ | |||
+ | |||
+ | [[File:Alertpro5.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Configuramos el apartado de SMTP. | ||
+ | |||
+ | |||
+ | [[File:Alertpro6.png|border|500px|]] | ||
+ | |||
+ | |||
+ | * Esta sería la alerta que nos llega el correo electrónico. | ||
− | + | [[File:Alertpro7.png|border|500px|]] | |
− | |||
− | [[ |
Revisió de 15:17, 7 abr 2022
Volver a Projecte IETI Cloud - Grup 1.
2. Diseño DMZ. Análisis, Diseño y Documentación
En el diseño de la red podemos encontrar una DMZ, un red interna y una red externa(internet).Como podemos ver en el diseño de la red, la red interna esta preparada para la comunicación entre clústers y la DMZ compuesta de 6 maquinas(nodos) que estarán dentro de los clústers.
3. Montaje Hardware CPD
Montaje del hardware para alojar IETI Cloud
Componentes
- Router: 1
- Armaris Rack (MicroConnect): 2
- Switches: 3
- Sevidores (proporcionados por el centro): 6
- SO Proxmox: 128GB SSD
- Almacenamiento interno: 1TB HDD
- Pool compartido: 480 GB
- Tarjeta de red: 1
Montaje nodo
En cada nodo hemos montado y instalado sus 3 discos correspondientes, a parte de una tarjeta de red adicional para cada clúster.
Montaje rack
Montamos los nodos en el rack y a continuación procedemos a instalar Proxmox.
Previamente montamos un switch por cada 2 nodos para mantener separados los clusters.
4. Instalación del software de virtualización (Proxmox) y clusterización.
- Descargamos la imagen ISO de la pagina oficial del Proxmox.
https://www.proxmox.com/en/downloads
- Elegimos el disco donde se instalara Proxmox.
- Comenzamos la instalación seleccionando la opción Proxmox VE.
- Seleccionamos el disco donde instalaremos Proxmox, en este caso elegimos el SSD de 128GB.
- Definimos el país, la zona horaria y el layout del teclado.
- Indicamos la contraseña de acceso del usuario root y un correo donde enviara información adicional y alertas.
- Introducimos los siguientes datos referentes a la red.
- Tarjeta de red de acceso: eno1
- Hostname: proyectovr(numero de nodo).proxmox.ieti
- IP Address: 192.168.88.X/24 (rango de ip de 2 - 7)
- Gateway: 192.168.88.1
- DNS Server: 8.8.8.8
- Resumen de la configuración que hemos establecido y procedemos a la instalación de Proxmox.
- Prueba de acceso a Proxmox con usuario root.
- Ejemplo de las especificaciones de un nodo.
- Desde nuestro Datacenter elegimos la opción Clúster.
- Procedemos a la creación de nuestro clúster y elegimos la red donde se creara, a continuación copiaremos el texto que utilizaremos para unir los nodos.
- Pegamos el texto anterior y elegimos la red donde hemos creado nuestro clúster, también especificaremos la red desde donde vamos a unirnos.
- Finalmente podemos observar que el nodo ha sido creado con éxito.
5. Políticas de almacenamiento
- Disponemos de 3 discos:
- SO Proxmox: 128GB SSD
- Almacenamiento interno: 1TB HDD
- Pool compartido: 480GB SSD
6. Creación del Storage Pool
Configuración del Ceph
- Des del nodo accedemos al menú del Ceph y procedemos a instalarlo.
- Seleccionamos el numero de versión, en este caso hemos elegido la 16.2.
- Esperamos a que finalice el proceso de instalación.
- Introducimos las redes donde actuara el Ceph.
- Una vez tenemos el Ceph creado nos faltaría replicar el proceso en nuestro otro nodo.
Asignación del Disco
- Para crear el OSD (Object Storage Daemon) accedemos al nodo y seleccionamos la opción Crear OSD
- Seleccionamos el disco que utilizaremos, en nuestro caso elegiremos el de 480GB SSD.
- Este es el resultado una vez añadido.
Creación del Pool
- Vamos al apartado de Pool y seleccionamos la opción de crear.
- Introducimos el nombre del pool y lo creamos.
- Para crear el RBD vamos al menú del Datacenter del Clúster, en el apartado de almacenamiento encontramos la opción Añadir donde seleccionaremos RBD.
- Introducimos la ID y el pool.
- Resultados del pool creado anteriormente.
5. HA (Alta disponibilidad)
Creación de la HA
- Para crear el HA accedemos al menu de Alta Disponibilidad dentro del Datacenter.
- Introducimos el nombre y los nodos que formaran parte del grupo de HA.
- Este es el resultado de la creación del Clúster con HA.
Raspberry como tercer nodo
Como únicamente disponemos de dos nodos para el Clúster, la HA no esta disponible, esto se debe a que necesitamos un mínimo de tres, por esta razón configuraremos una Raspberry como tercer nodo.
- Mostramos que únicamente tenemos dos nodos configurados dentro de Proxmox.
- Instalamos las dependencias en los dos nodos.
- A través de SSH nos conectamos a la Raspberry y actualizamos los paquetes.
- Instalamos los paquetes necesarios en la Raspberry.
- Habilitamos el acceso via SSH al usuario root para poder ejecutar el siguiente paso.
- Añadimos el nodo creado, definiéndolo como tipo qdevice en el Clúster.
- Finalmente, podemos ver que actualmente tenemos 3 nodos en el clúster gracias a la comanda anteriormente ejecutada.
- Creamos el grupo de HA i seleccionamos los nodos que formaran parte del mismo.
- Añadimos la MV creada anteriormente y la asignamos al grupo de HA creada.
- Comprobamos que la MV esta encendida en el nodo ProyectoVR4
- Para poder comprobar la alta disponibilidad apagamos el nodo y esperamos hasta que la MV migre.
- Comprobamos que después de apagar el nodo, la MV se ha migrado i sigue funcionando correctamente en el nodo ProyectoVR3.
8. Política de Usuarios Proxmox: privilegios, cuota, sistema de autenticación.
Creación de Grupos
- Creamos un grupo llamado Alumnos el cual contendrá todos los usuarios creados para el alumnado.
- Creamos un grupo llamado Profesores el cual contendrá todos los usuarios que crearemos para el profesorado.
- Comprobamos que los grupos se han creado correctamente.
Creación de Usuarios
- Para la creación de los usuarios nos dirigimos a Centro de Datos → Permisos → Usuarios.
- Añadimos un usuario llamado Alumno y le assignamos el grupo Alumnos que hemos creado anteriormente. También definiremos el método de autenticación del usuario, en este caso utilizaremos el servidor interno que nos proporciona Proxmox VE.
- Para definir los permisos de cada grupo accederemos a Centro de Datos -> Permisos -> Permisos de Grupo.
- Ahora crearemos los permisos del grupo Alumnos definiendo que solo pueda generar maquinas virtuales y visualizar los discos donde se guardaran.
- Comprobamos, accediendo con el usuario Alumno, que los permisos están definidos correctamente y que únicamente podemos ver los discos y que, por ejemplo, no tendremos acceso a la Shell de los nodos.
7. Monitorización de Proxmox
Instalación de InfluxDB
- Agreguemos la clave InfluxDB a nuestro sistema:
- Realizamos la instalación de los repositorios.
- Actualizamos la máquina e instalamos InfluxDB.
- Arrancamos el servicio y miramos como esta.
- Agregamos al arranque del sistema.
- Instalamos el modo gráfico de InfluxDB para que así tenga un aspecto visual mucho más cómodo para todos.
- Abrimos nuestro navegador, establecemos el puerto y ya tendremos acceso a InfluxDB.
Instalación de Telegraf
- En InfluxDB crearemos un contenedor, para ello ingresamos a InfluxDB -> Datos -> Pool -> Create new bucket
- Agregamos el GPG de Telegraf y realizamos la instalación del mismo.
- Revisamos que el servicio este UP.
- Accedemos al fichero de configuración de Telegraf.
- Modificamos el fichero de la siguiente manera.
- - En el apartado url: la url del servidor InfluxDB.
- - Token: añadir el token del administrador de Influxdb.
- - Bucket: añadir el contenedor creado anteriormente.
- - Organization: Añadir el nombre de la organización.
- Reiniciamos el servicio y accedemos de nuevo a la pagina, nos dirigtamos el apartado de Explorer y nos tiene que aparecer esto mismo.
Instalación de Grafana
- Realizamos la instalación de todos los paquetes necesarios para el funcionamiento de Grafana.
- Agregamos la versión estable de Grafana.
- Actualizamos de nuevo la máquina.
- Instalamos el paquete de Grafana.
- Efectuamos toda esta secuencia de comandos para así revisar que el Grafana esté instalado de manera correcta.
- Para la configuración de Grafana accedemos a nuestro navegador por el puerto 3000 y accedemos a Configuration → Data sources -→ Add data source y añadimos InfluxDB.
- Editamos para así poderlo añadir.
- Añadimos la información necesaria.
- Si está bien configurado veremos este resultado si accedemos a Data Source.
- Para que pueda funcionar de manera correcta tenemos que crear la base de datos, que seria con el siguiente comando.
- Creamos un nuevo Data Source en Grafana.
- Activamos la opción de Basic Auth
- Ponemos los datos del usuario y contraseña de InfluxDB.
- Finalmente, añadimos la información que falta.
- Si todos los pasos los hemos seguido de manera correcta, accediendo a Explore tenemos que ver esto.
- Para poder tener un Dashboard vamos a importar una plantilla ya generada, en este caso la 10048. Para ello accedemos a Create → Import
- A continuación accedemos a Data Center de nuestro cluster de Proxmox y le damos a Metric Server -> Add -> InfluxDB
- Completamos con los datos del InfluxDB.
- Este sería el resultado con el Metric Server agregado.
- Y este el resultado de la monitorización siendo visualizada desde Grafana.
Alertas
- Para crear la alerta nos vamos al Dashboard que hemos cargado anteriormente y buscamos sobre que queremos generar la alerta, en este caso será sobre GPU, le damos a EDIT.
- Editamos la variable de la plantilla, en este caso lo tenemos que dejar con el nombre del nodo.
- Nos vamos al apartado Alert y ya podemos editar la alerta, le asignamos por ejemplo que al 10% de uso se genere alerta, ya que sería una prueba.
- Nos dirigimos a Alerting para así poder asignar el método de alerta.
- Editamos el archivo de configuración.
- Configuramos el apartado de SMTP.
- Esta sería la alerta que nos llega el correo electrónico.