# Gestión de Discos y Particiones

## Introducción al particionado en OpenGnsys
El particionado de discos es una de las operaciones más delicadas que puede ejecutar el administrador desde la consola web de OpenGnsys. Su correcta definición es esencial para asegurar la compatibilidad con las imágenes a restaurar y garantizar que los sistemas operativos puedan arrancar adecuadamente.

La interfaz web permite definir de forma remota la tabla de particiones de uno o varios discos de los clientes registrados, usando el asistente visual de particionado. Internamente, el motor CloneEngine se encarga de aplicar esta estructura en el cliente, eliminando el contenido previo y creando las nuevas particiones con los tamaños y tipos definidos.

!!! warning "Advertencia"
    Un particionado incorrecto puede dejar inoperativo el sistema del cliente, eliminar sistemas existentes o impedir restauraciones debido a incompatibilidades de tipo o tamaño.

## Consideraciones previas
Antes de definir una tabla de particiones se recomienda tener en cuenta:

- **Tamaño del disco**: comprobar que el espacio total detectado es utilizable. Se recomienda probar primero sobre un equipo modelo.

- **Entorno (aula o grupo de ordenadores)**: mantener estructuras de particionado homogéneas facilita el mantenimiento.

- **Sistemas operativos a restaurar**: asegurar que el tamaño y tipo de partición es compatible con la imagen correspondiente.

- **Tamaño de la partición CACHE**: dimensionar correctamente teniendo en cuenta el uso previsto, prestando especial atención al tamaño de las imágenes de sistema operativo que se almacenarán.

- Tipos de partición y sistemas de archivos:  
    La interfaz permite configurar para cada partición:
    - Tipo de partición (ej. LINUX, WINDOWS, CACHE, EMPTY, EXTENDED, etc.).
    - Tipo de sistema de archivos (ej. EXT4, NTFS, CACHE, etc.).
    - Tamaño en MB o porcentaje.
    - Opción de formateo.


 Tabla resumen de compatibilidad

| Tipo de partición      | Sistemas de archivos permitidos         | Descripción                                              |
|------------------------|-----------------------------------------|----------------------------------------------------------|
| EMPTY                  | EMPTY                                   | Espacio reservado sin uso definido                       |
| CACHE                  | CACHE                                   | Usada como contenedor intermedio por OpenGnsys           |
| LINUX                  | EXT4, BTRFS, XFS, ...                   | Para sistemas GNU/Linux                                  |
| WINDOWS                | NTFS, FAT32, HFAT32, ...                | Para sistemas Windows                                    |
| LINUX-SWAP             | LINUX-SWAP                              | Área de intercambio de Linux                             |
| EXTENDED               | –                                       | Solo para BIOS, permite añadir más particiones lógicas (no implementado)|
| FREEBSD, SOLARIS, …    | Sistemas nativos correspondientes       | Para sistemas alternativos (no habituales)               |

!!! note "Nota"
    El sistema identifica partición CACHE como tal, pero internamente utiliza un sistema de archivos EXT4 con configuración específica.


## La partición CACHE
La partición CACHE es un tipo especial de partición gestionada por OpenGnsys, que ofrece varias funcionalidades esenciales para la eficiencia del sistema:

- Contenedor intermedio de imágenes:
Permite guardar imágenes de sistema operativo localmente, reduciendo el tiempo en restauraciones posteriores. También actúa como búfer en transferencias tipo Torrent.

- Contenedor auxiliar de ogLive:
Durante el arranque PXE con ogLiveAdmin, el sistema puede copiar el kernel e initrd a esta partición para reducir la dependencia del servidor y mejorar los tiempos de arranque.

!!! warning "Advertencia"
    Si la partición CACHE se formatea, se pierden las imágenes y los datos temporales de ogLive. Será necesario reiniciar desde ogLiveAdmin para regenerarlos.

## Reglas y recomendaciones

- Solo debe existir una partición CACHE por equipo.

- En particiones MSDOS debe estar en la posición 4 y ser primaria.

- En particiones GPT puede ocupar cualquier orden, pero su identificador será el cuarto.

- El tamaño mínimo recomendado es de 1.5 GB si solo se va a usar para ogLive.
Si se desea almacenar imágenes, dimensionar según el número y tamaño estimado de estas.



## Acceso al asistente de particionado
Para acceder al asistente de particionado:

- Ve al apartado Grupos desde el menú lateral.

- Selecciona una Unidad Organizativa.

- Haz clic en el botón ⋮ de cualquier cliente.

- En el menú desplegable, selecciona la opción Particionar y Formatear.


Esto abrirá el asistente en una nueva vista.

![oggui-cloneengine-particionar-acceso.png](../assets/images/screenshots/oggui-cloneengine-particionar-acceso.png)

## Estructura del formulario
El asistente está dividido en tres bloques principales:

- Clientes seleccionados
En la parte superior, se muestra el cliente (o grupo de clientes) donde se aplicará la tabla de particiones.

- Diseño de la nueva tabla de particiones
Aquí se define la estructura del disco:

- Disco disponible y su tamaño.

    - Tipo de firmware (BIOS/UEFI).

    - Tipo de tabla de particiones: detectada automáticamente (MSDOS o GPT).

    - Listado editable de particiones: tipo, sistema de archivos, tamaño (MB o %), y opción de formateo.

    - Distribución gráfica del disco:
    A la derecha, se muestra un gráfico circular con el espacio total, libre y utilizado según la configuración actual.


![oggui-cloneengine-particionar.png](../assets/images/screenshots/oggui-cloneengine-particionar.png)

## Diseño de la tabla de particiones
A continuación, se detallan los pasos para diseñar una tabla de particiones:

1. Seleccionar equipos

    En caso de que has seleccionado varios equipos en la ventana previa al seleccionar Particionar estos equipos aparecerán en el desplegable superior. Pulsando un equipo podrás seleccionar o deseleccionar en caso de que no quieras aplicar el comando de particionado sobre un equipo en concreto. El checkbox de **Modelo** indica que ese ordenador seleccionado será usado como modelo de particionado y cargará su tabla de particiones a la vista de forma dinámica. Puedes seleccionar un ordenador como Modelo y deseleccionarlo en caso de que no quieras volver a particionarlo pero quieras aplicar su configuración de particionado al resto de las máquina.

![oggui-cloneengine-particionar.png](../assets/images/screenshots/oggui-cloneengine-particionar.png)

1. Seleccionar disco

    En el desplegable superior izquierdo, elige el disco a particionar (ejemplo: Disco 1 (80.00 GB)).

2. Tipo de firmware y tabla de particiones

    - Firmware: indica si el equipo está en modo BIOS o UEFI.

    - Tabla de particiones: puede ser MSDOS o GPT, y se asigna automáticamente según el firmware.

3. Añadir particiones

- Pulsa el botón Añadir partición si estás usando tabla GPT.

4. Para cada partición:

    - Define el tipo de partición (ej. LINUX, CACHE, WINDOWS, etc.).

    - Selecciona el sistema de ficheros (ej. EXT4, NTFS, etc.).

    - Introduce el tamaño, en MB o en porcentaje.

    - Formateo: si deseas formatear la partición tras su creación.

5. Gráfico de uso del disco

    - Asegúrate de que el espacio libre no sea negativo.

    - Dejar margen libre (recomendado ≥ 1 GB) en discos grandes para evitar fallos de precisión durante el proceso.

![oggui-cloneengine-particionar-estructura.png](../assets/images/screenshots/oggui-cloneengine-particionar-estructura.png)

!!! note "Nota"
    En sistemas con tabla de particiones MSDOS, el número máximo de particiones primarias es cuatro. En GPT no hay este límite, pero sí debe respetarse la identificación de la partición CACHE como la cuarta.



Opciones de ejecución
Una vez definida la estructura del disco, puedes:

- Ejecutar la orden directamente sobre el equipo.

- Generar instrucciones para aplicarlas más tarde (de forma programada).

- Acceder a opciones avanzadas de programación si se desea incluir en una cola de acciones.

En el caso de que se generen instrucciones, estas se muestran en un bloque editable que puede ser revisado antes de su ejecución.


![oggui-cloneengine-particionar-generar-instruccion.png](../assets/images/screenshots/oggui-cloneengine-particionar-generar-instruccion.png)