refs #503 Adds oglive definition to doc
parent
3dd95881d4
commit
a0f5b50179
|
@ -1,9 +1,109 @@
|
|||
## Diseño de la Lógica y Comunicación entre los Endpoints del Componente `ogboot` y el Servidor `ogCore`
|
||||
# Documentación de Ogboot
|
||||
|
||||
### Introducción
|
||||
|
||||
## 1. Descripción General del Componente
|
||||
- 1.1 Introducción
|
||||
- 1.2 Funcionalidades
|
||||
- 1.2.1 Gestión de Imágenes de Arranque (ogLive)
|
||||
- 1.2.2 Monitoreo y Configuración
|
||||
- 1.2.3 Interfaz de Programación de Aplicaciones (API)
|
||||
- 1.3 Arquitectura General
|
||||
- 1.3.1 Componentes Principales
|
||||
- 1.3.2 Estructura del Proyecto
|
||||
- 1.3.3 Interacción entre Componentes
|
||||
- 1.3.4 Seguridad y Permisos
|
||||
|
||||
## 2. Instalación
|
||||
- 2.1 Requisitos Previos
|
||||
- 2.1.1 Software Necesario
|
||||
- 2.1.2 Hardware Requerido
|
||||
- 2.1.3 Permisos y Configuraciones Previas
|
||||
- 2.2 Instrucciones de Instalación
|
||||
- 2.2.1 Descarga del Software
|
||||
- 2.2.2 Instalación Paso a Paso
|
||||
- 2.2.3 Configuración Inicial
|
||||
|
||||
## 3. Endpoints y API
|
||||
- 3.1 Listado de Endpoints
|
||||
- 3.1.1 Métodos y Rutas
|
||||
- 3.1.2 Descripciones de los Endpoints
|
||||
- 3.2 Ejemplos de Solicitudes y Respuestas
|
||||
- 3.3 Manejo de Errores Comunes
|
||||
- 3.4 Middleware y Autenticación
|
||||
|
||||
## 4. Configuración del Servidor
|
||||
- 4.1 Configuración de Nginx
|
||||
- 4.2 Configuración de PHP-FPM
|
||||
- 4.3 Creación y Levantamiento del Demonio ogboot
|
||||
- 4.4 Configuración de Usuarios y Permisos
|
||||
|
||||
## 5. Funciones del CLI (oglivecli)
|
||||
- 5.1 Descripción de las Funciones
|
||||
- 5.2 Ejemplos de Uso
|
||||
- 5.3 Interacción con el Sistema y el Demonio
|
||||
|
||||
## 6. Integración con Otros Sistemas
|
||||
- 6.1 Integración con TFTP
|
||||
- 6.2 Configuración de PXE
|
||||
- 6.3 Otros Servicios y Configuraciones
|
||||
|
||||
## 7. Seguridad
|
||||
- 7.1 Consideraciones de Seguridad
|
||||
- 7.2 Medidas para Mitigar Riesgos
|
||||
- 7.3 Configuración Segura
|
||||
|
||||
## 8. Mantenimiento y Monitoreo
|
||||
- 8.1 Monitoreo del Estado del Demonio
|
||||
- 8.2 Procedimientos de Mantenimiento Recomendados
|
||||
- 8.3 Solución de Problemas Comunes
|
||||
|
||||
## 9. Actualización y Desinstalación
|
||||
- 9.1 Procedimientos de Actualización
|
||||
- 9.2 Pasos para Desinstalar ogboot
|
||||
|
||||
## 10. Anexos
|
||||
- 10.1 Ejemplos de Configuración de Archivos Relevantes
|
||||
- 10.2 Listado de Comandos Útiles
|
||||
- 10.3 Referencias a Documentación Externa
|
||||
|
||||
## 11. Ejemplos Prácticos
|
||||
- 11.1 Casos de Uso Comunes
|
||||
- 11.2 Scripts de Automatización
|
||||
- 11.3 Integraciones Prácticas
|
||||
|
||||
|
||||
|
||||
|
||||
## 1. Descripción General del Componente
|
||||
|
||||
### 1.1 Introducción
|
||||
|
||||
El componente `ogboot` se encarga de la gestión y configuración de archivos de arranque (iPXE) y plantillas en un entorno de despliegue de imágenes. El servidor `ogCore` es el núcleo que interactúa con `ogboot` para realizar operaciones de administración y configuración. Este documento describe la lógica y la comunicación entre los endpoints del componente `ogboot` y el servidor `ogCore`.
|
||||
|
||||
|
||||
### 1.2 Funcionalidades
|
||||
|
||||
#### 1.2.1 ogLive
|
||||
|
||||
El **ogLive** es un sistema operativo diseñado para iniciarse en PCs y llevar a cabo diversas operaciones indicadas por OpenGnsys, como la creación de particiones y la restauración de sistemas operativos. Este sistema operativo se carga y ejecuta completamente en la RAM y se distribuye a través de la red, lo que le permite realizar una regeneración completa de todos los discos de almacenamiento en un equipo.
|
||||
|
||||
Desde el punto de vista de su diseño, el ogLive se divide en dos componentes, cada uno con una función específica en el proceso de arranque:
|
||||
|
||||
1. **Primera Fase: Kernel e Initrd**
|
||||
- Esta fase incluye un Kernel y un Initrd, elementos tradicionales de una distribución de Ubuntu, pero con la adición de un proceso alternativo llamado `oginit`.
|
||||
- El `oginit` permite cambiar el contexto (`pivot_root`) del Initrd a la partición raíz (rootfs) de manera rápida y flexible según las necesidades de OpenGnsys.
|
||||
- El `oginit` permite utilizar un rootfs ubicado en la red a través de sistemas de archivos distribuidos como NFS, Samba o SSHFS, y crea enlaces en el minisistema del Initrd con los archivos del rootfs, facilitando así el uso de programas y utilidades que no pueden ser instalados en el Initrd.
|
||||
- Este enfoque minimiza los problemas de red, ya que el sistema principal (Initrd) siempre reside en la RAM y solo accede al rootfs cuando se necesita una utilidad no presente en el Initrd.
|
||||
|
||||
2. **Segunda Fase: Rootfs en la Red**
|
||||
- El rootfs, que es compartido por todos los clientes, se fusiona con el Initrd, lo que permite independizar los procesos de cada equipo.
|
||||
- Este diseño admite varias configuraciones de arranque, donde los elementos de las dos fases pueden estar en diferentes ubicaciones.
|
||||
|
||||
Para aumentar la velocidad de descarga, se utiliza HTTP configurado por Nginx para la carga de la imagen de inicialización y el kernel. Esto reduce significativamente los retardos en la primera fase, donde se cargan aproximadamente 40 MB del Kernel y el Initrd en la memoria RAM. Una vez cargados, la conexión con el rootfs a través de Samba se establece de forma inmediata.
|
||||
|
||||
---
|
||||
|
||||
|
||||
### Endpoints del Componente `ogboot`
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue