Instalación de Medulla
Documentación de instalación del servidor Medulla en un sitio único mediante Ansible.
- Instalación del sistema operativo Debian para el servidor Medulla
- Instalar Medulla en Linux
- Instalación del agente Medulla
- Implementación de Agent mediante WinRM SSH
- Interfaz de Medulla
- Configuración de DHCP / PXE
Instalación del sistema operativo Debian para el servidor Medulla
Características técnicas
|
Requisitos previos – Dimensionamiento de los servidores |
||
|
Servidor principal |
SO |
Debian 12.x |
|
Arquitectura |
X86-64 |
|
|
CPU |
8 núcleos |
|
|
RAM |
8 GB |
|
|
Partición / |
20 GB en EXT4 |
|
|
Partición /var |
400 GB como mínimo en XFS o punto de montaje en una bahía de almacenamiento |
|
|
Servidores de retransmisión multisitio (si procede) |
SO |
Debian 12.x |
|
Arquitectura |
X86-64 |
|
|
CPU |
4 núcleos |
|
|
RAM |
8 GB |
|
|
Partición / |
20 GB en EXT4 |
|
|
Partición /var |
400 GB como mínimo en XFS o punto de montaje en una bahía de almacenamiento |
|
Instalación del servidor Debian
Resumen:
- Separar solo /var de / y ponerlos en LVM
- Instalar el servidor SSH y las utilidades estándar del sistema
- No instalar ningún antivirus ni cortafuegos
- Definir una cuenta que
o pueda ejecutar sudo sin contraseña
o pueda conectarse desde la IP 94.130.207.190
o pueda conectarse con la siguiente clave:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCScgwfwJKM5BtgzAYu6FEeJ5jW3onkzFp8D8piLR22kWbRcT/AJ1z0jhS5ZDtn6mumfidVPFbLkDf382u54pOU6JGwy9GhvEIXOSlzgxZMH5kcfeBE/8Ovr9zLtbRKsWQN9YUSt5y6lmcSxuQNVhkRy49/593oamVJACSitSVJ68716hj0gp4N8gUMVkvNgEBDZVSPe0DXz2h7JEzOKx2ejjRaw22ve+qARTw+60gMP0aCLGt/m0cyv+90AZigQwWIPcUk+bBRJn3Ku+Bkw+JuLYURlVc4xoTvT1JTWKXAzMln4nrlisIc9Ex5eEHSkvs/fgJCgU28Fza5n5mBj/pbQRY+/AWLjvBVuLiVReO7hq60fhrX9+j7MWMCYCZQiHbk/r7OprLyl2yGFX1DbgRGF1Sk2R9DtqRhwPzPxtQ7ZtKSjIhLjrZxJ/YJLHSoUsw+4CHprjzU0gXBt1RCQoyhYqEGcnuFyfd9dIBXCINkmp4jfz7CQjrC8uPqAtS1zQU= support@support
Configuración de la partición de discos
Particione los discos siguiendo las instrucciones que se indican a continuación:
Realizar una partición manual
Creación de la partición /boot
Creación del LVM
Creación del grupo de volúmenes vg
Creación del volumen lógico lvroot
Repetir para los volúmenes lvswap y lvvar
Para obtener el siguiente esquema LVM:
Configurar la partición /
Repetir para cada una de las particiones swap y /var:
Para obtener el siguiente esquema de particiones:
Instalación de los paquetes
Comprobación del servidor
1. Descargar el script de verificación desde https://dl.medulla-tech.io/nc/check_server_before_install.sh
wget https://dl.medulla-tech.io/nc/check_server_before_install.sh
2. Ejecuta los siguientes comandos:
chmod +x check_server_before_install.sh
./check_server_before_install.sh
3.
Todas las pruebas del script deben dar resultado correcto; una vez hecho esto, puede descargar el script de instalación a través del formulario de contacto:
https://github.com/medulla-tech/medulla/blob/master/README.fr.md
Si dispone de un contrato de asistencia técnica, envíe el resultado a delivery@medulla-tech.io. Si no es así, póngase en contacto con el departamento de «ventas» a través de nuestra página webmedulla-tech.io.
Estos son los errores más comunes:
1. Límites de Core Dump (limits)
Contexto: El archivo /etc/security/limits.d/10-coredump-debian.conf define el tamaño máximo de los archivos «core dump». Nuestro script espera valores específicos que no se corresponden con la configuración actual.
Cómo solucionarlo: Modifique el archivo mencionado para que se ajuste a lo esperado.
-
Abra el archivo:
sudo nano /etc/security/limits.d/10-coredump-debian.conf -
Modifique las líneas para que queden así:
-
* hard core infinity -
root hard core infinity -
* soft core 0 -
root soft core 0
-
Fuentes recomendadas: Documentación de Debian sobre limits.conf y core dump.
2. Número de archivos abiertos (lsof)
Contexto: Las líneas de lsof correspondientes a los usuarios xxx y messagebus indican que el número de archivos abiertos actualmente se desvía del valor esperado por el script de verificación (a menudo porque hay servicios ya en ejecución o mal configurados).
Cómo solucionarlo: A menudo es solo informativo, pero si necesitas reducir estas cifras:
-
Identifique qué están haciendo estos usuarios:
ps -u número_de_usuario_con_error. -
Reinicie los servicios asociados (por ejemplo:
sudo systemctl restart dbuspara messagebus). -
Si los valores esperados son demasiado estrictos para su uso, puede que tenga que ajustar el propio script de verificación o los límites globales
de ulimit.
Fuentes recomendadas: Manual de lsof y gestión de descriptores de archivos en Linux.
3. Parámetros de systemd (NPROC y SIGPENDING)
Contexto: Los valores DefaultLimitNPROC (número máximo de procesos) y DefaultLimitSIGPENDING (señales en espera) deben ser31541.
Cómo solucionarlo: Hay que forzar estos valores en la configuración global de systemd para que coincidan exactamente con lo esperado.
-
Modifique el archivo de configuración:
sudo nano /etc/systemd/system.conf -
Descomente o añada las siguientes líneas:
-
DefaultLimitNPROC=31541 -
DefaultLimitSIGPENDING=31541
-
-
Recargue la configuración y reinicie (o utilice
systemctl daemon-reexec).
Fuentes recomendadas: Documentación de systemd-system.conf en freedesktop.org.
Instalar Medulla en Linux
Requisitos previos:
El script de instalación de Medulla es compatible con la distribución Debian (Bookworm).
Debe disponer de un equipo con:
- al menos 8 GB de RAM disponible,
- un mínimo de 40 GB de espacio libre en disco para / y 200 GB para /var.
Comprueba que tu archivo /etc/hosts esté correctamente configurado con el FQDN completo.
Si, por ejemplo, el equipo se llama medulla y el dominio se llama dominio.lan, el archivo /etc/hosts debe contener una línea similar a esta:
127.0.1.1 medulla.dominio.lan medulla
Compruebe que el archivo /etc/resolv.conf esté correctamente configurado y que el equipo esté bien conectado a Internet.
Instalación del servidor Medulla:
Para instalar el servidor Medulla: Utilice un usuario con permisos sudo para ejecutar el script y el playbook de instalación.
1- Transfiere el script al servidor.
2- Asigna permisos de ejecución al archivo:
escriba: chmod +x install_from_ansible.py
3- Inicie la instalación del servidor:
./install_from_ansible.py
Espera a que finalice el proceso de instalación; aparecerá un resumen con todas las contraseñas necesarias (copíalas en un lugar seguro).
Instalación del agente Medulla
El agente Medulla se puede descargar desde
http://medulla.domaine.lan/downloads/win/Medulla-Agent-windows-FULL-latest.exe
El agente Medulla se puede instalar manualmente o en modo silencioso:
"Medulla-Agent-windows-FULL-latest.exe /S"
El proceso de instalación continuará tras finalizar la instalación, instalando todas las dependencias.
Finaliza cuando el ordenador aparece en Medulla en azul (en línea).
Agente Medulla
Por defecto, proporcionamos un agente global para Medulla ( tal y como se explica en esta publicación). La gestión de las entidades por publicación se realiza a través de GLPI.
Sin embargo, si desea beneficiarse de una , también es posible . Esta opción , pero si se ajusta a sus necesidades. Para ver los agentes por entidad: Gestión de entidades
Implementación de Agent mediante WinRM SSH
- Asegúrese de que netcat esté instalado en las máquinas Debian:
-
sudo apt update && sudo apt install netcat-openbsd
- Asegúrese de que PowerShell esté configurado para ejecutar scripts:
-
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
- Responda [A] «Sí a todo»
Scripts de escucha
Pasos:
- Descarga el scriptlisten_ports_debian.sh en la máquina.
- Haga que sea ejecutable (y conviértalo a Unix si es necesario):
chmod +x listen_ports_debian.sh dos2unix listen_ports_debian.sh
- Ejecute el script:
- ParaMedulla Main:
-
./listen_ports_debian.sh --medulla
- ParaMedulla Relai:
-
./listen_ports_debian.sh --relay
En el equipo Windows (estación de trabajo)
- Descargue el scriptlisten_ports_windows.ps1 en el equipo.
- Ejecute el script:
.\listen_ports_windows.ps1
Scripts de prueba de conexión
En los equipos Debian (Medulla Main, Medulla Relai y Poste Client)
Utilice los scripts medulla_connection_check.sh, medulla_relay_connection_check.sh y windows_connection_check.ps1 para comprobar las conexiones con los equipos.
- Descargue los scriptsen las tres máquinas (Medulla Main, Relai y Poste Client).
- Haga que sean ejecutables:
-
chmod +x medulla_connection_check.sh chmod +x medulla_relay_connection_check.sh chmod +x listen_ports_debian.sh
- Si es necesario (error al ejecutar los scripts de Debian), conviértalos a Unix:
-
dos2unix medulla_connection_check.sh dos2unix medulla_relay_connection_check.sh dos2unix listen_ports_debian.sh
- Ejecute el script:
- Para probar las conexiones desdeMedulla Mainhacia Medulla Relai:
-
./medulla_connection_check.sh --relay <IP_Medulla_Relai>
- Para probar las conexiones desdeMedulla Mainhacia un terminal de cliente:
-
./medulla_connection_check.sh --client <IP_estación_cliente>
- Para comprobar las conexiones desdeMedulla Relaia Medulla Main:
-
./medulla_relay_connection_check.sh --medulla <IP_Medulla_Main>
- Para comprobar las conexiones desdeMedulla Reléa un terminal de cliente:
-
./medulla_relay_connection_check.sh --client <IP_Estación_Cliente>
- Para comprobar las conexiones desdeel puesto de cliente haciaMedulla Main y Medulla Relai:
-
.\windows_connection_check.ps1 -Target <IP_Medulla_Main> -Mode pulse .\windows_connection_check.ps1 -Target <IP_Medulla_Relai> -Mode relay
Procedimiento completo
Configuración de los puertos
En Medulla Main (Debian):
./listen_port_debian.sh --medulla
En Medulla Relai (Debian):
./listen_port_debian.sh --relay
En el equipo cliente (Windows):
.\listen_ports_windows.ps1
Prueba de conexiones
Desde Medulla Main (Debian):
./medulla_connection_check.sh --relay <IP_Medulla_Relai> ./medulla_connection_check.sh --client <IP_Poste_Client>
Desde Medulla Relé (Debian):
./medulla_relay_connection_check.sh --medulla <IP_Medulla_Main> ./medulla_relay_connection_check.sh --client <IP_Poste_Client>
Desde el equipo cliente (Windows):
.\windows_connection_check.ps1 -Target <IP_Medulla_Main> -Mode pulse .\windows_connection_check.ps1 -Target <IP_Medulla_Relai> -Mode relay
Resolución de problemas
Problemas de conexión
- Comprueba las direcciones IP: Asegúrate de que las direcciones IP utilizadas sean correctas.
- Compruebe los cortafuegos: Asegúrese de que los cortafuegos de los equipos permiten las conexiones en los puertos necesarios.
- Compruebe los servicios: Asegúrese de que los servicios necesarios estén en ejecución.
- Compruebe los puertos en escucha: utilice netstat -ano en Windows o ss -tulnp en Debian para comprobar que los puertos están realmente en escucha.
- Comprueba los errores: consulta los mensajes de error en los scripts para identificar los problemas.
Interfaz de Medulla
Para acceder a la consola de Medulla, abra un navegador web con la siguiente dirección:
http://medulla.domaine.lan/mmc
o
Para descubrir Medulla y aprender a utilizar la solución:
Documentación de Medulla
Configuración de DHCP / PXE
Habilitar el arranque UEFI con PXE
Servidor DHCP:
El servidor DHCP necesita una opción especial para habilitar el arranque PXE.
Las opciones DHCP son:
-
Opción 66
-
Opción 67
Configuración del servidor DHCP de Windows
En primer lugar, el servidor DHCP debe determinar qué tipo de equipo está solicitando la asignación del servidor PXE y el archivo adecuado para el arranque.
Para clasificar los equipos, deben definirse las clases de fabricante.
Clases de fabricante
Las clases de fabricante como método de detección se utilizan para determinar cómo los dispositivos solicitan una imagen de arranque al servidor DHCP.
-
Abra la consola DHCP y expanda el nodo IPv4
-
Haga clic con el botón derecho en «Nodo IPv4» y seleccione «Definir clases de fabricante»
-
Haga clic en «Añadir»
-
Cree primero la clase de proveedor UEFI de 64 bits introduciendo la siguiente información
-
Introduzca la siguiente información en los campos correspondientes:
-
Nombre de visualización:PXEClient (UEFI x64)
-
Descripción:PXEClient:Arch:00007
-
ASCII:PXEClient:Arch:00007
-
-
Haga clic en «Aceptar»
-
Haga clic en «Añadir»
-
Nombre de visualización:PXEClient (BIOS x86 y x64)
-
Descripción:PXEClient:Arch:00000
-
ASCII:PXEClient:Arch:00000
-
-
Haga clic en «Aceptar»
Creación de políticas DHCP personalizadas
Política DHCP de BIOS de 32 y 64 bits
-
Haga clic con el botón derecho en «Políticas» y seleccione «Nueva política»
-
Asigne a la política un nombre descriptivo que coincida con el esquema de nomenclatura de su proveedor:
-
Nombre de la política: PXEClient (BIOS x86 y x64)
-
Descripción: Proporciona el archivo de arranque correcto para equipos con BIOS
-
-
Haga clic en «Siguiente»
-
En la página «Configurar condiciones para la política», haga clic en «Añadir»
-
Seleccione el cuadro desplegable «Valor» y elija la clase de proveedorPXEClient (BIOS x86 y x64)que ha creado en los pasos anteriores
-
Asegúrese de marcar la casilla«Añadir comodín (*)»
-
Seleccione «Añadir»
-
Seleccione «Aceptar»
-
Haga clic en «Siguiente»
-
Si desea que la política afecte solo a un rango específico dentro de su ámbito, configúrelo; de lo contrario, seleccione «No» y haga clic en «Siguiente»
-
En la página «Configurar ajustes para la política», asegúrese de que «Opciones estándar de DHCP» esté seleccionado en el menú desplegable
-
Configure las siguientes opciones de ámbito:
-
066:Dirección IP de Medulla
-
067: bootloader/undionly.kpxe
-
-
Haga clic en «Siguiente»
-
En la página «Resumen», haga clic en «Finalizar»
Política DHCP de UEFI
-
Haga clic con el botón derecho en «Policies» y haga clic en «New Policy»
-
Asigne a la política un nombre descriptivo que coincida con el esquema de nomenclatura de su proveedor:
-
Nombre de la política: PXEClient (UEFI)
-
Descripción: Proporciona el archivo de arranque correcto para (UEFI)
-
-
Haga clic en «Siguiente»
-
En la página «Configurar condiciones para la política», haga clic en «Añadir»
-
Seleccione el cuadro desplegable «Valor» y elija la clase de proveedorPXEClient (UEFI)que ha creado en los pasos anteriores
-
Asegúrese de marcar la casilla«Añadir comodín (*)»
-
Seleccione «Añadir»
-
Seleccione «Aceptar»
-
Haga clic en «Siguiente»
-
Si desea que la política afecte solo a un rango específico dentro de su ámbito, configúrelo; de lo contrario, seleccione «No» y haga clic en «Siguiente»
-
En la página «Configurar ajustes para la política», asegúrese de que «Opciones estándar de DHCP» esté seleccionado en el menú desplegable
-
Configure las siguientes opciones de ámbito:
-
066:Dirección IP de Medulla
-
067: bootloader-uefi64/ipxe.efi
-
Haga clic en «Siguiente»
-
-
En la página«Resumen», haga clic en «Finalizar»
Elimine las opciones PXE predeterminadas
Asegúrese de haber eliminado las opciones 067, 066 y 060 de las opciones de ámbito predeterminadas para garantizar que las políticas tengan prioridad; de lo contrario, se producirá un conflicto. Siempre que haya configurado todo correctamente, ahora debería poder arrancar los equipos desde la BIOS o la UEFI.
Servidor DHCP de Linux
# Definiciones PXE
option space PXE;
option PXE.mtftp-ip code 1 = ip-address;
option PXE.mtftp-cport code 2 = unsigned integer 16;
option PXE.mtftp-sport code 3 = unsigned integer 16;
option PXE.mtftp-tmout code 4 = unsigned integer 8;
opción PXE.mtftp-delay código 5 = entero sin signo de 8 bits;
opción PXE.discovery-control código 6 = entero sin signo de 8 bits;
opción PXE.discovery-mcast-addr código 7 = dirección IP;
opción arch código 93 = entero sin signo de 16 bits;
# En el paquete DHCP DISCOVER inicial, el cliente PXE establece la opción 93 en su arquitectura.
# 0000 == PC IA x86 (arranque BIOS)
# 0006 == arranque EFI x86
# 0007 == arranque EFI x64
# Arranque PXE según las especificaciones PXE
class "PXE" {
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
espacio-opción-proveedor PXE;
opción PXE.mtftp-ip 0.0.0.0;
si opción arch = 00:07 {
nombre-archivo "bootloader-uefi64/ipxe.efi";
} else {
nombre-archivo "/bootloader/undionly.kpxe";
}
}
# Arranque Etherboot
class "Etherboot" {
match if substring (option vendor-class-identifier, 0, 11) = "Etherboot-5";
option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff;
option vendor-class-identifier "Etherboot-5.0";
vendor-option-space PXE;
option PXE.mtftp-ip 0.0.0.0;
}
subnet ##MEDULLA_NETWORK## netmask ##MEDULLA_NETMASK## {
option broadcast-address ##MEDULLA_BCAST##; # dirección de difusión
option domain-name ##MEDULLA_DOMAIN##; # nombre de dominio
option domain-name-servers ##MEDULLA_DNS##; # servidores DNS
option routers ##MEDULLA_GW##; # puerta de enlace predeterminada
pool { # Solo se define el grupo
# descomente las dos líneas siguientes para el arranque solo por PXE
#allow members of "PXE"; # solo PXE
#allow members of "Etherboot"; # solo PXE
range ##MEDULLA_START## ##MEDULLA_END##;
next-server ##MEDULLA_IP##;
}
}