NFS vs iSCSI per l’accesso ai dati delle VM

NFS o iSCSI: quale protocollo scegliere per l’archiviazione dei file delle macchine virtuali VMware? Questa domanda sorge solitamente quando è necessario configurare uno storage condiviso per archiviare macchine virtuali (VM) che devono essere migrate tra host ESXi, per l’utilizzo di funzioni di raggruppamento, e quando non ci sono slot liberi per collegare dischi fisici al server.

Le organizzazioni che effettuano l’implementazione di VMware vSphere in un data center di grandi dimensioni preferiscono utilizzare Fibre Channel (FC) o Fibre Channel over Ethernet (FCoE), che sono costosi. Tuttavia, NFS e iSCSI risultano interessanti per i data center di piccole e medie dimensioni utilizzati per l’infrastruttura VMware vSphere, poiché l’hardware necessario per configurare la condivisione file con questi protocolli è più conveniente. Questo articolo del blog mette a confronto NFS e iSCSI, concentrandosi sul loro utilizzo in un’infrastruttura virtuale VMware vSphere.

NAKIVO per il backup di VMware vSphere

NAKIVO per il backup di VMware vSphere

Protezione completa dei dati per le macchine virtuali VMware vSphere e opzioni di ripristino istantaneo. Destinazioni di backup sicure onsite, offsite e nel cloud. Funzioni anti-ransomware.

Che cos’è NFS?

Il Network File System (NFS) è un protocollo di rete che consente di condividere file memorizzati su un disco o su un array di dischi di un server con altri computer presenti nella rete. NFS è stato sviluppato da SUN Microsystems e la prima versione è stata presentata nel 1984. Al momento della stesura di questo articolo, l’implementazione più recente di NFS è la versione 4.1. La versione 4.2 è in fase di sviluppo e non è ancora stata resa disponibile per l’uso in produzione.

Con ogni nuova versione di NFS sono state aggiunte nuove funzioni e miglioramenti, tra cui caratteristiche utili per lo storage in ambiente di virtualizzazione. NFS v4.1 fornisce un meccanismo che consente a più utenti di condividere lo stesso file e di garantire la coerenza dei dati (accesso parallelo). Sono supportati più thread per le operazioni.

NFS è il protocollo che opera a livello di applicazione del modello OSI (Open Systems Interconnect). I client accedono ai file inviando richieste di chiamata di procedura remota (RPC) a un server NFS per eseguire operazioni su file e directory presenti sul server NFS.

Le richieste RPC vengono trasmesse al protocollo XDR (eXternal Data Representation), che opera a livello di presentazione ed è lo standard per l’astrazione dei dati tra piattaforme. XDR descrive la forma unificata e canonica di rappresentazione dei dati che non dipende dall’architettura del sistema informatico. Quando un client trasmette dati, il client RPC trasforma i dati locali in una forma canonica, mentre il server esegue l’operazione inversa.

Una volta completata l’unificazione dei dati, il servizio RPC sul lato client garantisce la richiesta delle procedure remote e la loro esecuzione sul server (fornendo le funzioni del livello di sessione). A questo punto, la spiegazione dei livelli specifici di NFS termina. Avanti, i dati vengono incapsulati in unità di dati TCP o UDP standard e trasferiti agli strati sottostanti del modello OSI.

Strati OSI Protocolli
Applicazione NFS
Presentazione XDR
Sessione RPC
Trasporto TCP
Rete IP
Collegamento dati Ethernet
Fisico

Condivisione NFS condivide i dati a livello di file . Per implementare lo storage condiviso NFS è possibile utilizzare adattatori di rete standard con interfaccia Ethernet e porta RJ-45. Le versioni più datate di NFS funzionano su UDP attraverso la rete IP, mentre le versioni più recenti (NFS v2 e v3) possono funzionare sia su TCP che su UDP. NFS 4.0 e 4.1 utilizzano TCP su IPv4 come standard. NFS v4 funziona attraverso i firewall e via Internet.

VMware vSphere ESXi 6.0 e le versioni successive di ESXi supportano NFS 3.0 e NFS 4.1. ESXi include un client NFS integrato che si connette a un server NFS tramite TCP/IP. Per la connessione tramite le versioni NFS 3.0 e 4.1 vengono utilizzati due diversi client NFS. È possibile selezionare la versione NFS da utilizzare al momento della creazione di un nuovo archivio dati NFS. VMware non supporta le seguenti funzioni quando si utilizza NFS v.4.1:

  • Storage DRS
  • Storage I/O Control
  • Site Recovery Manager

L’utilizzo degli archivi dati NFS è pratico per l’archiviazione di modelli di VM e immagini ISO per l’installazione di sistemi operativi sulle VM.

Che cos’è iSCSI?

Internet Small Computer Interface (iSCSI) è un protocollo di rete che garantisce l’interazione tra oggetti (iniziatori e destinazioni) nella rete per la condivisione dei dati. Un iniziatore iSCSI viene configurato sul lato client, mentre il target iSCSI viene configurato sul lato server.

Gli iniziatori iSCSI possono essere di tipo software o hardware. Quelli hardware contribuiscono ad alleggerire il carico dell’unità di elaborazione centrale (CPU o processore) sul computer client e sono obbligatori per l’installazione di un adattatore hardware per bus host (HBA). Un HBA iSCSI hardware è un controller di interfaccia di rete (NIC) dotato di un’interfaccia Ethernet. In questo confronto tra iSCSI e NFS, prendo in considerazione l’uso di iniziatori iSCSI basati su software. Lo standard iSCSI è stato introdotto nel 2003 ed è descritto nella RFC 3720.

Lo standard iSCSI è il protocollo del livello di sessione (opera al livello 5 del modello OSI) che funziona sopra lo stack TCP/IP. I dati vengono condivisi a livello di blocco , a differenza di NFS ma in modo simile a FC. Questo è un punto importante nel confronto tra iSCSI e NFS. I comandi SCSI sono incapsulati in unità di dati TCP/IP e vengono trasferiti utilizzando reti Ethernet standard. Di conseguenza, un computer può inviare comandi SCSI a dispositivi di storage situati su un altro computer tramite la rete.

Livelli Descrizione
Applicazione File system, database, ecc.
SCSI Dati SCSI, comandi SCSI, stati SCSI
iSCSI Servizi del protocollo iSCSI, iSCSI Qualified Name (IQN), Internet Storage Name Service (iSNS), autenticazione CHAP, ecc.
TCP Un protocollo dotato di un meccanismo di controllo degli errori (di solito opera all’interno di uno stack TCP/IP)
IP Un protocollo per la comunicazione di rete e l’instradamento
Ethernet Switch, cavi, porte (connettori), protocolli

Nota: C’è un fatto interessante su come iSCSI possa essere utilizzato per Ripristino delle macchine virtuali VMware. Quando si utilizza Instant VM Recovery in NAKIVO Backup & Replication, ad esempio, per eseguire una VM su un host ESXi direttamente da un backup, la VM viene creata sull’host ESXi selezionato e i dischi virtuali vengono montati sulla VM utilizzando il protocollo iSCSI come dischi RDM in modalità di compatibilità virtuale.

VMware NFS vs iSCSI – Differenze chiave

Sia NFS che iSCSI possono funzionare su reti Ethernet da 1 gigabit e 10 gigabit (1GbE e 10GbE) con un’implementazione tramite cavi in rame. Una maggiore velocità di rete è preferibile. Maggiori informazioni su topologie di rete. Quando si utilizza un archivio dati condiviso in VMware vSphere per archiviare i file delle macchine virtuali, entrambe le implementazioni (NFS e iSCSI) possono essere utilizzate per la migrazione live delle macchine virtuali, il bilanciamento del carico e la migrazione delle macchine virtuali tra archivio dati. Entrambi i protocolli di condivisione presentano un overhead significativo causato dal meccanismo di incapsulamento multistrato dei dati sulle reti TCP/IP.

NFS è supportato sui dispositivi NAS della maggior parte dei vendor, ad esempio Synology e QNAP. Tuttavia, al giorno d’oggi non è difficile trovare un NAS che abbia il supporto per iSCSI.

Esaminiamo più dettagliatamente questo confronto tra VMware NFS e iSCSI.

Bilanciamento del carico

Quando un percorso di rete si guasta o è sovraccarico, il multipathing offre la possibilità di bilanciare il carico tra un server e lo storage se sono presenti più percorsi.

NFS 4.1 supporta il multipathing se sui server è disponibile il trunking delle sessioni (ma non il trunking dell’ID client). Di conseguenza, è possibile accedere a un singolo volume NFS da più indirizzi IP. Se si utilizza NFS v3, utilizzare il round-robin DNS per il bilanciamento del carico di rete.

In VMware vSphere, il multipathing iSCSI funziona a livello di adattatore di rete VMkernel. Per il bilanciamento del carico iSCSI in vSphere, è possibile utilizzare il port binding.

Caching

Quando si utilizza NFS, un file system dotato di cache si trova su un server NFS e il computer client deve verificare costantemente i metadati presenti sul server NFS. Le scritture asincrone dei dati sono supportate da NFS v3 e v4, ma gli aggiornamenti dei metadati sono sincroni.

Quando si utilizza iSCSI, il file system viene creato dal dispositivo client dopo aver ottenuto l’accesso allo storage condiviso a livello di blocco (come nel caso di VMware vSphere, dove un Host VMware ESXi crea il file system VMFS su un LUN iSCSI). Un criterio di cache viene definito dal file system per lo storage condiviso iSCSI e la cache del file system risiede sul lato client. Ad esempio, se si utilizza iSCSI come protocollo di condivisione e ext3 come file system, si dispone della cache di write-back completa per gli aggiornamenti dei dati e dei metadati.

I file system più moderni utilizzano l’aggiornamento asincrono dei metadati e il journal basato su log per il ripristino dei dati. In generale, l’aggiornamento asincrono dei dati (utilizzato in iSCSI) è meno affidabile in termini di persistenza dei dati e dei metadati rispetto all’aggiornamento sincrono, come quello utilizzato in NFS.

Affidabilità

NFS . Il teaming delle schede di rete (NIC) può essere utilizzato per proteggersi dai guasti di rete. Se una scheda di rete si guasta, un’altra scheda può continuare a funzionare.

iSCSI . L’architettura di archiviazione pluggabile (PSA) di VMware utilizza il plugin «Storage Array Type» per l’implementazione del failover quando si lavora con array iSCSI. Il binding iSCSI richiede la mappatura di più target iSCSI su sottoreti diverse all’iniziatore iSCSI.

Poiché sia iSCSI che NFS utilizzano il protocollo TCP per l’incapsulamento, la trasmissione dei dati viene verificata a livello di rete.

Il file system VMFS sullo storage iSCSI può risultare vulnerabile se si memorizzano con allocazione dinamica dischi virtuali per le VM. Un’interruzione di corrente può rendere un volume irrecuperabile. Il comportamento degli archivi dati NFS in tali situazioni è leggermente più affidabile. È possibile mitigare questi problemi eseguendo regolarmente Backup di VMware.

Sicurezza

Il traffico iSCSI non è generalmente crittografato, ma ciò non significa che non sia possibile proteggerlo. Per l’autenticazione delle condivisioni iSCSI è disponibile il supporto per l’uso di nome e password. Il protocollo CHAP (Challenge Handshake Authentication Protocol) consente al server e al client di assicurarsi di potersi fidare l’uno dell’altro.

NFS utilizza l’autenticazione basata sull’host. La configurazione predefinita di NFS non prevede la crittografia (sys=system), ma quando si utilizza NFSv4 con Kerberos abilitato (sec=krb5p), la connessione è sicura. Nella configurazione del server NFS, è necessario definire l’indirizzo IP dell’host autorizzato ad accedere alla condivisione NFS. È inoltre possibile definire più host o l’intera sottorete. Ad esempio, il noto protocollo di condivisione file SMB si basa sull’autenticazione basata sull’utente.

La configurazione di una VLAN dedicata o l’utilizzo di una rete fisica separata (privata) è la pratica consigliata per l’utilizzo di storage iSCSI e NFS condivisi in VMware vSphere. Questo approccio consente di isolare il traffico di storage da altri tipi di traffico. NFS v3 non dispone di funzioni di sicurezza simili a quelle presenti in NFS v4.1. Un server ESXi monta una condivisione NFS con accesso come root (quando non si utilizza Kerberos). Tenetelo quindi presente quando effettuate una configurazione sicura. Leggete anche VLAN e VXLAN.

NFS v.4.1 supporta l’autenticazione Kerberos con meccanismi di crittografia oltre al Data Encryption Standard (DES). Gli algoritmi crittografici di Kerberos impediscono agli utenti non autorizzati di accedere al traffico NFS. ESXi supporta le implementazioni krb5 e krb5i di Kerberos. ESXi 7.0 supporta la crittografia Kerberos di NFS 4.1 e il meccanismo di sicurezza AUTH_SYS (ma non contemporaneamente).

VMware NFS vs iSCSI – Raw Device Mapping

Quando si utilizza iSCSI come storage condiviso, è possibile configurare il raw device mapping per una macchina virtuale. Il Raw Device Mapping (RDM) è una funzione che consente di collegare l’intero disco fisico o LUN iSCSI a una macchina virtuale direttamente come dispositivo (anziché collegare un disco virtuale nella configurazione della macchina virtuale). L’approccio basato su RDM differisce da quello tradizionale, in cui si crea un archivio dati su un LUN (Logical Unit Number), si crea il file system VMFS e si memorizzano i dischi virtuali utilizzati dalle VM su quel archivio dati. L’RDM è possibile quando si utilizza iSCSI perché una condivisione iSCSI opera a livello di blocco e una VM può formattare un disco RDM a blocchi collegato con un file system personalizzato utilizzato dal sistema operativo guest installato sulla VM.

Per quanto riguarda NFS, l’utilizzo di una condivisione NFS per il collegamento come disco RDM non è supportato perché le condivisioni NFS operano a livello di file, mentre l’RDM richiede che ai dispositivi a blocchi siano collegati alle VM. Con le condivisioni NFS è possibile solo creare archivi dati NFS e memorizzare file di disco virtuale VMDK su tali archivi dati. È possibile montare una condivisione NFS e una condivisione iSCSI a livello di sistema operativo ospite se quest’ultimo dispone di un client NFS o di un iniziatore iSCSI. Pertanto, nella categoria della mappatura dei dispositivi raw nel confronto tra iSCSI e NFS di VMware, il vincitore è iSCSI.

Prestazioni iSCSI vs NFS

In un’implementazione iSCSI software, le prestazioni sono leggermente superiori, ma anche il carico della CPU sull’host client è maggiore. L’iSCSI comporta inoltre un carico maggiore sulla rete. iSCSI genera un maggiore traffico di rete e un carico di rete più elevato, mentre l’utilizzo di NFS risulta più fluido e prevedibile. Quando viene eseguito un numero elevato di operazioni di scrittura, è possibile notare un calo delle prestazioni con una condivisione NFS.

Quando si utilizza NFS in vSphere, è preferibile utilizzare NFS con supporto per vStorage API for Array Integration (VAAI) sul lato dello storage. VAAI consente di creare dischi virtuali con provisioning thick su archivi dati NFS. Per impostazione predefinita, sugli archivi dati NFS vengono creati dischi con provisioning thin. Sia NFS che iSCSI supportano i frame jumbo per migliorare le prestazioni di rete.

A conclusione di questo confronto di velocità tra iSCSI e NFS, va sottolineato che le prestazioni dipendono anche dal vendor dell’array di storage.

Accesso simultaneo

iSCSI non supporta l’accesso simultaneo o parallelo ai dati su un dispositivo a blocchi. I dati devono essere condivisi tra due hop. Tuttavia, l’accesso parallelo è consentito a livello di un file system che supporti l’accesso parallelo ai file, ad esempio VMFS o GFS. Quando si utilizzano condivisioni iSCSI in VMware vSphere, l’accesso simultaneo alle condivisioni è garantito a livello di VMFS.

NFS supporta l’accesso simultaneo ai file condivisi utilizzando un meccanismo di blocco e un meccanismo di coerenza “close-to-open” per evitare conflitti e preservare la coerenza dei dati. NFS v3 e NFS v4.1 utilizzano meccanismi diversi. NFS v3 può utilizzare il protocollo Network Lock Manager (NLM), mentre NFS v4.1 utilizza il blocco specificato dal protocollo nativo. Se si utilizza NFS v3 su VMware ESXi per accedere alle condivisioni file, ESXi non utilizza il protocollo NLM poiché in questo caso VMware fornisce il proprio protocollo di blocco. I file di blocco denominati con . lck-file_id vengono creati su una condivisione file quando si utilizzano condivisioni NFS v3 in VMware vSphere.

NFS v4.1 utilizza le prenotazioni per bloccare i file in caso di accesso simultaneo. Se si crea una condivisione file NFS, tutti i client devono utilizzare la stessa versione del protocollo NFS (ad esempio, tutti gli host ESXi si connettono alla condivisione tramite NFS v.4.1). Se due client incompatibili utilizzano versioni diverse di NFS per accedere ai file su un server NFS, potrebbero verificarsi comportamenti incoerenti e il danneggiamento dei dati.

Difficoltà di configurazione

Quando si utilizza NFS, è più semplice configurare un server e un client. L’utilizzo di iSCSI per configurare uno storage condiviso è più complesso. È necessario configurare gli IQN per lo storage e gli host; effettuare la configurazione del servizio iSCSI, dei LUN e del mascheramento; e configurare più VLAN per motivi di sicurezza (isolando i segmenti di rete utilizzati per la comunicazione iSCSI al fine di garantire un livello di sicurezza più elevato). Scopri di più su Volumi virtuali VMware che può essere utilizzato per archiviare i dati delle macchine virtuali.

NFS vs iSCSI in VMware vSphere – Tabella riassuntiva

Evidenziamo le funzioni principali di ciascun protocollo di condivisione dei dati in questo confronto tra iSCSI e NFS in VMware nella tabella riassuntiva.

iSCSI NFS
Condivisione dei dati A livello di blocco A livello di file
Mappatura dei dispositivi raw per le VM No
Difficoltà di configurazione Media Facile
Avvio da SAN No
Controllo degli errori
Funzionalità di sicurezza CHAP Kerberos
Storage vMotion
Storage DRS

Conclusione

Entrambi i protocolli di condivisione sono sufficientemente maturi per essere utilizzati in VMware vSphere. La differenza principale tra iSCSI e NFS è che iSCSI condivide i dati a livello di blocco, mentre NFS li condivide a livello di file. Le prestazioni sono pressoché identiche, ma, in alcune situazioni, iSCSI può fornire risultati migliori. I dischi RDM per le VM possono essere utilizzati con iSCSI ma non con NFS.

Entrambi i protocolli di condivisione di rete sono affidabili. Tuttavia, è comunque necessario utilizzare una soluzione di protezione dei dati di terze parti per evitare la perdita di dati e i tempi di inattività. Evitate interruzioni di corrente e altri guasti hardware per prevenire la perdita di dati sullo storage condiviso. Utilizzate gruppi di continuità (UPS) ed eseguite backup regolari.

Prova NAKIVO Backup & Replication

Prova NAKIVO Backup & Replication

Richiedi una prova gratuita per scoprire tutte le funzionalità di protezione dei dati offerte dalla soluzione. 15 giorni gratuiti. Nessuna limitazione in termini di funzionalità o capacità. Non è obbligatoria alcuna carta di credito.

Le persone leggono anche