> For the complete documentation index, see [llms.txt](https://docs.verge.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verge.io/learn-the-platform/es/modulo-5-almacenamiento/01-vsan-architecture.md).

# Arquitectura vSAN y VergeFS

## VergeFS: Servicio de almacenamiento integrado

El módulo 1 presentó los conceptos de vSAN a alto nivel. Esta página profundiza en la arquitectura interna: cómo se hash y distribuyen los bloques, cómo fluyen las lecturas y escrituras a través del sistema, y cómo funciones como la deduplicación, el cifrado y las instantáneas se implementan a nivel de bloque.

## Arquitectura a nivel de bloques

En el corazón de VergeFS hay un **motor de almacenamiento a nivel de bloques**. Cada pieza de datos escrita en el vSAN — ya sea un disco de VM, una instantánea, una imagen ISO o metadatos del sistema — se divide en **bloques de datos**. A cada bloque se le asigna un **hash de contenido SHA-1** que actúa como su identificador único en todo el sistema. SHA-1 se usa aquí para direccionamiento por contenido y distribución, no para seguridad criptográfica.

Este hash es la base de casi todas las funciones de vSAN:

* **Distribución** — El hash determina qué nodos almacenan las copias primaria y redundante del bloque
* **Deduplicación** — Los bloques idénticos producen hashes idénticos, por lo que solo se almacena una copia
* **Integridad** — El hash valida el contenido del bloque, lo que permite la detección continua de corrupción por degradación
* **Derivación de ubicación** — El hash, combinado con los mapas de dispositivos por nivel en Tier 0, deriva determinísticamente la ubicación física de cada bloque

### El mapa de hashes y Tier 0

La ubicación de los bloques en vSAN se **deriva del hash de contenido SHA-1** combinado con los mapas de dispositivos por nivel almacenados en **Nivel 0** las unidades (SSD NVMe de alta resistencia):

* Cada nivel mantiene un `0.map` (mapa de dispositivos de la copia primaria) y `1.map` (mapa de dispositivos de la copia secundaria)
* El hash SHA-1 se usa como entrada para la matemática determinista de ubicación frente a esos mapas — no existe una tabla central que registre "el bloque X vive en el nodo Y, unidad Z"
* Los recuentos de referencias se **no** almacenan de forma persistente en un mapa de hashes — se reconstruyen mediante el recorrido diferencial **Recorrido de vSAN** a medida que recorre los hashes activos
* El índice del sistema de archivos de Tier 0 y los mapas de dispositivos por nivel son lo que Tier 0 realmente contiene, junto con los metadatos de vSAN

**Tier 0 es exclusivamente un nivel de metadatos.** Almacena el índice del sistema de archivos de vSAN y los mapas de dispositivos por nivel. Es **no** una caché de rendimiento, y de hecho **no** almacena datos de carga de trabajo. Como las operaciones de metadatos de vSAN dependen de Tier 0, el rendimiento de sus unidades de Tier 0 afecta directamente la capacidad de respuesta general del sistema.

{% hint style="warning" %}
**Tier 0 es solo metadatos**

Tier 0 no **no** funciona como una caché de rendimiento o un nivel de datos calientes. Solo almacena el índice del sistema de archivos de vSAN y los mapas de dispositivos por nivel. Los datos de carga de trabajo residen en los niveles 1–5. Use siempre unidades NVMe empresariales con clasificación de 3 DWPD o equivalente para Tier 0 y mantenga al menos un 30% de espacio libre.
{% endhint %}

### Cómo funciona el mapa de hashes

El siguiente diagrama ilustra cómo fluyen los datos de la VM a través de la arquitectura a nivel de bloques de vSAN:

![Arquitectura del mapa de hashes de vSAN](/files/6a66fa0bdf5ed2c7dc9efc03a2e5fa80c807664a)

El proceso funciona de la siguiente manera:

1. Una VM escribe datos en su disco virtual
2. VergeFS divide la escritura en bloques de datos
3. A cada bloque se le asigna un hash de contenido SHA-1
4. La matemática de ubicación frente a los mapas de dispositivos por nivel (almacenados en Tier 0) selecciona una ubicación primaria y una redundante
5. El bloque se escribe tanto en un nodo primario como en un nodo redundante
6. Las actualizaciones de metadatos de Tier 0 se agrupan y se aplican de forma asíncrona

## Distribución de datos basada en hash

vSAN distribuye los bloques de datos entre todos los nodos participantes en el almacenamiento utilizando un **algoritmo de distribución basado en hash**Esto garantiza una carga de E/S equilibrada, tolerancia a fallos y una escalabilidad eficiente.

### Ruta de escritura

Cuando una VM escribe datos:

1. VergeFS divide los datos en bloques y calcula un hash de contenido SHA-1 para cada uno
2. La matemática de ubicación frente a los mapas de dispositivos por nivel determina un **nodo primario** y un **nodo redundante** — el controlador está **no** en la ruta de escritura de datos
3. Si ya existe un hash idéntico, la escritura se **deduplica** (no se escribe un nuevo bloque de datos; la deduplicación es una consecuencia natural del direccionamiento por contenido)
4. Para bloques nuevos, ambas copias se escriben **simultáneamente** a través de la red Core Fabric directamente a los nodos de destino
5. La escritura se **solo se confirma después de que ambas copias se verifican** — asegurando la durabilidad de los datos antes de que la VM reciba una señal de escritura completada
6. Las actualizaciones de metadatos en Tier 0 se **agrupan** y se aplican de forma asíncrona en lugar de serializar la ruta de datos a través de un índice central

### Ruta de lectura

Cuando una VM lee datos:

1. La ubicación del bloque se deriva de su hash de contenido y de los mapas de dispositivos por nivel
2. El sistema **prioriza la lectura desde la copia primaria**
3. Si existe una copia redundante en el **mismo nodo que la VM solicitante**, VergeFS lee la **copia local** para minimizar el tráfico de red (preferencia de lectura local)
4. Si la copia primaria es lenta o no responde, VergeFS automáticamente **conmuta a la copia redundante** — de forma transparente, sin interrupción para la VM

```mermaid
flowchart TB
    VM["Solicitud de lectura de VM"] --> LOOKUP["Derivar ubicación<br/>a partir del hash de contenido"]
    LOOKUP --> LOCAL{"¿Copia local<br/>disponible?"}
    LOCAL -->|Yes| READLOCAL["Leer copia local<br/>redundante"]
    LOCAL -->|No| PRIMARY["Leer desde el<br/>nodo primario"]
    PRIMARY --> HEALTHY{"¿El primario<br/>responde?"}
    HEALTHY -->|Yes| RETURN["Devolver datos<br/>a la VM"]
    HEALTHY -->|No| FAILOVER["Conmutar a la<br/>copia redundante"]
    READLOCAL --> RETURN
    FAILOVER --> RETURN

    style VM fill:#e3f2fd,stroke:#1565c0
    style LOOKUP fill:#fff3e0,stroke:#e65100
    style RETURN fill:#e8f5e9,stroke:#2e7d32
```

### Distribución entre nodos

Los bloques de datos se distribuyen entre **todos los nodos participantes en el almacenamiento** dentro de cada nivel. Este diseño proporciona:

* **Rendimiento equilibrado** — La carga de E/S se reparte entre todos los nodos, evitando puntos críticos
* **Tolerancia a fallos** — Ningún nodo único contiene todas las copias de ningún conjunto de datos
* **Escalado eficiente** — Añadir un nodo expande automáticamente el pool de almacenamiento y activa el reequilibrio
* **E/S paralela** — Varios nodos atienden datos simultáneamente, aumentando el rendimiento agregado

## Deduplicación global en línea

VergeOS vSAN realiza **deduplicación global en línea** que está siempre activada y no requiere ninguna configuración. Dado que cada bloque de datos se identifica por su hash de contenido, la deduplicación es una consecuencia natural de la arquitectura:

1. Cuando se escribe un bloque nuevo, se calcula su hash
2. Si ya existe un hash idéntico, el bloque es un duplicado — la deduplicación es una consecuencia natural del direccionamiento por contenido
3. Para los bloques duplicados, no se consume almacenamiento adicional — simplemente se vuelve a hacer referencia al bloque existente
4. Esto funciona **en línea** (durante la ruta de escritura), no como un trabajo en segundo plano

La deduplicación funciona **entre todas las VM, todos los niveles y todos los tipos de datos** en el sistema. Los escenarios comunes en los que la deduplicación ofrece ahorros de espacio significativos incluyen:

* Varias VM ejecutando el mismo sistema operativo (bloques compartidos del SO)
* Implementaciones de VM basadas en plantillas (imágenes base clonadas)
* Entornos de desarrollo con configuraciones similares
* Instantáneas de copia de seguridad con cambios mínimos de datos entre iteraciones

Los ratios de deduplicación son visibles en el panel de almacenamiento de VergeOS, y suelen mostrar el ahorro de capacidad efectivo en cada nivel.

{% hint style="info" %}
**Puente con VMware**

¿Viene de VMware vSAN? La deduplicación de VergeOS está siempre activada, en línea y es global en todos los tipos de nivel (NVMe, SSD, HDD) — no hay interruptor ni paso de habilitación separado.
{% endhint %}

## Compresión

VergeOS vSAN no **no** comprime los datos en reposo. A diferencia de las plataformas que aplican compresión en línea a los bloques almacenados, VergeFS almacena los datos en su forma original en el disco.

**La compresión solo se aplica durante la replicación de sincronización entre sitios** — cuando los datos se transmiten entre sitios VergeOS a través de la red. En este contexto, la compresión reduce el consumo de ancho de banda durante las transferencias WAN sin afectar al rendimiento del almacenamiento local.

Esta decisión de diseño mantiene la ruta de E/S local simple y rápida. La deduplicación (descrita arriba) proporciona el principal beneficio de eficiencia de espacio para los datos almacenados.

## Cifrado AES-256 en reposo

vSAN admite **cifrado AES-256 en reposo**, configurado durante la instalación inicial de VergeOS. Detalles clave:

| Aspecto                                  | Detalle                                                              |
| ---------------------------------------- | -------------------------------------------------------------------- |
| **Algoritmo**                            | AES-256                                                              |
| **Cuándo se configura**                  | Solo durante la instalación inicial                                  |
| **Reversibilidad**                       | No reversible después de la instalación                              |
| **Alcance**                              | Todos los datos en todos los niveles se cifran de forma transparente |
| **Opción 1 de almacenamiento de claves** | Unidades USB conectadas a los dos primeros nodos controladores       |
| **Opción 2 de almacenamiento de claves** | Entrada manual de contraseña en cada arranque del sistema            |

El cifrado es transparente para las VM y las aplicaciones: leen y escriben datos con normalidad mientras VergeFS gestiona el cifrado y el descifrado a nivel de bloques. La configuración de cifrado se aplica a todo el sistema; no puede cifrar algunos niveles y dejar otros sin cifrar.

Para verificar el estado del cifrado: vaya a **Nodos > Nodo 1 > Unidades**, haga doble clic en la primera unidad y marque la casilla **Cifrado** .

## Modelos de redundancia

vSAN mantiene varias copias de cada bloque de datos para protegerse contra fallos de hardware. La redundancia se configura a nivel **del sistema** y se aplica **por nivel** — no por VM ni por contenedor de almacenamiento.

| Característica                                               | N+1 (RF2) — Predeterminado | N+2 (RF3) |
| ------------------------------------------------------------ | -------------------------- | --------- |
| **Copias de datos**                                          | 2                          | 3         |
| **Fallos simultáneos tolerados**                             | 1 nodo                     | 2 nodos   |
| **Nodos controladores mínimos**                              | 2                          | 3         |
| **Nodos recomendados**                                       | 3                          | 5         |
| **Sobrecarga de almacenamiento** (antes de la deduplicación) | \~2x                       | \~3x      |

**N+1 (RF2)** es el valor predeterminado y se adapta a la mayoría de los entornos de producción. Mantiene dos copias de cada bloque en distintos nodos, tolerando un fallo simultáneo de un nodo.

**N+2 (RF3)** mantiene tres copias en tres o más nodos, tolerando dos fallos simultáneos. Está diseñado para cargas de trabajo de ultraalta criticidad o sitios remotos/periféricos donde el hardware de reemplazo no puede llegar rápidamente.

Un fallo solo afecta al **nivel donde se encuentran las unidades fallidas** — los demás niveles permanecen totalmente operativos. Por ejemplo, en un sistema N+2, si fallan las unidades del Nivel 1 en dos nodos y falla una unidad del Nivel 4 en un tercer nodo, el clúster permanece operativo sin pérdida de datos.

{% hint style="success" %}
**Servidor de reparación**

Para una protección adicional más allá del nivel de redundancia configurado, se puede configurar un **Servidor de reparación** para recuperar automáticamente los bloques de datos faltantes desde un destino de sincronización si los fallos superan el nivel de redundancia configurado — lo que potencialmente evita una reversión completa a una instantánea.
{% endhint %}

## Autorreparación

Cuando falla un nodo o una unidad, vSAN detecta automáticamente la falla y comienza la recuperación sin intervención manual:

```mermaid
flowchart LR
    A["Fallo de unidad o nodo<br/>detectado"] --> B["Lecturas/escrituras redirigidas<br/>a copias redundantes"]
    B --> C["Las VM continúan<br/>ejecutándose — cero tiempo de inactividad"]
    B --> D["La reconstrucción automática<br/>comienza de inmediato"]
    D --> E["Bloques faltantes<br/>se vuelven a replicar en<br/>nodos sanos"]
    E --> F["Redundancia completa<br/>restaurada"]

    style A fill:#fce4ec,stroke:#c62828
    style C fill:#e8f5e9,stroke:#2e7d32
    style F fill:#e8f5e9,stroke:#2e7d32
```

El proceso de autorreparación:

1. **Detección** — vSAN supervisa continuamente el estado de las unidades y los nodos. Los fallos se detectan automáticamente.
2. **Conmutación por error** — Las lecturas y escrituras se redirigen inmediatamente a copias redundantes. Las VM no experimentan tiempo de inactividad.
3. **Reconstrucción** — Los bloques de datos faltantes se vuelven a replicar desde las copias supervivientes a los nodos sanos restantes. Esto ocurre en segundo plano mientras las cargas de trabajo siguen ejecutándose.
4. **Restauración** — Una vez que todos los bloques se han vuelto a replicar, el nivel vuelve a su nivel de redundancia configurado.

### Integridad de los datos

Más allá de la recuperación ante fallos, vSAN realiza **detección continua de corrupción por degradación** mediante validación de hash. El hash almacenado de cada bloque se verifica periódicamente frente a su contenido. Si se detecta corrupción, el bloque se repara automáticamente a partir de una copia redundante válida.

## Instantáneas y clones eficientes en espacio

La arquitectura a nivel de bloque de vSAN permite **instantáneas eficientes en espacio** que consumen un almacenamiento adicional mínimo:

* Una instantánea registra el **estado del índice del sistema de archivos en un momento dado** — no copia bloques de datos
* Los bloques referenciados por una instantánea se conservan incluso si la VM original los elimina (recuento de referencias)
* Los clones funcionan de manera similar: hacen referencia a los mismos bloques subyacentes, y solo consumen espacio adicional cuando los datos divergen (copia en escritura)
* Las instantáneas pueden hacerse **inmutables mediante una marca opcional** con estados Desbloqueada/Bloqueada/Desbloqueando y un retraso de desbloqueo de siete días una vez bloqueada; las instantáneas predeterminadas se pueden eliminar. Bloquee las instantáneas cuando se requiera protección contra ransomware o garantías de retención.

### Eliminación y recolección de basura

Cuando se elimina una VM, una unidad o una instantánea:

1. Los hashes del archivo se eliminan del árbol de directorios de vSAN
2. La **Recorrido de vSAN** el recorrido diferencial vuelve a derivar los recuentos de referencia a partir de los hashes vivos restantes — los recuentos no se almacenan, se reconstruyen a medida que el recorrido avanza
3. Los bloques que llegan a cero referencias esperan aproximadamente **10 recorridos (\~70 segundos)** antes de ser elegibles para su reclamación, proporcionando una ventana de seguridad frente a cambios rápidos
4. El espacio físico de almacenamiento se libera de forma asíncrona a medida que el recorrido reclama esos bloques

Por eso el espacio de almacenamiento puede no disminuir inmediatamente después de una eliminación: la reclamación ocurre de forma asíncrona durante las operaciones de vSAN Walk en segundo plano.

## Puntos clave

| Concepto                    | Resumen                                                                                                                                                                      |
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **VergeFS**                 | Almacenamiento distribuido integrado: sin SAN/NAS externo, sin sobrecarga de CVM                                                                                             |
| **Arquitectura de bloques** | Todos los datos se dividen en bloques, cada uno identificado por un hash de contenido SHA-1                                                                                  |
| **Nivel 0**                 | Solo metadatos (índice del sistema de archivos + mapas de dispositivos por nivel). No es una caché. Requerido en los nodos controladores (nodos 1–2 para N+1, 1–3 para N+2). |
| **Distribución**            | Basada en hash, distribuida entre todos los nodos participantes en el almacenamiento por nivel                                                                               |
| **Deduplicación**           | En línea, siempre activada, global en todos los niveles: configuración cero                                                                                                  |
| **Compresión**              | No en reposo: solo durante la replicación de sincronización entre sitios                                                                                                     |
| **Cifrado**                 | AES-256 en reposo, configurado en la instalación, no reversible                                                                                                              |
| **Redundancia**             | N+1 (2 copias, predeterminado) o N+2 (3 copias): para todo el sistema por nivel                                                                                              |
| **Auto-reparación**         | Conmutación por error y reconstrucción automáticas ante fallos, detección continua de corrupción por degradación                                                             |
| **Instantáneas**            | Referencias hash en un momento dado, eficientes en espacio; la inmutabilidad es opcional (Desbloqueada/Bloqueada/Desbloqueando, retraso de desbloqueo de 7 días)             |

## Siguientes pasos

Ahora que comprende la arquitectura interna de vSAN, el siguiente tema cubre cómo funciona en la práctica el sistema de niveles: configuración de niveles, asignación de unidades, planificación de capacidad y escalado del almacenamiento: [**Niveles de almacenamiento**](/learn-the-platform/es/modulo-5-almacenamiento/02-storage-tiers.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verge.io/learn-the-platform/es/modulo-5-almacenamiento/01-vsan-architecture.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
