Dietro due sigle poco amichevoli si nascondono due modi diversi di portare i dati in rete. iSCSI e NFS sono i protocolli più usati per collegare un sistema di storage ai server, soprattutto negli ambienti virtualizzati. Fanno lo stesso mestiere, ma ragionano all’opposto.
iSCSI lavora a blocchi. Al server lo storage appare come un disco locale, da formattare e gestire come se fosse inserito nel suo case. NFS lavora a file. Il server vede una cartella condivisa, mentre il file system resta nelle mani dello storage.
Un vincitore assoluto non c’è, e conviene diffidare di chi sostiene il contrario. A parità di rete e di hardware le prestazioni sono molto vicine. A cambiare sono la configurazione, la gestione dello spazio e, soprattutto, chi tiene il controllo dei dati.

Blocchi e file, la differenza di fondo
Per capire la differenza conviene partire da un disco qualsiasi. Il disco, in sé, è solo una lunga fila di blocchi numerati. È il file system, come NTFS, ext4 o VMFS, a organizzarli in file e cartelle.
Con iSCSI lo storage consegna al server proprio quella fila di blocchi grezzi. Si chiama LUN, unità logica. Il server la formatta con il suo file system e ne diventa il padrone. Lo storage non sa cosa ci sia dentro.
Con NFS il file system sta invece sullo storage. Il server chiede “apri questo file”, “scrivi in quest’altro”. Lo storage esegue, gestisce lo spazio e conosce ogni file che custodisce.
Una questione di controllo
Da questa differenza discendono quasi tutte le altre. Con iSCSI è il server, o l’hypervisor, a decidere come usare lo spazio. Con NFS è lo storage a farlo, e può quindi offrire funzioni a livello di singolo file: snapshot, copie, recupero di un solo documento.
Nel mondo VMware la distinzione è evidente. Su una LUN iSCSI l’host ESXi crea un datastore con il proprio file system, VMFS, pensato per essere condiviso da più host. Su NFS il datastore è una cartella esportata dallo storage, montata direttamente.
iSCSI: il disco che viaggia in rete
iSCSI porta i comandi SCSI, il linguaggio storico dei dischi, dentro i normali pacchetti TCP/IP. È nato come alternativa economica al Fibre Channel, che richiede reti e schede dedicate. iSCSI usa invece la comune rete Ethernet.
La configurazione richiede qualche passaggio in più. Ogni dispositivo ha un nome univoco, l’IQN. Lo storage deve sapere quali server possono vedere quali LUN: è il “LUN masking”. L’autenticazione avviene di norma con CHAP, un sistema a chiave condivisa.
I punti di forza
Il multipathing è l’asso nella manica. Un server può raggiungere la stessa LUN attraverso più schede e più percorsi di rete. Se un cavo o uno switch cede, il traffico passa dall’altra strada senza interruzioni. In vSphere questa funzione è gestita direttamente dall’hypervisor.
Conta anche la compatibilità, perché alcune funzioni richiedono un accesso a blocchi. Il Raw Device Mapping, che collega una macchina virtuale direttamente a una LUN, funziona con iSCSI e non con NFS. Lo stesso vale per alcuni cluster di sistemi operativi.
I limiti
iSCSI chiede più attenzione nella progettazione della rete. È buona pratica dedicargli una rete o una VLAN separata, per isolare il traffico e proteggerlo. Il traffico, infatti, di norma non è cifrato.
C’è poi la gestione dello spazio. Lo storage vede la LUN come un blocco unico e non sa quali parti contengano dati utili. Recuperare lo spazio liberato dalle macchine virtuali richiede meccanismi aggiuntivi.
NFS: la cartella condivisa che diventa datastore
NFS, Network File System, nasce negli anni Ottanta per condividere file tra computer Unix. Oggi è uno dei modi più semplici per collegare uno storage a un cluster di virtualizzazione.
La configurazione è immediata. Si crea una cartella sullo storage, si autorizzano gli indirizzi dei server e si monta il percorso. Nessun nome univoco da gestire, nessuna LUN da mascherare.
I punti di forza
Oltre alla semplicità, NFS ha dalla sua la gestione dello spazio. Su NFS i dischi delle macchine virtuali nascono di norma “thin”, cioè occupano solo lo spazio effettivamente usato. Lo storage vede ogni file e può recuperare lo spazio liberato senza passaggi complicati.
Anche ampliare un datastore è più facile. Basta aumentare lo spazio della cartella condivisa sullo storage. Con iSCSI occorre invece estendere la LUN e poi il file system sopra di essa.
Le versioni contano
vSphere supporta NFS 3 e NFS 4.1. La versione 3 è la più diffusa e la più collaudata. La 4.1 aggiunge il multipathing tramite il “session trunking” e l’autenticazione Kerberos, che può anche cifrare il traffico.
Attenzione, però: non tutte le funzioni di vSphere sono disponibili su NFS 4.1. Storage DRS, Storage I/O Control e Site Recovery Manager, per esempio, non la supportano. Prima di scegliere la versione conviene verificare la documentazione della propria release.
E le prestazioni?
Qui le discussioni tra tecnici si accendono, spesso più del necessario. Con hardware e rete equivalenti, la differenza è piccola. Molto dipende dall’implementazione dello storage e dalla qualità della rete.
iSCSI software può offrire qualche punto percentuale in più, al prezzo di un carico maggiore sulla CPU dell’host. NFS tende ad avere un comportamento più regolare. In entrambi i casi incidono di più altri fattori: dischi SSD o meccanici, cache, velocità della rete.
Qualche regola vale per entrambi: una rete ad almeno 10 Gbit/s dedicata allo storage e jumbo frame configurati in modo coerente su tutta la catena. I jumbo frame sono pacchetti più grandi del normale, che alleggeriscono il lavoro di CPU e switch. E poi backup regolari, qualunque sia il protocollo.
Come scegliere
In pratica, NFS è spesso la scelta più comoda per chi parte da zero, ha poco personale IT e vuole gestire lo spazio con semplicità. È adatto a datastore generici, ambienti di test, archivi di macchine virtuali.
iSCSI è preferibile quando servono funzioni a blocchi, multipathing gestito dall’host o applicazioni che lo richiedono espressamente. È una scelta frequente anche per i database più esigenti.
Molte infrastrutture, alla fine, li usano entrambi. Un’azienda con una trentina di macchine virtuali può tenere su NFS i server di servizio e affidare a una LUN iSCSI il database del gestionale. Gli storage di rete moderni, del resto, offrono i due protocolli sullo stesso apparato.
Prima di firmare l’ordine va controllato che lo storage risulti compatibile con la versione dell’hypervisor usata. Le guide dei produttori indicano protocolli, versioni e impostazioni supportate.
Per chi lavora con vSphere, il punto di partenza è la guida ufficiale Best Practices For Running NFS with VMware vSphere, utile anche per capire cosa cambia rispetto a iSCSI.