# VMware VMFS

VMware VMFS (Sistema de archivos de máquina virtual) es el sistema de archivos en clúster de VMware, Inc. utilizado por la suite de virtualización de servidores insignia de la empresa, vSphere. Fue desarrollado para almacenar imágenes de disco de máquinas virtuales, incluidas instantáneas. Múltiples servidores pueden leer/escribir el mismo sistema de archivos simultáneamente mientras los archivos de máquinas virtuales individuales están bloqueados. Los volúmenes de VMFS se pueden "crecer" lógicamente (aumentar de tamaño de forma no destructiva) mediante la expansión de varios volúmenes de VMFS juntos.

## Historial de versiones

Hay seis (más una para vSAN) versiones de VMFS, correspondientes a las versiones de productos de ESX/ESXi Server.
* VMFS0 puede ser informado por ESX Server v6.5 como una versión de VMFS cuando un almacén de datos se desmonta de un clúster/host.
* VMFS1 fue utilizado por ESX Server v1.x. No presentaba las propiedades del sistema de archivos del clúster y solo lo usaba un único servidor a la vez. VMFS1 es un sistema de archivos plano sin estructura de directorios.
* VMFS2 es utilizado por ESX Server v2.x y (en una capacidad limitada) v3.x. VMFS2 es un sistema de archivos plano sin estructura de directorios.
* VMFS3 es utilizado por ESX Server v3.x y vSphere 4.x. En particular, introduce la estructura de directorios en el sistema de archivos.
* VMFS5 es utilizado por vSphere 5.x. En particular, aumenta el límite de extensión a 64 TB y el límite de tamaño de archivo a 62 TB, aunque las versiones de vSphere anteriores a la 5.5 están limitadas a VMDK de menos de 2 TB.
* VMFS6 es utilizado por vSphere 6.5. Admite unidades de modo de emulación 512 (512e).
* VMFS-L es el sistema de archivos subyacente para VSAN-1.0. Los objetos VSAN de nivel hoja residen directamente en volúmenes VMFS-L que se componen del almacenamiento adjunto directo (DAS) del lado del servidor. El formato del sistema de archivos está optimizado para DAS. La optimización incluye almacenamiento en caché agresivo para el caso de uso de DAS, un administrador de bloqueo de bloqueo simplificado y formatos más rápidos.

## Características

* Permite el acceso de varios servidores ESXi al mismo tiempo mediante la implementación del bloqueo por archivo. Las reservas de SCSI solo se implementan cuando se actualizan los metadatos del número de unidad lógica (LUN) (por ejemplo, cambio de nombre de archivo, cambio de tamaño de archivo, etc. )
* Agrega o elimina un servidor ESXi de un volumen VMware VMFS sin interrumpir otros servidores ESXi.
* Con ESX/ESXi4, los volúmenes de VMFS también se pueden expandir mediante la expansión de LUN.
* Optimice la E/S de la máquina virtual con volúmenes ajustables, discos, archivos y tamaños de bloques.
* Recupera máquinas virtuales de manera más rápida y confiable en caso de que falle el servidor con Distributed Journaling.
* Si bien estaba presente en versiones anteriores, se agregó la desasignación automática a VMFS 6, lo que permite solicitudes automáticas de recuperación de espacio que anteriormente se accionaban manualmente.

## Limitaciones

* Se puede compartir con hasta 64 servidores ESXi.
* El tamaño máximo del sistema de archivos es de 50 TB a partir de VMFS3 y de 62 TB a partir de VMFS5.
* Tamaño máximo de LUN de 2 TB a partir de VMFS3 y 64 TB a partir de VMFS5.
* En VMFS3 y VMFS5 anteriores a vSphere 5.1, la cantidad máxima de hosts que pueden compartir un archivo de solo lectura es 8. Esto afecta la escalabilidad de los clones vinculados que comparten la misma imagen base. En vSphere 5.1, este límite aumenta a 32 con la introducción de un nuevo mecanismo de bloqueo.
* VMFS3 limita los archivos a 262.144 (2$^{18}$) bloques, lo que se traduce en 256 GB para tamaños de bloque de 1 MB (el valor predeterminado) hasta 2 TB para tamaños de bloque de 8 MB.
* VMFS5 usa bloques de 1 MB (con subasignación de bloques para archivos pequeños) y tiene un límite de tamaño de archivo de 62 TB, aunque el tamaño de VMDK está restringido a 2 TB - 512 B en versiones de ESXi anteriores a 5.5 debido a una limitación en la versión de SCSI emulada.
* También hay un límite de aproximadamente 30 720 archivos (usando MBR) en un solo almacén de datos VMFS3. Esto se elevó a 130 690 archivos (usando GPT) en VMFS5

## Implementaciones de código abierto
### Herramienta de línea de comandos fluidOps

Fluid Operations AG desarrolla y mantiene un controlador VMFS de código abierto en Java que permite el acceso de solo lectura a archivos y carpetas en particiones formateadas con Virtual Machine File System (VMFS). Permite funciones como copias de seguridad descargadas de máquinas virtuales alojadas en hosts VMware ESXi hasta VMFSv3.

### glandium VFS FUSE Mount

vmfs-tools admite más funciones de VMFS y montajes de VMFS de solo lectura a través del VFS estándar de Linux y el marco FUSE. Desarrollado por Christophe Fillot y Mike Hommey y disponible como descarga de código fuente en la página o en los paquetes Debian vmfs-tools y Ubuntu vmfs-tools .