NFS frente a iSCSI para acceder a los datos de las máquinas virtuales

NFS frente a iSCSI: ¿qué protocolo deberías elegir para almacenar los archivos de las máquinas virtuales de VMware? Esta pregunta suele surgir cuando es necesario configurar un almacenamiento compartido para almacenar máquinas virtuales (VM) que deben migrarse entre hosts ESXi de VMware, para utilizar funciones de agrupación, y cuando no hay ranuras libres para conectar discos físicos al servidor.

Las organizaciones que instalan VMware vSphere en un gran centro de datos prefieren utilizar Fibre Channel (FC) o Fibre Channel sobre Ethernet (FCoE), que resultan costosos. Sin embargo, NFS e iSCSI resultan atractivos para los centros de datos pequeños y medianos que utilizan una infraestructura de VMware vSphere, ya que el hardware necesario para configurar los recursos compartidos de archivos con estos protocolos es más asequible. En esta entrada del blog se comparan NFS e iSCSI, centrándose en su uso en una infraestructura virtual de VMware vSphere.

NAKIVO para backup de VMware vSphere

NAKIVO para backup de VMware vSphere

Protección completa de los datos para máquinas virtuales de VMware vSphere y opciones de recuperación instantánea. Destinos de copia de seguridad seguros, tanto locales como externos y en la nube. Funciones antirransomware.

¿Qué es NFS?

El Sistema de Archivos en Red (NFS) es un protocolo de red que permite compartir archivos almacenados en un disco o en una matriz de discos de un servidor con otros ordenadores de la red. NFS fue desarrollado por SUN Microsystems y su primera versión se presentó en 1984. En el momento de redactar esta entrada, la última implementación de NFS es la versión 4.1. La versión 4.2 se encuentra en fase de desarrollo y aún no se ha presentado para su uso en producción.

Con cada nueva versión de NFS se han añadido nuevas funciones y mejoras, incluidas funciones útiles para el almacenamiento en entornos de virtualización. NFS v4.1 proporciona un mecanismo que permite a varios usuarios compartir el mismo archivo y garantiza la coherencia de los datos (acceso paralelo). Admite múltiples subprocesos para las operaciones.

NFS es el protocolo que opera en la capa de aplicación del modelo de interconexión de sistemas abiertos (OSI). Los clientes acceden a los archivos enviando solicitudes de llamada a procedimiento remoto (RPC) a un servidor NFS para realizar operaciones con archivos y directorios en dicho servidor.

Las solicitudes RPC se transmiten al protocolo XDR (eXternal Data Representation), que opera en la capa de presentación y es el estándar para la abstracción de datos entre plataformas. XDR describe la forma unificada y canónica de representación de datos que no depende de la arquitectura del sistema informático. Cuando un cliente transmite datos, el cliente RPC transforma los datos locales a una forma canónica, y el servidor realiza la operación inversa.

Una vez completada la unificación de datos, el servicio RPC del lado del cliente garantiza la solicitud de procedimientos remotos y su ejecución en el servidor (proporcionando las funciones de la capa de sesión). En esta fase, se finaliza la explicación de las capas específicas de NFS. A continuación, los datos se encapsulan en unidades de datos TCP o UDP estándar y se transfieren a las capas subyacentes del modelo OSI.

Capas OSI Protocolos
Aplicación NFS
Presentación XDR
Sesión RPC
Transporte TCP
Red IP
Enlace de datos Ethernet
Físico

Recursos compartidos NFS . Para implementar el almacenamiento compartido NFS se pueden utilizar adaptadores de red estándar con interfaz Ethernet y puerto RJ-45. Las versiones más antiguas de NFS funcionan a través de UDP en la red IP, mientras que las versiones más recientes (NFS v2 y v3) pueden funcionar tanto a través de TCP como de UDP. NFS 4.0 y 4.1 utilizan TCP sobre IPv4 como estándar. NFS v4 funciona a través de cortafuegos y por Internet.

VMware vSphere ESXi 6.0 y las versiones superiores de ESXi son compatibles con NFS 3.0 y NFS 4.1. ESXi contiene un cliente NFS integrado que se conecta a un servidor NFS a través de TCP/IP. Se utilizan dos clientes NFS diferentes para conectarse mediante las versiones 3.0 y 4.1 de NFS. Se puede seleccionar qué versión de NFS se va a utilizar al crear un nuevo almacén de datos NFS. VMware no admite las siguientes funciones cuando se utiliza NFS v.4.1:

  • Almacenamiento DRS
  • Control de E/S de almacenamiento
  • Site Recovery Manager

El uso de almacenes de datos NFS resulta práctico a la hora de almacenar plantillas de máquinas virtuales e imágenes ISO para instalar sistemas operativos en máquinas virtuales.

¿Qué es iSCSI?

La interfaz iSCSI (Internet Small Computer Interface) es un protocolo de red que garantiza la interacción entre objetos (iniciadores y destinos) en la red para compartir datos. Un iniciador iSCSI se configura en el lado del cliente y el destino iSCSI se configura en el lado del servidor.

Los iniciadores iSCSI pueden ser de software o de hardware. Los de hardware ayudan a descargar la carga de la unidad central de procesamiento (CPU o procesador) en el equipo cliente y requieren la instalación de un adaptador de bus de host (HBA) de hardware. Un HBA iSCSI de hardware es un controlador de interfaz de red (NIC) con una interfaz Ethernet. En esta comparación entre iSCSI y NFS, tengo en cuenta el uso de iniciadores iSCSI basados en software. El iSCSI se introdujo en 2003 y se describe en el RFC 3720.

El iSCSI es un protocolo de la capa de sesión (funciona en la capa 5 del modelo OSI) que opera sobre la pila TCP/IP. Los datos se comparten a nivel de bloque , a diferencia de NFS, pero de forma similar a FC. Este es un punto importante en la comparación entre iSCSI y NFS. Los comandos SCSI se encapsulan en unidades de datos TCP/IP y se transfieren mediante redes Ethernet estándar. Como resultado, un ordenador puede enviar comandos SCSI a dispositivos de almacenamiento en bloque ubicados en otro ordenador a través de una red.

Capas Descripción
Aplicación Sistema de archivos, base de datos, etc.
SCSI Datos SCSI, comandos SCSI, estados SCSI
iSCSI Servicios del protocolo iSCSI, nombre calificado iSCSI (IQN), servicio de nombres de almacenamiento de Internet (iSNS), autenticación CHAP, etc.
TCP Protocolo con un mecanismo de control de errores (suele funcionar en una pila TCP/IP)
IP Un protocolo para la comunicación en red y el enrutamiento
Ethernet Conmutadores, cables, puertos (conectores), protocolos

Nota: Hay un dato interesante sobre cómo se puede utilizar iSCSI para Recuperación de máquinas virtuales de VMware. Cuando se utiliza Instant VM Recovery en NAKIVO Backup & Replication, por ejemplo, para ejecutar una máquina virtual en un host ESXi directamente desde una copia de seguridad, la máquina virtual se crea en el host ESXi seleccionado y los discos virtuales se montan en la máquina virtual utilizando el protocolo iSCSI como discos RDM en un modo de compatibilidad virtual.

VMware NFS frente a iSCSI: diferencias clave

Tanto NFS como iSCSI pueden funcionar en redes Ethernet de 1 gigabit y 10 gigabits (1GbE y 10GbE) instaladas mediante cables de cobre. Cuanto mayor sea la velocidad de la red, mejor. Más información en topologías de red. Al utilizar un almacén de datos compartido en VMware vSphere para almacenar archivos de máquinas virtuales, ambas implementaciones (NFS e iSCSI) pueden utilizarse para la migración en vivo de máquinas virtuales, el equilibrio de carga y la migración de máquinas virtuales entre almacenes de datos. Ambos protocolos de uso compartido tienen una sobrecarga significativa causada por el mecanismo de encapsulación de datos en múltiples capas sobre redes TCP/IP.

NFS es compatible con los dispositivos NAS de la mayoría de los proveedores, por ejemplo, Synology y QNAP. Sin embargo, hoy en día no resulta difícil encontrar un NAS que admita iSCSI.

Repasemos esta comparación entre NFS e iSCSI de VMware con más detalles.

Equilibrio de carga

Cuando una ruta de red falla o se sobrecarga, el multipathing permite equilibrar la carga entre un servidor y el almacenamiento si existen varias rutas.

NFS 4.1 admite multipathing si el trunking de sesión está disponible en los servidores (pero no el trunking de ID de cliente). Como resultado, se puede acceder a un único volumen NFS desde varias direcciones IP. Si se utiliza NFS v3, se debe emplear el método «round-robin» de DNS para el equilibrio de carga de red.

En VMware vSphere, el multipathing iSCSI funciona a nivel del adaptador de red VMkernel. Para el equilibrio de carga iSCSI en vSphere, se puede utilizar el enlace de puertos.

Almacenamiento en caché

Cuando se utiliza NFS, el sistema de archivos con caché se encuentra en un servidor NFS y el equipo cliente debe comprobar los metadatos en el servidor NFS de forma constante. NFS v3 y v4 admiten la escritura asíncrona de datos, pero las actualizaciones de metadatos son síncronas.

Al utilizar iSCSI, el dispositivo cliente crea un sistema de archivos después de acceder al almacenamiento compartido a nivel de bloque (como en el caso de VMware vSphere, donde un host ESXi de VMware crea el sistema de archivos VMFS en un LUN iSCSI). El sistema de archivos define una política de almacenamiento en caché para el almacenamiento compartido iSCSI, y la caché del sistema de archivos se encuentra en el lado del cliente. Por ejemplo, si se utiliza iSCSI como protocolo de uso compartido y ext3 como sistema de archivos, se dispone de la caché de reescritura completa para las actualizaciones de datos y metadatos.

Los sistemas de archivos más modernos utilizan la actualización asíncrona de metadatos y el registro en diario basado en el registro (log-based journaling) para la recuperación de datos. En general, la actualización asíncrona de datos (utilizada en iSCSI) es menos fiable en términos de persistencia de datos y metadatos en comparación con la actualización síncrona, como la utilizada en NFS.

Fiabilidad

NFS . Se puede utilizar la agrupación de tarjetas de red (NIC teaming) para protegerse contra fallos de red. Si falla una tarjeta de red, otra puede seguir funcionando.

iSCSI . La Arquitectura de Almacenamiento Enchufable (PSA) de VMware utiliza el plugin «Storage Array Type» para la implementación de la conmutación por recuperación cuando se trabaja con matrices iSCSI. El enlace iSCSI requiere asignar múltiples destinos iSCSI en diferentes subredes al iniciador iSCSI.

Dado que tanto iSCSI como NFS utilizan TCP para la encapsulación, la entrega de datos se comprueba a nivel de red.

El sistema de archivos VMFS en el almacenamiento iSCSI puede resultar frágil si se almacenan con aprovisionamiento ligero discos virtuales para máquinas virtuales. Un corte de corriente puede hacer que un volumen resulte irrecuperable. El comportamiento de los almacenes de datos NFS en tales situaciones es ligeramente más fiable. Puede mitigar estos problemas si realiza regularmente Backups de VMware.

Seguridad

El tráfico iSCSI no suele estar cifrado, pero esto no significa que no se pueda proteger. Se admite el uso de nombre y contraseña para la autenticación en recursos compartidos iSCSI. El Protocolo de Autenticación por Intercambio de Desafíos (CHAP) permite que el servidor y el cliente se aseguren de que confían el uno en el otro.

NFS utiliza autenticación basada en el host. La configuración predeterminada de NFS no ofrece cifrado (sys=system), pero cuando se utiliza NFSv4 con Kerberos habilitado (sec=krb5p), la conexión es segura. En la configuración del servidor NFS, hay que definir la dirección IP del host al que se le permite acceder al recurso compartido NFS. También puedes definir varios hosts o toda la subred. Por ejemplo, el conocido protocolo SMB de intercambio de archivos se basa en la autenticación por usuario.

La práctica recomendada para utilizar almacenamiento iSCSI y NFS compartido en VMware vSphere es configurar una VLAN dedicada o utilizar una red física independiente (privada). Este enfoque te permite aislar el tráfico de almacenamiento del resto de tipos de tráfico. NFS v3 no cuenta con funciones de seguridad similares a las de NFS v4.1. Un servidor ESXi monta un recurso compartido NFS con acceso de root (cuando no se utiliza Kerberos). Por lo tanto, tenlo en cuenta a la hora de realizar una configuración segura. Lee también sobre VLAN y VXLAN.

NFS v.4.1 admite la autenticación Kerberos con mecanismos criptográficos, además del Estándar de Cifrado de Datos (DES). Los algoritmos criptográficos de Kerberos impiden que usuarios no autorizados accedan al tráfico NFS. ESXi es compatible con las implementaciones krb5 y krb5i de Kerberos. ESXi 7.0 admite el cifrado Kerberos de NFS 4.1 y el mecanismo de seguridad AUTH_SYS (pero no simultáneamente).

VMware NFS frente a iSCSI: asignación de dispositivos sin procesar (Raw Device Mapping)

Cuando se utiliza iSCSI como almacenamiento compartido, se puede configurar la asignación de dispositivos sin procesar para una máquina virtual. El mapeo de dispositivos sin procesar (RDM) es una función que permite conectar directamente todo el disco físico o el LUN de iSCSI a una máquina virtual como un dispositivo (en lugar de conectar un disco virtual en la configuración de la máquina virtual). El enfoque basado en RDM difiere del enfoque tradicional, en el que se crea un almacén de datos en un LUN (número de unidad lógica), se crea el sistema de archivos VMFS y se almacenan los discos virtuales utilizados por las máquinas virtuales en ese almacén de datos. El RDM es posible cuando se utiliza iSCSI, ya que un recurso compartido iSCSI funciona a nivel de bloque, y una máquina virtual puede formatear un disco RDM de bloques conectado con un sistema de archivos personalizado utilizado por un sistema operativo invitado instalado en la máquina virtual.

En cuanto a NFS, no se admite el uso de un recurso compartido NFS para conectarlo como disco RDM, ya que los recursos compartidos NFS funcionan a nivel de archivo, y el RDM requiere que se conecten dispositivos de bloque a las máquinas virtuales. Con los recursos compartidos NFS solo se pueden crear almacenes de datos NFS y almacenar archivos de disco virtual VMDK en dichos almacenes. Se puede montar un recurso compartido NFS y un recurso compartido iSCSI a nivel del sistema operativo invitado si este dispone de un cliente NFS o un iniciador iSCSI. Por lo tanto, en la categoría de asignación de dispositivos sin formato de la comparación entre iSCSI y NFS de VMware, el ganador es iSCSI.

Rendimiento de iSCSI frente a NFS

En una implementación de iSCSI por software, el rendimiento es ligeramente superior, pero la carga de la CPU en el host cliente también es mayor. iSCSI también supone una mayor carga para la red. iSCSI genera más tráfico y carga de red, mientras que el uso de NFS resulta más fluido y predecible. Cuando se realizan un gran número de operaciones de escritura, es posible que se observe una disminución del rendimiento en recursos compartidos NFS.

Al utilizar NFS en vSphere, es recomendable emplear NFS compatible con la API vStorage para la integración de matrices (VAAI) en el lado del almacenamiento. VAAI permite crear discos virtuales con aprovisionamiento completo en almacenes de datos NFS. Por defecto, en los almacenes de datos NFS se crean discos con aprovisionamiento «thin». Tanto NFS como iSCSI admiten tramas «jumbo» para mejorar el rendimiento de la red.

Al finalizar esta comparación de velocidad entre iSCSI y NFS, cabe mencionar que el rendimiento también depende del proveedor de la matriz de almacenamiento.

Acceso simultáneo

iSCSI no admite el acceso simultáneo o paralelo a los datos de un dispositivo de bloques. Los datos deben ser recursos compartidos entre dos saltos. Sin embargo, el acceso paralelo sí está permitido a nivel de un sistema de archivos que admita dicho acceso, como, por ejemplo, VMFS o GFS. Al utilizar recursos compartidos iSCSI en VMware vSphere, el acceso simultáneo a los recursos compartidos queda garantizado a nivel de VMFS.

NFS admite el acceso simultáneo a archivos compartidos mediante un mecanismo de bloqueo y un mecanismo de consistencia «close-to-open» para evitar conflictos y preservar la consistencia de los datos. NFS v3 y NFS v4.1 utilizan mecanismos diferentes. NFS v3 puede utilizar el protocolo Network Lock Manager (NLM), mientras que NFS v4.1 utiliza el bloqueo especificado por el protocolo nativo. Si se utiliza NFS v3 en VMware ESXi para acceder a recursos compartidos de archivos, ESXi no utiliza el protocolo NLM, ya que VMware proporciona su propio protocolo de bloqueo en este caso. Los archivos de bloqueo con los nombres . lck-file_id se crean en un recurso compartido de archivos cuando se utilizan recursos compartidos NFS v3 en VMware vSphere.

NFS v4.1 utiliza reservas para bloquear archivos y permitir el acceso simultáneo. Si se crea un recurso compartido de archivos NFS, todos los clientes deben utilizar la misma versión del protocolo NFS (por ejemplo, todos los hosts ESXi se conectan al recurso compartido a través de NFS v.4.1). Si dos clientes incompatibles utilizan versiones diferentes de NFS para acceder a archivos en un servidor NFS, puede producirse un comportamiento inconsistente y la corrupción de datos.

Dificultad de configuración

Al utilizar NFS, resulta más sencillo configurar un servidor y un cliente. Utilizar iSCSI para configurar un almacenamiento compartido es más complicado. Es necesario configurar los IQN para el almacenamiento y los hosts; realizar la configuración del servicio iSCSI, los LUN y el enmascaramiento; y configurar varias VLAN por motivos de seguridad (aislando los segmentos de red utilizados para la comunicación iSCSI con el fin de proporcionar un mayor nivel de seguridad). Infórmate sobre Volúmenes virtuales de VMware que se puede utilizar para almacenar datos de máquinas virtuales.

NFS frente a iSCSI en VMware vSphere: tabla resumen

Destacaremos las principales funciones de cada protocolo de recurso compartido de datos en esta comparación entre iSCSI y NFS en VMware, en la tabla resumen.

iSCSI NFS
Compartición de datos A nivel de bloque A nivel de archivo
Asignación de dispositivos sin procesar para máquinas virtuales No
Dificultad de configuración Media Fácil
Arranque desde SAN No
Comprobación de errores
Características de seguridad CHAP Kerberos
Storage vMotion
Storage DRS

Conclusión

Ambos protocolos de compartición están lo suficientemente maduros como para utilizarse en VMware vSphere. La principal diferencia entre iSCSI y NFS es que iSCSI comparte datos a nivel de bloque, mientras que NFS lo hace a nivel de archivo. El rendimiento es prácticamente el mismo, pero, en algunas situaciones, iSCSI puede ofrecer mejores resultados. Los discos RDM para máquinas virtuales se pueden utilizar con iSCSI, pero no con NFS.

Ambos protocolos de uso compartido en red son fiables. Sin embargo, sigue siendo necesario utilizar una solución de protección de datos de terceros para evitar la pérdida de datos y el tiempo de inactividad. Evita los cortes de corriente y otros fallos de hardware para prevenir la pérdida de datos en tu almacenamiento compartido. Utiliza sistemas de alimentación ininterrumpida (SAI) y realiza backups periódicos.

Prueba NAKIVO Backup & Replication

Prueba NAKIVO Backup & Replication

Solicita una versión de prueba gratuita para descubrir todas las funciones de protección de datos de la solución. 15 días gratis. Sin limitaciones de funciones ni de capacidad. No es necesario facilitar un número de tarjeta de crédito.

Artículos recomendados