NFS vs iSCSI para acceder a datos de máquinas virtuales

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

Las organizaciones que implantan VMware vSphere en un gran centro de datos prefieren utilizar canal de fibra (FC) o canal de fibra sobre Ethernet (FCoE), que son costosos. Sin embargo, NFS e iSCSI resultan atractivos para los centros de datos pequeños y medianos utilizados para la infraestructura VMware vSphere, ya que el hardware necesario para configurar el recurso compartido de archivos con estos protocolos de compartición es más asequible. Esta entrada de blog compara NFS vs iSCSI con un enfoque en su uso en una infraestructura virtual VMware vSphere.

NAKIVO for VMware vSphere Backup

NAKIVO for VMware vSphere Backup

Complete data protection for VMware vSphere VMs and instant recovery options. Secure backup targets onsite, offsite and in the cloud. Anti-ransomware features.

¿Qué es NFS?

Network File System (NFS) es un protocolo de red que permite compartir archivos almacenados en un disco o una matriz de discos de un servidor con otros ordenadores de la red. NFS fue desarrollado por SUN Microsystems y la primera versión se presentó en 1984. En el momento de escribir este post, la última implementación de NFS es la versión 4.1. La versión 4.2 está en desarrollo y aún no se ha presentado para su uso en producción.

Se añadieron nuevas funciones y mejoras con cada nueva versión de NFS, incluidas funciones útiles para el almacenamiento de virtualización. NFS v4.1 ofrece un mecanismo que permite a varios usuarios compartir el mismo archivo y garantizar la coherencia de los datos (acceso paralelo). Se admiten varios subprocesos para las operaciones.

NFS es el protocolo que opera en la capa de aplicación del modelo Open Systems Interconnect (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 el servidor NFS.

Las peticiones RPC se transmiten al protocolo XDR (eXternal Data Representation), que funciona 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 en 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 funciones de la capa Sesión). En este punto, la explicación de las capas específicas de NFS ha terminado. 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 EPR
Transporte TCP
Red IP
Enlace de datos Ethernet
Físico

NFS comparte datos a nivel de archivo. Para implementar el almacenamiento compartido NFS pueden utilizarse adaptadores de red estándar con interfaz Ethernet y puerto RJ-45.

Las versiones más antiguas de NFS funcionan sobre UDP a través de la red IP, y las versiones más recientes (NFS v2 y v3) pueden funcionar sobre TCP y UDP. NFS 4.0 y 4.1 utilizan TCP sobre IPv4 como estándar. NFS v4 funciona a través de cortafuegos y de Internet.

VMware vSphere ESXi 6.0 y 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 a través de las versiones 3.0 y 4.1 de NFS. Puede seleccionar qué versión NFS utilizar al crear un nuevo almacén de datos NFS. VMware no es compatible con las siguientes funciones cuando se utiliza NFS v.4.1:

  • DRS de almacenamiento
  • Control de E/S de almacenamiento
  • Administrador de la función Site Recovery

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?

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

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

iSCSI es el protocolo de 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 utilizando redes Ethernet estándar. Como resultado, un ordenador puede enviar comandos SCSI a dispositivos de bloques de almacenamiento ubicados en otro ordenador mediante el uso de una red.

Capas Descripción
Aplicación Sistema de archivos, base de datos, etc.
SCSI Datos SCSI, comandos SCSI, estados SCSI
iSCSI Servicios de protocolo iSCSI, iSCSI Qualified Name (IQN), Internet Storage Name Service (iSNS), autenticación CHAP, etc.
TCP Un protocolo con un mecanismo de control de errores (normalmente funciona en una pila TCP/IP)
IP Protocolo de comunicación y encaminamiento en red
Ethernet Conmutadores, cables, puertos (conectores), protocolos

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

VMware NFS vs iSCSI – Diferencias clave

Tanto NFS como iSCSI pueden funcionar en redes Ethernet de 1 y 10 gigabits (1GbE y 10GbE) desplegadas mediante cables de cobre. Una mayor velocidad de red es mejor. Más información sobre topologías de red. Cuando se utiliza un almacén de datos compartido en VMware vSphere para almacenar archivos de máquinas virtuales, ambas implementaciones (NFS e iSCSI) se pueden utilizar 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 compartición tienen una sobrecarga significativa causada por el mecanismo de encapsulación de datos multicapa en redes TCP/IP.

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

Repasemos esta comparación VMware NFS vs iSCSI con más detalle.

Equilibrio de la carga

Cuando una ruta de red falla o está sobrecargada, el multipathing ofrece la posibilidad de equilibrar la carga entre un servidor y el almacenamiento si existen varias rutas.

NFS 4.1 admite multipathing si el trunking de sesiones está disponible en los servidores (pero no el trunking de ID de cliente). Como resultado, puedes acceder a un único volumen NFS desde múltiples direcciones IP. Si utiliza NFS v3, utilice DNS round-robin para equilibrar la carga de la red.

En VMware vSphere, iSCSI multipathing funciona a nivel de un adaptador de red VMkernel. Para el equilibrio de carga iSCSI en vSphere, puede utilizar la vinculación de puertos.

Almacenamiento en caché

Cuando se utiliza NFS, un sistema de archivos con caché de sistema de archivos se encuentra en un servidor NFS y una máquina cliente debe comprobar los metadatos en el servidor NFS de forma coherente. Las escrituras de datos asíncronas son compatibles con NFS v3 y v4, pero las actualizaciones de metadatos son síncronas.

Cuando se utiliza iSCSI, el dispositivo cliente crea un sistema de archivos después de tener acceso al almacenamiento compartido a nivel de bloque (como en el caso de VMware vSphere, un host ESXi crea el sistema de archivos VMFS en iSCSI LUN). Un 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 utiliza iSCSI como protocolo de compartición y ext3 como sistema de archivos, dispondrá de la caché completa de escritura en retroceso para las actualizaciones de datos y metadatos.

Los sistemas de archivos más modernos utilizan la actualización asíncrona de metadatos y para la recuperación de datos se emplea el registro en diario. 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. El NIC teaming puede utilizarse para protegerse contra fallos de red. Si falla una NIC, otra NIC puede seguir funcionando.

iSCSI. VMware Pluggable Storage Architecture (PSA) utiliza el plugin Storage Array Type para la implementación de conmutación por recuperación cuando se trabaja con matrices iSCSI. La vinculación iSCSI requiere la asignación de múltiples objetivos 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.

VMFS en el almacenamiento iSCSI puede ser frágil si almacena discos virtuales thin provisioned para VMs. Un fallo de alimentación puede hacer irrecuperable un volumen. El comportamiento de los almacenes de datos NFS en estas situaciones es ligeramente más fiable. Puede mitigar estos problemas si hace backups de VMware con regularidad.

Seguridad

El tráfico iSCSI no está cifrado en general, pero esto no significa que no se pueda proteger el tráfico iSCSI. El uso de un nombre y una contraseña es compatible con la autenticación para los recursos compartidos iSCSI. El protocolo de autenticación CHAP (Challenge Handshake Authentication Protocol) permite al servidor y al cliente asegurarse de que confían el uno en el otro.

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

Configurar una VLAN dedicada o utilizar una red física separada (privada) es la práctica recomendada para utilizar almacenamiento iSCSI y NFS compartido en VMware vSphere. Este enfoque permite aislar el tráfico de almacenamiento de otros tipos de tráfico. NFS v3 no dispone de funciones de seguridad similares a las de NFS v4.1. Un servidor ESXi monta un recurso compartido NFS con acceso root (cuando no se utiliza Kerberos). Así que tenlo en cuenta a la hora de realizar una configuración segura. Lea también sobre VLAN y VXLAN.

NFS v.4.1 es compatible con la autenticación Kerberos con mecanismos de cifrado 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 es compatible con el cifrado Kerberos NFS 4.1 y el mecanismo de seguridad AUTH_SYS (pero no simultáneamente).

VMware NFS vs iSCSI – Asignación de dispositivos sin procesar

Al utilizar iSCSI como almacenamiento compartido, puede configurar la asignación de dispositivos sin procesar para una máquina virtual. Raw Device Mapping (RDM) es una función que permite adjuntar todo el disco físico o iSCSI LUN a una VM como dispositivo directamente (en lugar de adjuntar un disco virtual en la configuración de la VM). El enfoque basado en RDM difiere del enfoque tradicional cuando se crea un almacén de datos en un LUN (Logical Unit Number), 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. RDM es posible cuando se utiliza iSCSI porque un recurso compartido iSCSI funciona a nivel de bloque, y una VM puede formatear un disco RDM de bloque conectado con un sistema de archivos personalizado utilizado por un sistema operativo invitado instalado en la VM.

En cuanto a NFS, el uso de un recurso compartido NFS para adjuntarlo como disco RDM no es compatible porque los recursos compartidos NFS funcionan a nivel de archivo, y RDM requiere dispositivos de bloque para adjuntarlos a las máquinas virtuales. Con los recursos compartidos NFS sólo puede crear almacenes de datos NFS y almacenar archivos de disco virtual VMDK en los almacenes de datos. Puede montar un recurso compartido NFS y un recurso compartido iSCSI en el nivel de un sistema operativo invitado si el sistema operativo invitado tiene un cliente NFS o un iniciador iSCSI. Por lo tanto, en la categoría de asignación de dispositivos sin procesar en la comparación entre VMware iSCSI y NFS, el ganador es iSCSI.

Rendimiento de iSCSI frente a NFS

En una implementación iSCSI por software, el rendimiento es ligeramente superior, pero la carga de 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 es más fluido y predecible. Cuando se realiza un gran número de operaciones de escritura, puede notar una degradación del rendimiento con un recurso compartido NFS.

Cuando se utiliza NFS en vSphere, es mejor utilizar NFS con compatibilidad con vStorage API for Array Integration (VAAI) en el lado del almacenamiento. VAAI permite crear discos virtuales thick provisioned en almacenes de datos NFS. Los discos Thin Provisioned se crean por defecto en almacenes de datos NFS. Tanto NFS como iSCSI admiten tramas Jumbo para mejorar el rendimiento de la red.

Al final de esta comparativa de velocidad iSCSI vs NFS, cabe mencionar que el rendimiento también depende del proveedor de la matriz de almacenamiento.

Acceso simultáneo

iSCSI no admite el acceso concurrente o paralelo de datos a un dispositivo de bloque. Es necesario compartir datos entre dos saltos. Sin embargo, se permite el acceso paralelo a nivel de un sistema de archivos que admita el acceso paralelo a archivos, por ejemplo, VMFS o GFS. Cuando se utilizan recursos compartidos iSCSI en VMware vSphere, el acceso concurrente a los recursos compartidos se garantiza en el nivel VMFS.

NFS admite el acceso simultáneo a los archivos compartidos mediante un mecanismo de bloqueo y un mecanismo de coherencia de cierre a apertura para evitar conflictos y preservar la coherencia de los datos. NFS v3 y NFS v4.1 utilizan mecanismos diferentes. NFS v3 puede utilizar el protocolo Network Lock Manager (NLM), y NFS v4.1 utiliza el bloqueo nativo especificado en el protocolo. Si se utiliza NFS v3 en VMware ESXi para acceder a recursos compartidos de archivos, ESXi no utiliza el protocolo NLM porque VMware proporciona su propio protocolo de bloqueo en este caso. Se crean archivos de bloqueo con el nombre.lck-file_id en un recurso compartido cuando se utilizan recursos compartidos NFS v3 en VMware vSphere.

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

Dificultad de configuración

Cuando se utiliza NFS, es más fácil configurar un servidor y un cliente. Utilizar iSCSI para configurar un almacenamiento compartido es más difícil. Es necesario configurar IQNs para almacenamiento y hosts; realizar una configuración del servicio iSCSI, LUNs y enmascaramiento; y configurar múltiples VLANs por razones de seguridad (aislar segmentos de red utilizados para la comunicación iSCSI para proporcionar un mayor nivel de seguridad).

Más información sobre los volúmenes virtuales de VMware que pueden utilizarse para almacenar datos de máquinas virtuales.

NFS vs iSCSI en VMware vSphere – Tabla resumen

Destaquemos las principales funciones de cada protocolo de compartición de datos en esta comparativa iSCSI vs NFS VMware en la tabla resumen.

iSCSI NFS
Intercambio 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 Medio Fácil
Arranque desde SAN No
Comprobación de errores
Funciones de seguridad CHAP Kerberos
Almacenamiento vMotion
DRS de almacenamiento

Conclusión

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

Ambos protocolos de compartición de 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. Evite los cortes de electricidad y otros fallos de hardware para evitar la pérdida de datos en su almacenamiento compartido. Utiliza fuentes de alimentación ininterrumpida y haz backups periódicos.

1 Year of Free Data Protection: NAKIVO Backup & Replication

1 Year of Free Data Protection: NAKIVO Backup & Replication

Deploy in 2 minutes and protect virtual, cloud, physical and SaaS data. Backup, replication, instant recovery options.

Artículos recomendados